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

 
ramis866:
どなたかEAの使い方を教えてください。
ヘルプ:EAの設定と実行を 参照してください。
 
みんな!タイムフレームを変更すると、EAが再起動されます。その結果、描画されたグラフィックはすべてデフォルトビューに戻されます。時間軸を変更しても再起動しないようにするにはどうしたらいいですか?
 
net:
みんな!タイムフレームを変更すると、EAが再起動されます。その結果、描画されたチャートはすべてデフォルトの外観に戻ります。時間軸を変更したときに再起動しないようにするにはどうしたらいいですか?

Expert Advisorのニュアンスを修正し、TF変更後にExpert Advisorで描画したチャートが正しく表示されるようにした方が良いでしょうか?

 
net:
みんな!タイムフレームを変更すると、Expert Advisor が再起動されます。その結果、描画されたチャートはすべてデフォルトビューに戻されます。時間軸を変更したときに再起動しないようにするにはどうしたらいいですか?

禁止することはできません。また、チャートの保存は必要でしょうか?例えば、MACDを例にとると、チャートの時間枠が 異なると、すべての構図は大きく異なります。またチャートプロットが必要な場合は、Expert Advisorのロジックを変更 する必要があります。

Expert Advisor とインジケータは、チャート期間の変更後に再起動する必要があります - これは関数 OnInit() - Init イベントのハンドラの論理です。

イニシャル

クライアント端末がプログラム(Expert Advisorまたはカスタムインジケータ)をロードし、グローバル変数の初期化を開始するとすぐに、Initイベントが送信され、OnInit() 関数(ある場合)によって処理されます。このイベントは、証券やチャートの期間が変わった後、MetaEditorでプログラムを再コンパイルした後、Expert Advisorやカスタムインディケータの設定ウィンドウから入力パラメータを変更した後にも生成されます。Expert Advisor もアカウント変更後、初期化されます。スクリプトの場合、Initイベントは生成されません。

 
barabashkakvn:

禁止することはできません。また、チャートの保存は必要でしょうか?例えば、MACDを例にとると、チャートの時間枠が 異なると、すべての構図は大きく異なります。またチャートプロットが必要な場合は、Expert Advisorのロジックを変更 する必要があります。

Expert Advisor とインジケータは、チャート期間の変更後に再起動する必要があります - これは、関数 OnInit () - Init イベントのハンドラの論理です。

私はあまり賛成できません。もちろん、再起動する必要がありますが、特にグラフィカルなオブジェクトの数が 多い多時間の指標/アドバイザーの場合、リソースの節約のために必要です - あなたは、初期化のいくつかの部分、特に、すでに構築されたの再計算をバイパスすることができます。つまり、論理的に(個人的には正しいと思うのですが)、初期化後にグラフィカルなコンストラクションが削除される場合、TFの変更の理由を(コンストラクションを削除せずに)処理する必要があるのです。必要であれば、オブジェクト自体を作り直さずに、TFでオブジェクトの見え方を調整するのがよいでしょう。
 
Tapochun:
ちょっと納得いかないですね。もちろん、再起動する必要がありますが、リソースを節約するために、ちょうどグラフィカルなオブジェクトの数が 多い多時間の指標/顧問のために - あなたは、初期化のいくつかの部分、特に、すでに構築されたの再計算をバイパスすることができます。つまり、論理的に(個人的には正しいと思うのですが)、初期化後にグラフィカルコンストラクションが削除される場合、TFの変更の理由は(コンストラクションを削除せずに)処理されるべきなのです。必要であれば、オブジェクト自体を作り直さずに、TFでオブジェクトの見え方を調整した方がよいでしょう。
すべてはプログラマーの手に委ねられているのです。
 

iCustomのバッファからdouble型の 変数の最小値を求める方法を教えてください(8個あります)。

配列で解決すると思うのですが、どう書けばいいのかわかりません。

ヘルプplz!

 

すべての人にこんにちは、フリーローダーとプロの両方、私は静かにパルクールの原理によって、フォーラムのすべての回顧録を再読する時間がない我々はMQを学ぶ.............

Vobsobschestvya現在の問題:私は例からパネルをダウンロードし、私のEAでそれを適応させ、今のタスクは、設定でこのパネルを有効または無効にすることです。

ということで、コードでは

私は変数で書きます。

input bool vkl =false;//パネルの削除

さらに説明する

もし

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- Вывести в журнал причину деинициализации
   Print(GetDeinitReasonText(reason));
//--- При удалении с графика
   if(reason==REASON_REMOVE)
      //--- Удалить все объекты с графика, которые относятся к информационной панели   
      DeleteInfoPanel();
      
     
  }

DeleteInfoPanel()を使用します。

if (vkl=false);

----------------

then an error or something else he doesn't understand me)) 。

例によって正しい方法をご存知の方、または例のあるファイルの場所を教えてください。

ファイル:
 
alhoya:

iCustomのバッファからdouble型の 変数の最小値を求める方法を教えてください(8個あります)。

配列で解決すると思うのですが、どう書けばいいのかわかりません。

ヘルプplz!

iCustomを使ってカスタムインジケータのハンドルを取得したら、OnCalculate()のCopyBufferを使ってカスタムインジケータの分析済みバッファから自分のバッファに値をコピーします。あとはArrayMinimumを使ってバッファの中の最小値を見つければいい。
 
aleks557:

...

何かを削除するには、まず作成 する必要があります。

void DeleteInfoPanel()
  {
   DeleteObjectByName("InfoPanelBackground");   // Удалить фон панели
   DeleteObjectByName("InfoPanelHeader");       // Удалить заголовок панели
//--- Удалить свойства позиции и их значения

そしてもう一つ、EAのプロパティを変更した場合(入力パラメータに条件trueを設定-EAを削除したい)、この条件ではパネルを削除することができないのです。

void OnDeinit(const int reason)
  {
//--- Вывести в журнал причину деинициализации
   Print(GetDeinitReasonText(reason));
//--- При удалении с графика
   if(reason==REASON_REMOVE)
      //--- Удалить все объекты с графика, которые относятся к информационной панели   
      DeleteInfoPanel();

  }

この条件は、チャートからExpert Advisorを削除した場合のみ機能します。

理由: