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

 

コードに追加され、2枚目以降のインジケータを印刷しない

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
  OnInit();
   for(int i = prev_calculated == 0 ? 0 : prev_calculated - 1; i < rates_total; i++)
   {
      Label1Buffer[i] = close[i];
   }
   return(rates_total);
}

---

何ができたか。

インジケータを3枚インストールし、ファイルをコンパイルして、1枚目から印刷ができた

2021.09.12 18:30:40.975 Create_button (BTCUSD,M30)      INIT SUCCEEDED: 1
 
Vitaly Muzichenko #:

しかし、入力パラメータを変更すれば、うまくいくのです。

フォーラムでこのようなメッセージを見ましたが、私が理解する限り、ターミナルは同じチャート上で同じパラメータでインジケータの2つのコピーを実行することはないようです。

 
Igor Makanu #:

フォーラムでこのようなメッセージを見ましたが、私が理解する限り、ターミナルは同じチャート上で同じパラメータを持つインジケータの2つのコピーを開始しません。

入力パラメータを変更せずに動作させるにはどうしたらよいですか?

何枚もインストールする必要がある、そんな作業です、残念ながら

 
Vitaly Muzichenko #:

入力パラメータを変えずに実行させるにはどうしたらいいでしょうか。defineから何かを追加するとか。

複数枚をセットする必要がある、そんな作業です、残念ながら。

フェイクパラメータを入力します。そして、それを1、2、3 ...と割り当てる。

 
Vitaly Muzichenko #:

入力パラメータを変えずに実行させるにはどうしたらいいでしょうか。defineから何かを追加するとか。

複数のコピーを設定する必要がある、これは残念ながらそのような課題です。

テンプレートを編集して2つのサブウインドウを作る方法を確認しました - チャートの上に1つ、地下に2つ目のサブウインドウを作る

インジケータをテンプレートに保存してみて、テンプレートでも同じように動作するようであれば、テンプレートのテキストにインジケータのコピーを追加してください。

 
Igor Makanu #:

テンプレート編集で2つのサブウインドウを作成する方法を確認しました。

インジケータをテンプレートに保存して、テンプレートでもこのトリックが使えるか試してみてください - インジケータのコピーをテンプレートのテキストに追加してください。

問題は、ランダムに異なる数を投げる必要があるので、決まった方法ではうまくいかないことです。

 
Igor Makanu #:

テンプレート編集で2つのサブウインドウを作成する方法を確認しました。

インジケータをテンプレートに保存し、テンプレートと同じ方法で動作する場合は、テンプレートのテキストにインジケータのコピーを追加してください。

3枚ダウンロードしましたが、OnInitは1度だけ動作しました。

入力値の変更 - 2番目のインジケーターが作動

3番目で色を変えてみました - 同様に機能しました


でも、どうやって自動化すればいいんだろう?

 

それなら、@Vladimir Karputovの ソリューションが受け入れられるとしか思えませんね。

長い入力パラメータを作ってランダムに呼び出し、大きなものをランダムに生成する、つまり長い

 
Igor Makanu #:

それなら、@Vladimir Karputovの ソリューションが受け入れられるとしか思えませんね。

長い入力パラメータを作ってランダムに呼び出し、大きなものをランダムに生成する、つまり長い

こんな感じでイメージしていたのですが、どう実装すればいいのでしょうか?

コードを表示してください

 
Vitaly Muzichenko #:

だいたい想像はついているのですが、どう実装すればいいのでしょうか。

コードを表示してください

やだ

プログラムで呼び出す場合は、パラメータをランダムに生成することができます

そして、手動で実行する必要があります、あなたはまだ入力-パラメータを変更する必要があります。


COUNT___ と random がありますが、__COUNT__ が どのように動作するかは確認していません- 静的で、ほとんど効果がないことがわかります。

理由: