//--- 入力パラメータ input int order_time=0; // オーダー開始時間
どちらのテスターも困るのは、datetimeは最適化できないということだ。それゆえ、この強制的な醜さなのだ。
私たちはもっと前にこの問題を解決すべきだった。
ZYのOnTesterInitはdatetimeを助けることができるが、誰もができるわけではない。
どちらのテスターも困るのは、datetimeは最適化できないということだ。それゆえ、このような醜態を強いられているのだ。
もっと前に何とかすべきだった。
ここで言っているのはdatetimeのことではない:
if(time_now_str.hour==order_time && work==true && work_day==true)作者が変数名に問題があるだけだ。
これはdatetimeではありません:
著者は変数名に問題がある私はこの記事を引用した行までしか読んでいない。しかし、datetimeの問題は存在する。時間はMQLだけでなく、人間的に言えばGUIでも最適化されるべきだ。
他の人が検査結果を知らされたらどうするのですか?それを知る方法はない
ええ、レポートにはそのような記載はありません。だからカスタムレポートは強力なんだ。特にMT5では。
代わりに
//+------------------------------------------------------------------+ //| エキスパート・ティック機能| //+------------------------------------------------------------------+ void OnTick() { //--- time_now_var=TimeCurrent(time_now_str);// 現在時刻 switch(time_now_str.day_of_week) { case 1: if(mon==false){work_day=false;} else {work_day=true;} break; case 2: if(tue==false){work_day=false;} else {work_day=true;} break; case 3: if(wen==false){work_day=false;} else {work_day=true;} break; case 4: if(thu==false){work_day=false;} else {work_day=true;} break; case 5: if(fri==false){work_day=false;} else {work_day=true;} break; }
の代わりにもっと単純なものを使う
//+------------------------------------------------------------------+ //| エキスパート・ティック機能| //+------------------------------------------------------------------+ void OnTick() { time_now_var=TimeCurrent(time_now_str);// 現在時刻 switch(time_now_str.day_of_week) { case 1: work_day=mon; break; case 2: work_day=tue; break; case 3: work_day=wen; break; case 4: work_day=thu; break; case 5: work_day=fri; break; } ...
非効率的なコードを見ると素通りできない。
私はそのコードをさらに詳しく調べることはしなかった。
代わりに
の代わりにもっと単純なものを使う
非効率的なコードを見ると素通りできない。
そのコードについては詳しく調べていない。
コメントありがとう。その癖はいいもので、私も時々やってしまいます......。
あなたの例:
//+------------------------------------------------------------------+ //| エキスパート・ティック機能| //+------------------------------------------------------------------+ void OnTick() { time_now_var=TimeCurrent(time_now_str);// 現在時刻 switch(time_now_str.day_of_week) { case 1: work_day=mon; break; case 2: work_day=tue; break; case 3: work_day=wen; break; case 4: work_day=thu; break; case 5: work_day=fri; break; } ...
率直に言って、私には理解できません。というのも、Expert Advisorの入力変数では、仕事が必要な曜日は「true」とマークされ、その日に仕事が必要ない場合は「false」となります。
そして、変数 "work_day "は "true "または "false "として答えを送ります。あなたの例では、変数は "string "型になるので、再度比較を行う必要がある。
このEAでは、コードの最適化は 優先事項ではありませんでしたが、私はコードの最適化に 賛成です。
この特定のコードは最適化できます:
//+------------------------------------------------------------------+ //| エキスパート・ティック機能| //+------------------------------------------------------------------+ void OnTick() { //--- time_now_var=TimeCurrent(time_now_str);// 現在時刻 work_day=true; switch(time_now_str.day_of_week) { case 1: if(mon==false){work_day=false;} break; case 2: if(tue==false){work_day=false;} break; case 3: if(wen==false){work_day=false;} break; case 4: if(thu==false){work_day=false;} break; case 5: if(fri==false){work_day=false;} break; }
コード・サイズは小さくなりますが、作業速度は変わりません。
関数の中にループを実装すれば、サイズは小さくなりますが、処理速度は遅くなります。
また、入力されるパラメーターを変更し、コードを変更することもできます。
work_day=false; switch(time_now_str.day_of_week) { case 1: if (mon) work_day=true; break; case 2: if (tue) work_day=true; break; case 3: if (wen) work_day=true; break; case 4: if (thu) work_day=true; break; case 5: if (fri) work_day=true; break; }
そのようなコードも提供できるだろう。しかし、「else」演算子を取り除くことで、ソースコードを半分だけ単純化したことになる。if」演算子も削除し、5つの代入演算子だけを残せば、最適な変形が得られる。これが提案されている最適な変形になる。
switch(time_now_str.day_of_week) { case 1: work_day=mon; break; case 2: work_day=tue; break; case 3: work_day=wen; break; case 4: work_day=thu; break; case 5: work_day=fri; break; default: work_day=false; // в субботу и воскресенье не торгуем... }
しかし、「文字列」型になる変数については まったく理解できない。

- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
新しい記事 アジアセッション中の夜間取引: どのように収益性を維持するか はパブリッシュされました:
この記事では、夜間取引の概念、および MQL5 におけるトレーディング戦略とその実装について扱います。 テストを通じ、適切な結論を下します。
黄色の長方形の上と下の境界線を見ることができます。 価格が変動するチャネルを制限します。 既に形成された図表のチャネルを引出すことは容易です。 しかし、リアルタイムで、どのように価格が移動するか見当がつかず疑問が残ります。 では、何をすべきでしょうか。
この問題を解決するには、レンジ時に良好なシグナルを表示するボリンジャーバンドトレンドインジケーターを使用します。
図3. EURUSD M30 にボリンジャーバンドを使用する
作者: Dmitriy Zabudskiy