標準インジケーターの色 - ページ 4

 

1.これはMoving Averageでは ありません!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

移動平均線とカストム移動平均線をチャートに貼る !

単位料金区域

Moving Average - their 7のパラメータはこちらです!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2.はい?では、なぜコードから変更できないのでしょうか?

 
Mikalas:

1.これはMoving Averageではありません!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

移動平均線とカストム移動平均線をチャートに貼る !

2.はい?では、なぜコードから変更できないのでしょうか?

1.あなたの主張には厳密な証明が必要です

2.なぜなら、色は計算に何の影響も与えないからです。なぜなら、Expert Advisorからインジケータを作成 すると、インターフェース部分がなく計算部分だけが作成され、Expert Advisorとしては意味がないからです。

 
Mikalas:
...

2.はい?では、なぜコードから変更できないのでしょうか?

もう一度お聞きします。

できない理由を知りたくありませんか。

または

開発者に「できるはずだ」と言いたいのでしょうか?

 
Mikalas:


以下は、Moving Averageの入力パラメータです。7つあります!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

なぜ7なのか?リンクをたどって お読みください。

int  iMA(
   string               symbol,            // имя символа
   ENUM_TIMEFRAMES      period,            // период
   int                  ma_period,         // период усреднения
   int                  ma_shift,          // смещение индикатора по горизонтали
   ENUM_MA_METHOD       ma_method,         // тип сглаживания
   ENUM_APPLIED_PRICE   applied_price      // тип цены или handle
   );

シンボル周期を除くと、4つの入力パラメータのみ

 

ウレイン!

なぜできないのかを知り、開発者に「こうあるべきだ!」というメッセージを伝えたい。

ストリングス

何のために写真を掲載したのか?

iMAの参照ではなく、IndicatorCreate()の参照に移動します。

を、よく読んでみてください。

int  IndicatorCreate(
   string           symbol,                            // имя символа
   ENUM_TIMEFRAMES  period,                            // период
   ENUM_INDICATOR   indicator_id,                      // тип индикатора из перечисления ENUM_INDICATOR
   int              parameters_cnt=0,                  // количество параметров
   const MqlParam&  parameters_array[]=NULL,           // массив параметров
   );

ここでMqlParam

parameters_array[]=NULL

[MqlParam型の配列で、テクニカルインジケータの 各入力 パラメータの型と値が格納されています。

ちなみに、Custom Moving Averageの入力パラメータは3つだけです!

移動平均はCustom Moving Avarageではない!?

iMA()関数はインジケーターのチャートに簡単に追加するためのもので、IndicatorCreate()関数は高度な作成を行うためのものです。

例:FileCreate()、FileCreateEx()など。

ミハイル

 

Mikalas:

[in]MqlParam 型の配列で、その要素には各テクニカルインジケータの 入力パラメータの型と値が含まれています。

カラーはテクニカル指標の入力パラメータではありません。
 
Mikalas:

ウレイン!

なぜできないのかを知り、開発者に「こうあるべきだ!」というメッセージを伝えたい。

ストリングス

何のために写真を掲載したのか?

iMAの参照ではなく、IndicatorCreate()の参照に移動します。

を、よく読んでみてください。

ここでMqlParam

parameters_array[]=NULL

[MqlParam型の配列で、テクニカルインジケータの 各入力 パラメータの型と値が格納されています。

ちなみに、Custom Moving Averageの入力パラメータは3つだけです!

移動平均はCustom Moving Avarageではない!?

マイケル

インジケータでの計算やExpert Advisorでの分析に必要なパラメータ(計算に不要なものや使用しないものも含む)は、すべてカスタム(自作)インジケータの入力変数に登録することが可能です。これらのパラメータは、インジケータをチャートにアタッチする際や、Expert Advisorからプログラムで呼び出す際に利用可能です。

アンドレイ

 

同業者の皆様へ

移動平均の 場合は、入力です

移動平均のコードはありませんが、カスタム移動平均のコードはあります。

テクニカルサポートに手紙を書きました。彼らが何を言うのか見てみましょう。

ミハイル

 
Mikalas:

ウレイン!

なぜできないのかを知り、開発者にそのようにすべきと伝えたい

まず、標準のインジケータとカスタムインジケータのインターフェースの比較は、全く正しくありません。

スタンダード・インジケータは、最適化が施されたインジケータで、ご覧のようにインターフェイスが若干異なっています。

Now why not

インジケータの色がプリプロセッサーディレクティブで設定されている場合、それが最初にロードされ、その後に入力パラメータがロードされます。

MQL5には#if #endifの例外がないため、少なくともプリプロセッサーディレクティブは外から見て不変である。

の場合、カスタムプリプロセッサーディレクティブを作成することはできません。

この状況を打開する方法は、上記の方法で、色をインスタンスに入れ、PlotSetで明示的に設定する...。

 

ウレイン!

移動平均のコードがない!?

プリプロセッサーと何の関係があるのですか?

インジケーターを作ってから 色を変えるなんてことはしない!

インジケータはカラーパラメータで作成されます。

params[0].type = TYPE_INT;
        params[0].integer_value = 10;
        
        params[1].type = TYPE_INT;
        params[1].integer_value = 0;
        
        params[2].type = TYPE_INT;
        params[2].integer_value = MODE_SMA;
        
        params[3].type = TYPE_INT;
        params[3].integer_value = PRICE_MEDIAN;
        
        params[4].type = TYPE_COLOR;
        params[4].double_value = clrBlue;
        
        ma_handle = IndicatorCreate( NULL, PERIOD_CURRENT, IND_MA, 5, params );
        if ( ma_handle != INVALID_HANDLE )
      {
        ChartIndicatorAdd( 0, 0, ma_handle );
      }

ミハイル