Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
アドバイザーの使用
0本目から値を取得し、ローソク足が閉じるまで1ティックごとにバッファの値を変更します。そうです、実験してみましたが、本質的な問題は解決していません。 -- EAに、要求されたバーだけでなく、いくつかのバーの後ろにもインジケータバッファを 再計算させるにはどうしたらよいでしょうか。
解決策が見つかったかもしれない!そのうちのひとつは...
ただし、そのためには、特別なバージョンのインジケータを作る必要があります。
紳士の皆さん。
インジケーターを書いています: ...
int handle;
double indicatorBuffer[];
...
int OnInit()
{
...handleMA = iMA(_Symbol, _Period, periodMA, shiftMA, MODE_SMA,AppPrice);
...
}
int OnCalculate (const int rates_total, //配列 price[] のサイズ
const int prev_calculated, // 前回の呼び出しで処理したバー
const int begin, // 重要データの開始位置
const double& price[]) // 計算用の配 列
{
...ぽちぽち
質問は - どのようにハンドルMA = iMA(_シンボル、_期間、periodMA、shiftMA、MODE_SMA、AppPrice)はAppPriceは 何ですか知ってみましょう?
またはどのようにコードで使用するパラメータ タブから適用先:を 抽出する?
よろしくお願いします...
紳士の皆さん。
問題は、どのようにhandleMA = iMA(_Symbol, _Period, periodMA, shiftMA, MODE_SMA, AppPrice)にAppPriceが 何であるかを認識させるか、です。
または、コードで使用するために、Parameters タブからApply to: を抽出する方法は?
よろしくお願いします...
OnCalculate() を参照してください。
price[]配列として必要な時系列や指標の選択は、ユーザーが「Parameters」タブでインディケータを起動する際に行います。そのためには、「適用先」フィールドのドロップダウンリストで必要な項目を指定する必要があります。
![](https://c.mql5.com/3/1/applyto.png)
他のmql5プログラムからカスタムインジケータの値を受け取るには、iCustom() 関数を使用し、その後の操作のためにインジケータハンドルを返します。また、適切なprice[]配列や他のインジケータのハンドルを 指定 することも可能です。 このパラメータは、カスタム・インジケータの入力変数のリストの最後に 渡される必要があります。OnCalculate() を参照してください。
Rosh ありがとうございます。しかし、私の質問はまさにそれです。演算子には何を指定すればよいのでしょうか
ハンドルMA = iMA(_Symbol, _Period, periodMA, shiftMA, MODE_SMA, AppPrice)
をAppPriceにする?
利用可能なヘルプをよく読んでいます。暑さにやられたのか、 ...
Rosh ありがとうございます。しかし、私の質問はまさにそれです。ステートメントには何を指定すればよいのでしょうか
ハンドルMA = iMA(_Symbol, _Period, periodMA, shiftMA, MODE_SMA, AppPrice)
をAppPriceにする?
利用可能なヘルプをよく読みました。暑さにやられたのか、 ...
Rosh ありがとうございます。しかし、私の質問はまさにそれです。ステートメントには何を指定すればよいのでしょうか
ハンドルMA = iMA(_Symbol, _Period, periodMA, shiftMA, MODE_SMA, AppPrice)
をAppPriceにする?
利用可能なヘルプをよく読みました。暑さにやられたのか、 ...
熱ENUM_APPLIED_PRICE を AppPrice に指定する必要があります)
白鳥 ご清聴ありがとうございました。しかし、もしあなたが
input ENUM_APPLIED_PRICE AppPrice=PRICE_CLOSE; and first form
int OnCalculate (const int rates_total, // 配列の大きさ price[])
const int prev_calculated, // 前の呼び出しで処理されたバー
const int begin, //重要なデータの開始位置
const double& 価格[]) // 計算用配列
コンパイル時に「OnCalculate関数が2つ定義されています」という警告メッセージが表示されます。価格データ機能を使用します NameIndicator.mq5 (pg)
という配列は、3番目のタブ「パラメータ」のApply to: と同じでない限り、どのような方法でもAppPriceに結びつかないままです。
問題は、iMA()やintCalculate()の最初のフォームのような組み込みのシングルバッファインジケータが、price[]配列が何らかの形で使用可能かどうかということである。
は計算で使用されます。
他のインジケーターのデータで計算する場合は、インジケーターハンドルを指定します。または、指標の計算対象となる価格の種類。
私たち(というより私)は、何か誤解をしているようです。
実際、問題は、iMA()やintOnCalculate() の最初のフォームのような組み込みのシングルバッファインジケータを、price[]配列が何らかの形で計算で使用される場合に使用できるかどうかです。
。
私たち(というより私)は、何か誤解をしているようです。
問題は、iMA()タイプの組み込みのワンバッファ・インディケータと、price[]配列が何らかの理由でint OnCalculate()の第1形式を使用できるかどうかです。
は計算で使用されます。
AppPrice パラメータはOnCalculate()とは関係ありません。
価格定数の 値を与えるか(オプション1)、他のインジケータのハンドルを与えるか(オプション2)のどちらかを選択します。そして、できるようになる。
1stバリアント。
2ndバリアント。