もうしわけございません!!
T2のソースコード間違えておりました。
お気づきの方もいらっしゃると思いますが、T2のソースコードに抜けがありました。
いやー最近MQL4書いていなかったから基礎的なところで間違えてしまいました。
ポジションを確認するところでOrderSelectするのを忘れています。
ただしくはこちらです。
#property version "1.00"
#property strict
int d,i;
datetime OldTime;
string S;
extern double lot=0.01;//ロット
extern int M=2;//MAGIC NUMBER
void OnInit(){S=Symbol();}
void OnTick()
{
if(Time[0]!=OldTime)
{
OldTime=Time[0];
if(OrdTtl()){CS();}
else
{
if(RSI(1)>70&&RSI(5)<60){EntrySell();}
if(RSI(1)<30&&RSI(5)>40){EntryLong();}
}
}
}
void EntryLong(){d=OrderSend(S,0,lot,Ask,0,Ask-0.3,0,"T2",M);d=OrderSelect(0,0);}
void EntrySell(){d=OrderSend(S,1,lot,Bid,0,Bid+0.3,0,"T2",M);d=OrderSelect(0,0);}
double RSI(int P){return(iRSI(S,P,14,0,0));}
int OrdTtl(){int OT=0;for(i=OrdersTotal()-1;i>=0;i--){d=OrderSelect(i,0);if(OrderMagicNumber()==M){OT++;}}return(OT);}
void CS(){
if(!OrderType()&&OrderStopLoss()+0.3<Ask){d=OrderModify(OrderTicket(),OrderOpenPrice(),Ask-0.3,0,0,0);}
if( OrderType()&&OrderStopLoss()-0.3>Bid){d=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+0.3,0,0,0);}
}
勉強になります。
返信削除もう少しスプレッドが広くても使えそうですね。
スプレッド7程度は動きそうですね
削除この次のT3をもう少し改造してみようと思っています。
素敵なのができますように