記事"MQL5でExpert Advisorを書くための初心者向けステップバイステップガイド"についてのディスカッション - ページ 11

 
Grenjohn:

もう少し詳しく教えてください!Expert Advisorで、通常のタイマーのようにティックに関係なく、秒単位で明確にポジションをオープン、クローズ することは可能でしょうか?つまり、時計が12:52:25の場合、新しいティックを待たずにポジションがオープンされ、クローズも同じですか?

必要な頻度でタイマーを開始し、その中で必要な時間の発生を確認します。

または、トリガーに必要な時間(12:52:25 - 開始時間)を計算し、正確な間隔を設定します。

取引禁止にならないように、市場が閉まっていてもタイマーは作動します。

 
また、タイマーの開始方法や正確な間隔を設定する方法は、Expert Advisorのコードに記述する必要がありますか?
 
Grenjohn:
また、タイマーを開始する方法や正確な間隔を設定する方法は、EAのコードに書かれているはずです。
まず、検索を使って ください。
 
まあ、検索で見つけたから調べてみるよ!
 

Expert Advisorを特定の曜日にオープンし、特定の曜日にポジションをクローズ するようにプログラムすることは可能ですか?

 
Grenjohn:

Expert Advisorを特定の曜日にオープンするようにプログラムして、特定の曜日にポジションを オープンしたりクローズしたり することは可能ですか?

可能です。
 
Grenjohn:

Expert Advisorを特定の曜日にオープンし、特定の曜日にポジションをクローズ するようにプログラムすることは可能ですか?

可能です。
 
Dima_S:
できます。
同期的に))))
 

ありがとうございます。でも、このようなイベント(指定した時間)が発生したら、この関数が機能するはずだと理解していたのですが、なぜか機能しません。

ポジションが開かない!!?

extern int tp = 1000;

extern int sl = 1000;

extern double Lots = 0.2;

int ticket;

void OnStart()

{

datetime date1=D'2014.10.28.13.22.13';

if(OrdersTotal()==0)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);

}

if (OrdersTotal( )==1 && Hour( )==13 && Minute( )==23 && Seconds ( )>=00)

{

bool select1=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);

bool close1=OrderClose(ticket,Lots,Bid,20,Green);

}

return(0);

}

毎週(1週間に1回)、何月何日、何時何分、何秒何秒にポジションをオープンし、数秒後にクローズする必要があります。

 
Grenjohn:
お互いを尊重しよう。コードが 読めるように正しく挿入して ください。その方法はすでに説明しました。