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

 
pisenysh:

コンパイル時にエラーが発生する。

'OrderSend'の戻り値をチェックする必要がある my_first_ea.mq5 211 10

何が間違っているのでしょうか?

これは間違いなくエラーなのでしょうか?
 
pisenysh:

コンパイル時にエラーが発生する。

'OrderSend'の戻り値をチェックする必要がある my_first_ea.mq5 211 10

何が間違っているのでしょうか?

コンパイラーは、取引関数の 実行結果を処理する必要があると言います。
 

こんにちは!質問してもいいですか?Expert Advisorは秒単位の精度で取引できますか?つまり、特定の時間や分だけでなく、特定の秒単位で取引を開始し、終了する必要がある場合はどうなりますか?

 
Grenjohn:

こんにちは!質問してもいいですか?Expert Advisorは秒単位の精度で取引できますか?つまり、特定の時間や分だけでなく、特定の秒単位で取引を開始および終了する必要がある場合はどうなりますか?

1分は100秒で構成されています。
 
server:
1分は100秒で構成されている。
年代記に書いてある)
 

理解できない!?1分は60秒で構成されています。例えば12:30にポジションをオープン するようにExpert Advisorをプログラムし、45秒後にトリガーする必要があります。12:30に設定するとすべてが機能し、取引が開始されますが、秒数を追加しようとすると機能しません。

 

以下はそのコードである:

extern int tp = 1000;

extern int sl = 1000;
extern double Lots = 0.01;
int ticket;
int start()
{
if(OrdersTotal( )==0 && Hour ( )==23 && Minute ( )==02 && Seconds ( )==30).
{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);
}
if (OrdersTotal( )==1 && Hour( )==23 && Minute( )==03 && Seconds( )==30)).
{
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
OrderClose(ticket,Lots,Bid,20,Green);
}
}
 
Grenjohn:

以下はそのコードである:

extern int tp = 1000;

extern int sl = 1000;
extern double Lots = 0.01;
int ticket;
int start()
{
if(OrdersTotal( )==0 && Hour ( )==23 && Minute ( )==02 && Seconds ( )==30).
{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);
}
if (OrdersTotal( )==1 && Hour( )==23 && Minute( )==03 && Seconds( )==30)).
{
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
OrderClose(ticket,Lots,Bid,20,Green);
}
}
Gy.Seconds() >= 30のチェックを設定する。これは、1秒がすぐに過ぎてしまい、その間にティックが1つも到着しない可能性があるからである。追記 コードスタイル(SRCボタン)でスタイルを設定するのが望ましい。
 
ありがとうございます!本当の問題は秒読みのスピードで、ダニがそれを通過する時間がなかったんだ。
 

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