12時間=720分
720分/5分足=144本
b=144
メール送信後、aに0を格納する
MQL5
1//グローバル変数 2int a=0; 3int b=144; 4 5void OnTick() 6{ 7//--ローソク足取得 8MqlRates rates[]; 9ArraySetAsSeries(rates,true); 10int copied=CopyRates(NULL,0,0,2,rates); 11//--1本足に1回実行する 12if(1<rates[0].tick_volume) 13return; 14 15a++; 16 17//〜省略〜 18 19if(a>b) 20{ 21//--メール送信 22SendMail("A", "A"); 23a=0; 24} 25}//--OnTick()終了
省略の所にリターンも含まれているので、バラバラにメールを受信するのは理解出来ます。早く受信する理由が分かりません。
if(1<rates[0].tick_volume)
が想定と違うのかと思い、下記コードを下の方に追加してみましたが、こちらは受信しませんでした。
MQL5
1if(1 != rates[0].tick_volume) 2{ 3SendMail("B", "ティック1じゃないよ"); 4return; 5}
あなたの回答
tips
プレビュー