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

 
ivandurak:

Expert Advisorでファイルの読み込みにエラーが発生する。 10個の相違点を見つける。最初のコードはスクリプトを指し、2番目のコードはExpert Advisorを指し、これらは同じです。スクリプトでは動作しますが、Expert Advisor では動作しません。

10の違いを見つけるには、ファイルを開くコードを見る必要があります。(このオープンコードに、失敗した場合のエラーコードの出力を追加する)

次に、このファイルを使ってEAをテストしたい場合は、EAコードに #property tester_file "KitMaRsi.csv" という行を追加してください。

 
こんにちは。MQL4では、プログラム実行時にERR_HISTORY_WILL_UPDATED(4066)エラーが発生することがあります。 GetLastError()関数は、エラーコードを返す関数です。MQL5で同様のエラーはありますか?ここhttps://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes で検索してみましたが、同様のものは見つかりませんでした。
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения - Документация по MQL5
 
Druide:
こんにちは。MQL4では、プログラム実行時にERR_HISTORY_WILL_UPDATED(4066)エラーが発生する場合があり、そのコードはGetLastError()関数で返されます。MQL5で同様のエラーはありますか?ここhttps://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes で検索してみましたが、同様のものは見つかりませんでした。

エラーについては、何も言いません。端末自体がデータの同期をとっているので、データを同期(読み込み)させたり、履歴が同期されているかどうかを確認したりすることができます。

データアクセスの構成はこちら(履歴読み込みスクリプトの例あり)。

必要と思われる関数:SeriesInfoIntegerSymbolIsSynchronized

 
awkozlov:

文字変数を使った切り替えがうまくいかないようです...。

の代わりに。

'Type' - 不正なスイッチ式タイプ
買う」-定数式は積分ではない


テキストではなく、識別子を使用する。どちらがよりシンプルで論理的か...。

//Что-то типа такого (или свои идентификаторы). Написать функцию конвертирующую текст в идентификатор и обратно (при необходимости) достаточно просто.
//Да и выглядит это более профессионально в конечном итоге.
  switch(type)
  {
  case ORDER_TYPE_BUY: {direction = type;  price = SymbolInfoDouble(zSymbol,SYMBOL_ASK); break;}
  case ORDER_TYPE_SELL: {direction = type; price = SymbolInfoDouble(zSymbol,SYMBOL_BID); break;}
  default: {return(lot_value);}
  }

  switch(type)
  {
  case OP_BUY: {direction = ORDER_TYPE_BUY;  price = SymbolInfoDouble(zSymbol,SYMBOL_ASK); break;}
  case OP_SELL: {direction = RDER_TYPE_SELL; price = SymbolInfoDouble(zSymbol,SYMBOL_BID); break;}
  default: {return(lot_value);}
  }
 
awkozlov:

文字変数を使った切り替えがうまくいかないようです...。

その代わり

'type' - 不正なスイッチング式タイプ
買う」-定数式は積分ではない

こんな風に描かないといけないんだ。

あまりはっきりしないし、曲がっている。

他の言語でも問題なく使えます。

別の書き方をしたほうがいいのでしょうか?

こんなことをしました。

#define  OP_BUY               0
#define  OP_SELL              1
#define  OP_BUYLIMIT          2
 
Interesting:

エラーについては、何も言いません。端末自体がデータの同期をとっているので、データを同期(読み込み)させたり、履歴が同期されているかどうかを確認したりすることができます。

データへのアクセスの仕組みはこちら(履歴読み込みスクリプトの例あり)。

必要と思われる関数:SeriesInfoIntegerSymbolIsSynchronized

ありがとうございました。了解です。
 

MQL5のstdlib.mqh, WinUser32.mqh, stderror.mqhのようなライブラリのアナログはありますか?特に、PostMessageA関数に興味があります。

 

複数のエージェントで最適化を行う場合、結果は処理された順番に、つまり交互にチャート上に表示されます。MT4のように、パラメータの選択に応じて結果を表示する順番を決めることは可能ですか?つまり、後から来た結果が正しい順番で挿入されることになる。最適化の際に傾向や規則性を追うのは不便で、計算が終わってから結果を分析すればいいということです。

++:完全なブルートフォースによる最適化であり、当然ながら遺伝子の上では意味を成しません。

 
Konstantin83:

ハンドブックでの説明

実際

bool ObjectCreate()
long chart_id, //チャート識別子
string name, // オブジェクト名
ENUM_OBJECT type, // オブジェクトタイプ
intn win, // ウィンドウインデックス);


ありがとうございます、訂正しました。
 
x100intraday は、https://www.mql5.com/ru/forum/1111/page610#comment_130250 を書きました。

M1の ヘルプにあるiFractalsの サンプルコードを実行してみましょう。このコードでは、OnCalculate() 関数の呼び出しの2番目の形式(完全な形式)を使用しています。しかし、その前にこの関数の内部で次のように修正します。

まで

を1行で出力して見失わないようにするため(そのままにしておくと、他の値は稀ですぐに1に置き換わるので、視覚的には常に1が表示されるようです)。実行後、非単位値が毎分、つまり新しいバーごとに発生していることがわかります。これは、インジケータが毎分再描画されていることを明確に示しています。余すところなく を使用しているにもかかわらず、このコードでは経済的アルゴリズム.疑う人は、数行のコードを追加して、例えば各フラクタルに縦線を描き、最初の描画の後にそれを削除して、1分後に新しいバーで同じ線のフルセットが現れるのを待てばよい。最後のフラクタルやラインだけを仕上げるというものは、なぜか論外なのです。

はい、確かに、iFractals() 関数での例のインジケータは、組み込みインジケータからの値でそのインジケータバッファをリフレッシュ します。行の2番目の条件(黄色でハイライトされている)が「責められるべきこと」である。

//--- если это первый запуск вычислений нашего индикатора или изменилось количество значений в индикаторе iFractals
//--- или если необходимо рассчитать индикатор для двух или более баров (значит что-то изменилось в истории)
   if(prev_calculated==0 || calculated!=bars_calculated || rates_total>prev_calculated+1)
     {

説明:1目盛りごとにこれら2つの値が比較され、関数の最後に代入されます。

//--- запомним количество значений в индикаторе Fractals
   bars_calculated=calculated;

そして、その差は精神的なものにも生じます。

  1. フラクタル指標の計算対象となる履歴そのものが変化した(ユーザーによる履歴のページング)。
  2. バーイベントの発生

この場合、2つの事象の分離は行われていない、ということがわかりましたね。このような質問がないように、この例を修正するかどうかは、まだ何とも言えません。