初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 948

 

以下のようなデザインは、おおよそどのように見えるかアドバイスをお願いします。

1) 新しいティックが生成される - 条件が満たされる、例えば、このティックでパターン表示が描かれ、アラートが生成されます。

2) 上記条件が満たされた後、上記動作の同一動作の複数回の繰り返しを、時間が等しくなるまで停止する必要がある。

TimeCurrent() <= (time[index] + PeriodSeconds(PERIOD_CURRENT))

3) バーが次のバーに変わったらすぐに、上記の次の時間帯まで再び条件を再開する

このようなデザインは現実的でしょうか?

 
clickaider:

以下のようなデザインは、おおよそどのように見えるかアドバイスをお願いします。

1) 新しいティックが生成される - 条件が満たされる、例えば、このティックでパターン表示が描かれ、アラートが生成されます。

2) 上記条件を満たした後、上記同一動作の複数回の繰り返しを、時間が等しくなるまで停止させる必要がある。

3) バーが次のバーに変わったらすぐに、上記の次の時間帯まで再び条件を再開する

このようなデザインは現実的でしょうか?

もうほとんど自分でロジックを書いていますね...。

 
Artyom Trishkin:

もうほとんど自分でロジックを書いていますね...。

ロジックは正しくても、適切な機能を見つけることが問題なのです。この問題を解決するために、どのような関数や例文を適用すればよいのか、ご教示ください。

 
clickaider:

ロジックは正しくても、適切な機能を見つけることが問題なのです。この問題を解決するために、どのような関数や設計例を使用すればよいか、アドバイスをお願いします。

  1. 新しいティックが生成される - 条件が満たされた場合、例えば、このティックでパターン表示が描画され、アラートが生成されます。
    1. 次の2つの節で動作するように、条件を取得し、その条件のフラグを設定する関数が必要です。
    2. パターンを描画する機能が必要
    3. アラートを送信する機能が欲しい(関数である必要はなく、アラートのみ、メールのみ、プッシュのみの標準関数がある)
  2. 上記の条件が満たされた後、上記のアクションの同じアクションの複数回の繰り返しの実行を、...に等しい時間まで停止させる必要があります。
    1. 上記のステップ1から 3つのステップが既に終了しているフラグがある場合は、何もせずにステップ3へ、そうでない場合はステップ1へ 進む
  3. バーが次のバーに変わったらすぐに、上記の次の時間帯まで条件を再スタートさせる
    1. 新しいバーを 定義するための関数が必要です。新しいバーが定義されたらすぐにポイント1へ、そうでない場合はポイント2へ
 

よろしくお願いします。

enumのリストを持っています。

enum ENUM_Target_NAME 
  {
   arr_Buy,
   arr_Sell,
   arr_Svod,
   arr_Regr,
   arr_200,
   arr_100,
   Target_25_iD,
   Target_50_iD,
  };
input ENUM_Target_NAME Target=ENUM_Target_NAME(5);

値を文字列に したい、つまりテキストにしたいのですが、この方法ではうまくいきません。

(string)Target

私は単にリストから変数値の番号を受け取り、私はテキスト、例えば "arr_100 "のようなリストの実名が必要です。

どうすればいいのか?

 
Aleksey Vyazmikin:

よろしくお願いします。

enumのリストを持っています。

値を文字列に したい、つまりテキストにしたいのですが、この方法ではうまくいきません。

私は単にリストから変数値の番号を受け取り、私はテキスト、例えば "arr_100 "のようなリストの実名が必要です。

どうすればいいのか?

EnumToString()

 
Artyom Trishkin:

EnumToString()

ありがとうございました。

 
Nauris Zukas:

これらの<> 記号が何を意味するのか、ドキュメントへのリンクを教えてください。

これはテンプレート方式です。その中のパラメータの型は、この括弧の中で渡された型に従って照合される。型は、プログラムをコンパイルする段階で静的に決定されます。詳しくは、「関数とクラスのテンプレート」https://www.mql5.com/ru/docs/basis/oop/templates をご覧ください。

Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Перегруженные функции обычно используются для выполнения похожих операций над различными типами данных. Простой пример такой функции в MQL5 - ArraySize(), которая возвращает размер массива любого типа. На самом деле эта системная функция является перегруженной, и вся реализация такой перегрузки спрятана от разработчика программ на MQL5: То есть...
 
Nauris Zukas:

こんにちは!私は、データ処理とリソースへの 保存のために.mqhを作りました。すべてうまくいくのですが、ニュアンスが違っていて、インジケータをコンパイルすると、.mqhがリセットされて、保存のためのウェイト処理をやり直します。ターゲット -リソースにデータが ある 限り、リセットされることはありません。エラーの場所、修正方法を教えてください。

リソースは、静的な(永続的な)変更不可能なデータを保持するために設計されています。あなたの仕事は、データの入ったファイルをダウンロードし、インジケーターのメモリ内のデータを変更し、新しいデータをファイルに保存することですので、インジケーターの再起動と再コンパイルの後、新しいデータをダウンロードすることになります。リソースがあればできるわけではありません。

 
Vasiliy Sokolov:

リソースは、静的(一定)な変更不可能なデータを保持するために設計されています。このタスクでは、データを含むファイルをロードし、インジケーターのメモリ内でこのデータを変更し、新しいデータの重みをファイルに保存し、インジケーターをリロードして再コンパイルした後に新しいデータをロードできるようにする必要があります。リソースがあればできるわけではありません。

なるほど、ありがとうございます

理由: