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

 

イエデルキンさん、こんにちは。

すみません、以下がその回答です。

MqlParam params[5];
int ma_handle;

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].integer_value = clrBlue;
        
        ma_handle = IndicatorCreate( NULL, PERIOD_CURRENT, IND_MA, 5, params );
        if ( ma_handle != INVALID_HANDLE )
      {
        ChartIndicatorAdd( 0, 0, ma_handle );
      }

インジケーターは作成されますが、その色はREDです。

もうひとつ。前のメッセージは、あなたにではなく、stringoに向けたものでした。

ただし、MA指標パラメータを除く。

もし、少しでも気分を害されたのであれば、申し訳ありません。

敬具 ミカエル

 
Mikalas:

もうひとつ。前のメッセージは、あなたにではなく、stringoに向けたものでした。

普段は「こんにちは、ストリングスさん、イェデルキンさん!」と正確に読んでいるのですが。ウレインは昨日すでに、私が「行間を読めない」ことを指摘しています。

メインレスポンスから、params配列のゼロ化が行われていないことは明らかです(また、MqlParam 型の各変数は2つではなく、4つのフィールドを持っています)。また、IND_MA(iMA)インジケータには"Color "というパラメータがありませんが、あなたには ありますね」というコメントに対する答えが見当たりません。 iMAの 使用例はこちら: MQL5 Reference /Access to timeseries and indicators / IndicatorCreate "をご覧ください。

返されたエラーコードは指定されていない。

 

イェデルキン様

params 配列は静的配列 (params[5]) であるため,ゼロにする必要はなく,I

をすべて記入してください。ちなみに、2つ記入すれば十分です。3つのうちTYPEによると思います。

後続のフィールド

エラー なし(ma_handle != INVALID_HANDLE), インジケータが作成されます。

教えてください、写真のインジケーターにはいくつのパラメーターがあるのでしょうか?

単位料金区域

ミハイル

 
Mikalas:

エラーコードが ない場合、インジケータは作成されます。

最初に「このコードはうまくいくはずだった、しかし...残念だ...」と書いていますね。現在、「インジケータが作成 されている」ことが判明しました。 ...「エラーコードがない」へ - エラーコードはゼロであっても必ず存在します。

写真についてあなたは、質問を、あなたの意見では可能性のあるバグの議論に繰り返し還元しています。しかし、もともとIndicatorCreate() 関数を使うという話をされていますが、ご自身でも理解しているように、IndicatorCreate() 関数は画像では動き ません。 もう一度言いますが、ドキュメントとそのサンプルに目を通すことをお勧めします。パラメータタブに「スタイル」オプションが表示され、iMA インジケータの入力パラメータにそのようなオプション がない理由を探します(推測)。選択したインディケータにどのような入力パラメータが用意されているのか、そしてそのうちのどれを関数IndicatorCreate() に反映させればよいのかを確認します。

 

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

 
Mikalas:

教えてください、写真のインジケーターにはいくつのパラメーターがあるのでしょうか?

このタブには、7つのパラメータがあります。
 

iMA(4パラメータ)とは異なり、関数

IndicatorCreate関数は、可能なすべてのパラメータを入力する必要があります。

MQL5リファレンス。

int IndicatorCreate()
string symbol, // シンボル名
ENUM_TIMEFRAMES period, // period
ENUM_INDICATOR indicator_id, //ENUM_INDICATOR 列挙からの インジケータタイプ
int parameters_cnt=0, // パラメータの個
const MqlParam& parameters_array[]=NULL, // パラメータの配列
);

parameters_array[]=NULL

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

参考文献に送っているのに読んでいないのか?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Типы индикаторов - Документация по MQL5
 
Mikalas:

ガイドブックを紹介しているのに、自分は読んでいないのか?

さあ、どうぞ。そのようなやり方では、一人で悩みを抱え込んでしまうかもしれません。

本題に入ります。ハンドブックに目を通したということは、良いことだと思います。今度は同じページで開き直してください。次の行があります。「MqlParam型の配列で、その要素にはテクニカル・インジケータの 各入力パラメータの型と値が含まれています」。入力パラメータ」とは、「入力パラメータ」です(MQL5 Reference / MQL5Basics / Variables / Input variables)。では、「iMA テクニカル・インジケータの入力パラメータはいくつあるのか」という問いに対する答えを探します。

ミカラス

iMA(4パラメータ)とは異なり、IndicatorCreate関数は、すべての可能なパラメータを入力する必要があります。

では、iMAに4つの入力パラメータがある場合、IndicatorCreate()に何個の入力パラメータを「入力」すればいいのでしょうか?もう一度:IndicatorCreate()が画像で動作しない。より正確には、IndicatorCreate()は画像ではなく、インジケーターの入力パラメーターで動作し、それをインジケーターに直接渡します。インジケータに入力パラメータがない場合、「スタイル」画像オプションはどこに渡されるのでしょうか?
 

MAインジケータは7つのパラメータを持つ!

iMA機能には4つのパラメータが必要です。

ma_handle = iMA( _Symbol, TimeFrame, 10, 0, MODE_SMA, PRICE_MEDIAN );,

ただし、IndicatorCreate()関数では、7つの指標パラメータがすべて可能である必要があります。

parameters_array[]=NULL

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

もうひとつ...あなたの職業は何ですか?

 
Mikalas:

で、IndicatorCreate() では7つの指標パラメータがすべて可能でなければ なりません。

これはあなたの結論であり、あなたはそれに従わなければなりません :)サービスデスクがお手伝いします。