MT4のEAで条件が満ちたら次の一時間足誕生時に発注するものです。簡略化してありま…

す。条件が来れば月曜の朝7時つまり今の時点でのマーケットオープン以外ではきちんと発注できています。それは実証済みです。

しかし逆に言えばマーケットオープン時のみ発注できない代物です。マーケットオープン時にも普通に発注できるようにするにはどうしたらいいでしょうか?当方MQL4猛勉強中です。アドバイスよろしくお願いします。

datetime t;
int start()
{
if(条件式){
if(Time[0]>t){
OrderSend(Symbol(),OP_SELL,等11項目指定);
t=Time[0];
}
}
return (0);

}

..[補足]..
なーるほどです。来週から夏時間ですが不具合等は無いでしょうか?ただ単に0時が一時間前に切り替わるだけだから大丈夫でしょうか?また、
if(Time[0]!=t){
のみはダメでしょうか?

回答1

以前、回答したら、ブッツリと質問を消されたものです。
大変親切な私はまた回答します。

確か、前の質問では次の重要な条件が書いてませんでしたよね?

「MT4のEAで条件が満ちたら次の一時間足誕生時に発注するものです。」

これなら理由は明確です。つまり、22時の次は、23時ですね。
では、23時の次は?0時でしょ。
だから、数式が成立しないのです。マーケットオープンではなく、MT4チャートでの0時での問題です。
なので、0時の場合だけは別条件で注文を成立させればいいのです。
例えば、
if(Time[0]>t || (Time[0]!=t && t==23)){
とか。

(補足を受けて)
参りました。
いつもそうしているのにスポッと抜けてました。
if(Time[0]!=t){
で正解です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA