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

 

MQL4 では、インジケータ MODE_TE NKANSEN のラインとシフト(現在のバーに対するシフト)を指定することができます。

double TK = iIchimoku(NULL, PERIOD_CURRENT, Tenkan, Kijun, SenkouB, MODE_TENKANSEN, 0);

mq5で全く同じ関数を書くにはどうしたらいいですか?

一行書きましたが、エラー 'iIchimoku' - wrong parameters count Ichimoku.mq5 が出ます。

これは、TENKANSEN_LINE, 0に表示されるものです。

double TK = iIchimoku(NULL, PERIOD_CURRENT, Tenkan, Kijun, SenkouB, TENKANSEN_LINE, 0);
 
Zeleniy:

MQL4では、インジケータMODE_TE NKANSENとシフト(現在のバーからの相対的なシフト)でどのラインを使用するかを行で規定することができます。

全く同じ関数を5で書くとしたら、どのような書き方が正しいのでしょうか?

5で何が返ってくるのか?
iIchimoku
 
Zeleniy:

MQL4では、インジケータiIchimoku MODE_TE NKANSENとシフト(現在のバーからの相対的なシフト)の何行目に記述することができます。

5で全く同じ関数を書くにはどうしたらいいですか?

一行書きましたが、エラー 'iIchimoku' - wrong parameters count Ichimoku.mq5 が出ます。

TENKANSEN_LINE, 0 の行で、このように表示されます。

MQL5では、iIchimokuインジケータの入力が異なります。

int  iIchimoku(
   string           symbol,            // имя символа
   ENUM_TIMEFRAMES  period,            // период
   int              tenkan_sen,        // период Tenkan-sen
   int              kijun_sen,         // период Kijun-sen
   int              senkou_span_b      // период Senkou Span B
   );
Документация по MQL5: Технические индикаторы / iIchimoku
Документация по MQL5: Технические индикаторы / iIchimoku
  • www.mql5.com
Технические индикаторы / iIchimoku - Документация по MQL5
 

OnTesterPass()関数が最適化のすべてのパスの後に呼び出されず、常にいくつかの最適化パスをスキップします。 これは、フレームがループを使用して強制的に作成された場合でも発生します。

このテンプレートの最適化の 結果、端末のジャーナルのパス数は、最適化のために指定したパス数より常に5~20パス少なくなります。

遅い最適化とOnTesterPass()関数は、常にいくつかのパスのテストに失敗し、それらは検索されたものである可能性がある場合、何の目的ですか?

input int         StringReadOrSumma=1000;
//---
void OnTick()  {  }
//---
long PassNum;
string NameFrameStatistik="stat";
long FrameID_Statistik;
double OnTesterResult;
double ArrValueStatistik[];
//---
double OnTester()
  {
   ArrayResize(ArrValueStatistik,1);
   ArrValueStatistik[0]=StringReadOrSumma;
   if(!FrameAdd(NameFrameStatistik,FrameID_Statistik,OnTesterResult,ArrValueStatistik)) return(0.0);
   return(0.0);
  }
//---
void OnTesterPass()
  {
   if(!FrameNext(PassNum,NameFrameStatistik,FrameID_Statistik,OnTesterResult,ArrValueStatistik))
     { Print(__FUNCTION__,__LINE__);return;}

   static int numPass=0;
   numPass++;
   Print(ArrValueStatistik[0]," --- ",numPass);
  }
 
lewvik:

OnTesterPass()関数が最適化のすべてのパスの後に呼び出されず、常にいくつかの最適化パスをスキップします。 これは、フレームがループを使用して強制的に作成された場合でも発生します。

このテンプレートの最適化の 結果、端末のジャーナルのパス数は、最適化のために指定したパス数より常に5~20パス少なくなります。

もし、いくつかのパスをテストしないのであれば、遅い最適化とOnTesterPass()関数のポイントは何でしょうか?

一度に複数のフレームに対してイベントを発生させることができます。つまり、while(!FrameNext(...))のようなループでフレームを読み込む方が良いのです。)

 
antt:

一度に複数のフレームに対してイベントを発生させることができます。つまり、while(!FrameNext(...))などのループでフレームを読み込むのがよいでしょう。)

私はループ内のフレームを読んで、ループ内で作成しようとした、結果は同じです - いくつかのパスは、痕跡なしでどこかに消えます。 いくつかのフレームまたは1つは違いはありません作成。 なぜそうなのか? それはバグか私は何か間違っている、もしバグ - それは深刻な仮定だ、なぜ - 私は正しいパラメータを検索し、最終的に検索で失われた

サービスデスクからのお願い #1007598|2014.05.04 12:33

 

あるシンボルの1ロットをオープンするために必要な自由資金の量を 計算するためにMQL5でどのように私に伝えることができる人々、。

mql4では方法がわかったのですが、mql5では見つかりません。

 

このようなバグがEAテスターで検出されました。メタトレーダークライアント 5.930を構築。ブローカー:オトクライティフォルツァ

テスターでは、キャンセルされた注文が約定したかのように表示されます。2.0/2.0と書いてありますね。注文がキャンセルされただけですが。

デモ口座では、キャンセルされた注文は未約定(または一部約定)と表示されます。例えば、2.0/0.0や2.0/1.0などです。どちらが正しい行動なのか。

そのため、このバグは実際の実行数量の把握に支障をきたす。テスト時。

バグでしょうか?:)

 
harbor:

あるシンボルの1ロットをオープンするために必要な自由資金の量を 計算するためにMQL5でどのように私に伝えることができる人々、。

mql4では方法がわかったのですが、mql5では見つけられませんでした。

もしかしたら、こんな感じかもしれませんね。

Print("Margin=", SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL)); 
 
escoman:

このようなバグがEAテスターで検出されました。メタトレーダークライアント 5.930を構築。ブローカー:オトクライティフォルツァ

テスターでは、キャンセルされた注文が約定したかのように表示されます。2.0/2.0と書いてありますね。注文がキャンセルされただけですが。

メッセージをありがとうございました。修正しました。