エラー、バグ、質問 - ページ 2908

 

コードベースに関する質問は、より適切なスレッドがあれば、そちらに移動してください。これらの「バグ」は長すぎて、おそらくMQはあまりよく読んでいないのでしょう。

そんな悩み。MQL Wizardのために、標準ライブラリに 付属する限られたセットではなく、ユーザーによってカスタマイズ可能で、任意の指標を使用するユニバーサルシグナルを生成するモジュールを公開したいのです。新しいモジュールを使って生成したExpert Advisorをmq5コードで添付します。しかし、モジュールのポイントはカスタマイズにあるので、もちろんハードコードされた信号はありません。その結果、Expert Advisorは取引も自動検証も行われない。

問題解決のための選択肢は?

 
Stanislav Korotky:

コードベースに関する質問は、より適切なスレッドがあれば、そちらに移動してください。これらの「バグ」は長すぎて、おそらくMQはあまりよく読んでいないのでしょう。

そんな悩み。MQL Wizardのために、標準ライブラリに 付属する限られたセットではなく、ユーザーによってカスタマイズ可能で、任意の指標を使用するユニバーサルシグナルを生成するモジュールを公開したいのです。新しいモジュールを使って生成したExpert Advisorをmq5コードで添付します。しかし、モジュールのポイントはカスタマイズにあるので、もちろんモジュール内にハードコードされた信号はありません。その結果、Expert Advisorは取引も自動検証も行われない。

問題解決のための選択肢は?

私はEAの時間差注文を回避して、mt4のOnInit.でSLとTPを指定して注文を出しました。私は半年前にバリデーションに合格しました。

また、テスターにあれば注文を出し、なければ飛ばすという条件も設定しました。検証はテスターで行う。

 
Stanislav Korotky:

コードベースに関する質問は、より適切なスレッドがあれば、そちらに移動してください。これらの「バグ」は長すぎて、おそらくMQはあまりよく読んでいないのでしょう。

そんな悩み。MQL Wizardのために、標準ライブラリに 付属する限られたセットではなく、ユーザーによってカスタマイズ可能で、任意の指標を使用するユニバーサルシグナルを生成するモジュールを公開したいのです。新しいモジュールを使って生成したExpert Advisorをmq5コードで添付します。しかし、モジュールのポイントはカスタマイズにあるので、もちろんハードコードされた信号はありません。その結果、Expert Advisorは取引も自動検証も行われない。

問題解決のための選択肢は?

しかし、デフォルトではこれらのパラメータは自動的に設定されず、手動で選択するためのメニュー項目がテスターに追加されるだけであることがわかりました。

 
Stanislav Korotky:

ランチャーのラッパーを#property tester_setディレクティブを使って作ることができると思ったのですが、デフォルトではこれらのパラメータを自動的に設定せず、手動で選択するためのメニュー項目をテスターに追加するだけであることがわかりました。

また、#property tester_file ディレクティブ "DefaultSettings.tpl" を試してみました。指定されたファイルはルートフォルダ内のエージェントにコピーされますが、自動的には適用されません(少なくともExpert Advisorの設定に関しては)。

 
Aleksei Ostroborodov:
商品評価、投票数、レビューは説明文の中に存在するが、マーケットプレイスには表示されない https://www.mql5.com/en/market/
具体的なケースを解決していただき、ありがとうございます。
しかし、他の製品についてはどうでしょうか?他にも4つのEAで同じような状況になっています。毎回リンクを貼った方がいいのでしょうか?
 

テスターはEA最適化 中に新しい実行ごとに「設定」タブに切り替わりますが、エージェントの状態を制御する方法はなく、ただ別のタブに逃げてしまいます。今日気がついたのですが、現在ビルド2697です。

ローカルエージェントに偏った数のタスクを配布し、そのうちのどれもが実行されない



何かアイデアはありますか?

Как в MetaTrader 5 быстро разработать и отладить торговую стратегию
Как в MetaTrader 5 быстро разработать и отладить торговую стратегию
  • www.mql5.com
Скальперские автоматические системы по праву считаются вершиной алгоритмического трейдинга, но при этом они же являются и самыми сложными для написания кода. В этой статье мы покажем, как с помощью встроенных средств отладки и визуального тестирования строить стратегии, основанные на анализе поступающих тиков. Для выработки правил входа и...
 
CopyTicksで指定時間前のティックを取得するにはどうすればよいですか?
 
fxsaber:
CopyTicksで指定時間前のティックを取得する方法は?

まあ、ウィンドウの最大バーが無制限ならね。

というようなことなのでしょう。

MqlTick Prev_Tick(ulong t) {  // t - время в миллисекундах
   MqlTick ticks[];
   int bar =iBarShift(_Symbol,PERIOD_M1,t/1000); 
   if (bar>=0 && CopyTicksRange(_Symbol,ticks,COPY_TICKS_ALL,iTime(_Symbol,PERIOD_M1,bar)*1000,t)>0) 
      return ticks[ArraySize(ticks)-1];
   else {
      MqlTick tick;  // если до заданного времени нет тиков возвращаем пустой тик.
      return tick;
   }
}

を確認したが、偏りはなかった。

バイパスバー(iBarShift)の場合、時間が週末に当たった場合、最も近いティックを見つけることは非常にコストがかかる可能性があります。


 
Nikolai Semko:

バー(iBarShift)を使用しない場合、時間が週末にかかると、最も近い目盛りを見つけるのにかなりのコストがかかることがあります。

そう、右の刻みは初歩的なもの、左の刻みは恐ろしいものです。

 
fxsaber:

そう、右のダニは初歩的、左のダニは恐ろしいのです。

うん。
足りないのは、関数内で

int  CopyTicks( 
   string           symbol_name,           // имя символа 
   MqlTick&         ticks_array[],         // массив для приёма тиков 
   uint             flags=COPY_TICKS_ALL,  // флаг, определяющий тип получаемых тиков 
   ulong            from=0,                // дата, начиная с которой запрашиваются тики 
   uint             count=0                // количество тиков, которые необходимо получить 
   );

count パラメータが int で、その関数が負のカウント値、すなわち逆方向のカウント値をサポートする場合。