ICustom機能 - ページ 20

 
Jeeves:
どなたか親切な方で、'Advanced_ADX' インジケータを使用できるように、以下のものを再作成していただけませんか? 私はそれが 'icustom' 関数を使用する必要があることを知っているが、私はそれを行う方法を知っている。

//h1データ

double h1adm = iadm(NULL,PERIOD_H1,2,MODE_CLOSE);

//h4データ

double h4adx = iadx(NULL,PERIOD_H4,2,MODE_CLOSE);

//d1データ

double d1adx = iadx(NULL,PERIOD_D1,2,MODE_CLOSE);

//色の定義

色 color_h1, color_h4, color_d1;

//文字列の定義

文字列 arrow_h1, arrow_h4, arrow_d1;

//h1上昇トレンド

if (h1adx < Bid ) { color_h1 = ColorUpGood; }.

//h1 ダウントレンド

if (h1adx > Bid ) { color_h1 = ColorDownGood; } //h4 アップトレンド

//h4アップトレンド

if (h4adx < Bid ) { color_h4 = ColorUpGood; } //h4 ダウントレンド

//h4ダウントレンド

if (h4adx > Bid ) { color_h4 = ColorDownGood; } //d1上昇トレンド

//d1アップトレンド

if (d1adx < Bid ) { color_d1 = ColorUpGood; } //d1 ダウントレンド

//d1 ダウントレンド

if (d1adx > Bid ) { color_d1 = ColorDownGood; }.

このような使い方をします。

double h1adp=iADX(NULL,PERIOD_H1,ADXPeriod,PRICE_CLOSE,MODE_PLUSDI, 0)とします。

double h1adm=iADX(NULL,PERIOD_H1,ADXPeriod,PRICE_CLOSE,MODE_MINUSDI,0);

if (h1adp > h1adm ) { color_h1 = ColorUpGood; }.

if (h1adp < h1adm ) { color_h1 = ColorDownGood; } とします。

そして、あなたがテストしたいすべての時間枠のためにそれを行う(あなたは他の数字で最後の0を置き換えたいかもしれません - 0 => 現在のバー、1 => 最初のクローズドバーなど)

 

プログラミングの問題 2つの質問 pls ヘルプ (ログファイル)(カスタムインジケータ/ スタンダードインジケータ)

こんにちは私は私がこの問題を解決するのを助けることができる誰かを見つけることができることを望みます、私は非常に感謝します

  • 最初の状況。
  • Metatraderの様々な標準的な指標の計算に基づいて、マルチチャンネルフィルターインディケータを開発しました。

    この指標は、私たちの専門家アドバイザーで使用するために考案されました。課題は、次のとおりです。

    各ティックで、これらの標準的な指標に基づくすべての計算は、無数のログエントリを引き起こすということです。

    このため、私たちの取引は遅れています。

    それは、ログエントリを回避することは可能ですか?

  • 問題を解決するための我々の試み。

我々は、標準的な指標のようにプログラムされたカスタム指標を得た。我々は、異なる指標によって使用される標準的なコースの計算を変更しようとしました。しかし、これらは期待された結果をもたらしません。

標準のコース計算を使用することで、標準のインジケータはカスタムインジケータと同じ結果をもたらします。しかし、コース計算を変更することで

カスタム指標と対応する標準指標に差異が生じるのでは?

どのコース計算を選択しても、標準のインジケーターと同じように動作するカスタムインジケーターを得ることはできますか?

 
spongebozz:
こんにちは、私はこの問題を解決するために私を助けることができる誰かを見つけることを願っています、私は非常に感謝します
  • 当初の状況
  • メタトレーダーの様々な標準的な指標の計算に基づいて、マルチチャンネル・フィルター指標を開発しました。

    この指標は、私たちのエキスパートアドバイザーで使用するために考案されました。課題は、次のとおりです。

    各ティックで、これらの標準的な指標に基づくすべての計算は、無数のログエントリを引き起こすということです。

    このため、私たちの取引は遅れています。

    それは、ログエントリを回避することは可能ですか?

  • 問題を解決するための我々の試み

我々は、標準的な指標のようにプログラムされたカスタム指標を得た。我々は、異なる指標によって使用される標準的なコースの計算を変更しようとしました。しかし、これらは期待された結果をもたらしません。

標準のコース計算を使用することで、標準のインジケータはカスタムインジケータと同じ結果をもたらします。しかし、コース計算を変更することで

を変更すると、カスタム指標と対応する標準指標に差異が生じるのでしょうか?

標準のインジケータと全く同じ動作をするカスタムインジケータは可能ですか(どのコース計算を選択しても)?

こんにちは、Spongebozzです。

ご質問の最初の部分、ログが大きすぎてシステムの速度が低下していることについてです。

ログは、おそらくPRINTステートメントから作成されます。

ログへの印刷を止めたいPRINT文の前に2つの右(//)スラッシュを置くことで、PRINT文を削除 または空白にすることができます。

// Print("This is an example"); The // will blank out the code line and not Print to the log...(コード行を空白にし、ログに印刷しない)。

もし、すべてのPRINT文を空白にしたい場合は、検索と置換を行います。

検索してください。プリント

置換// プリント

インジケータの種類は、標準かカスタムかは関係ないはずです。

重要なのは、削除したり、空白にする必要のあるPRINT文がたくさんある場合だけです...

そして、後でいつでも戻って、必要なPRINT文を空白にし、他の文は空白のままか完全に削除することができます。

お役に立てれば幸いです。

ロバート

 

皆さん、こんにちは。

私はバイナリーオプションのEAを作っているのですが、インジケータからの「シグナル」をEAで受け取りたいと思っています。ご存知のように、バイナリーオプションはプットかコールしかできないので、iCustomが私のインジケータを聞いて、私のEAでプットとコールをするようにしたいのです。理にかなっていますか?

では、どうすればいいのでしょうか?

インディには、このようなものを置く必要があります。

// PUT

if (AlignsForAput == true){

PutBuffer[] = 1;

}

// CALL

if (AlignsForAcall == true){

CallBuffer[] = 1;

}

PutBuffer[] = 0;

CallBuffer[] = 0;

この仕事をする方法についての良い例を書くのを助けてください。私は何を書く必要があり、どこにそれを書くのですか?

ありがとうございます。

 

どなたか、インディコードとEAコードがどのように見えるか、簡単な例を書いていただけると本当にありがたいのですが私の質問については、上記をご覧ください。

 
SantaClaus:
どなたか、インジコードとEAコードがどのように見えるか、簡単な例を書いていただけると本当にありがたいのですが私の質問については、上記をご覧ください。

インジケーターについては、こちら(https://www.mql5.com/en/forum/173032)とこちら(https://www.mql5.com/en/forum/173054)をご覧ください。

EAについては、こちら(https://www.mql5.com/en/forum/173136)とこちら(https://www.mql5.com/en/forum/1 73171)をご覧ください。

 

つまり、iCustomを 上記の目的に使用 する良い例があると言うことですか?

 
SantaClaus:
つまり、上記の目的のためにiCustomを使用する方法について、良い例があるとおっしゃるのですね?

はい、それはまさに私が言っていることです(あなたは「インディコードとEAコードがどのように見えるかの簡単な例」を求めました - それらのスレッドはあなたを助けることができます)。

 
mladen:
はい、それはまさに私が言っていることです(あなたは「インディコードとEAコードがどのように見えるべきかの簡単な例」を求めていました - それらのスレッドはあなたを助けることができます)。

いいえ、どのリンクも、私が最初の質問で望んだようにiCustomを使用する 方法を説明していません。

 
SantaClaus:
いいえ、どのリンクも、私が最初の質問で望んでいるように、iCustomの使い方を説明していません。

iCostom()の使い方を詳しく説明しているスレッド(このスレッドの最初のページに行くだけです)に投稿しているのに、その方法が見つからないのですか?

以下はその簡略版です.

_________________________

iCustom

指定されたカスタム指標を計算し、その値を返します。

[TABLE](テーブル double iCustom()

stringsymbol, // シンボル

inttimeframe, // タイムフレーム

stringname, // カスタムインジケーターコンパイルプログラムのパス/名前

... // カスタムインジケータの入力パラメータ(必要な場合)

intmode, // ラインインデックス

intshift// シフト

);[/TD]

[/TR]

[/TABLE]

パラメータ

シンボル

インジケータを計算するデータ上のシンボル名。NULLは 現在のシンボルを表します。

タイムフレーム

タイムフレーム。ENUM_TIMEFRAMESの 列挙値のいずれかを指定することができます。0は現在のチャートのタイムフレームを意味します。

名前

カスタムインディケータのコンパイルプログラム名で、indicatorsのルートディレクトリ(MQL4/Indicators/)からの相対的な名前です。もしインジケーターがサブディレクトリ、例えばMQL4/Indicators/Examplesにある場合、その名前は"Examplesindicator_name" と指定しなければなりません(セパレーターとしてシングルではなく、ダブルバックスラッシュ "\" を指定しなければなりません)。

...

カスタムインジケータの入力パラメータを カンマ区切りで指定します。

入力されたパラメータとその順序は、カスタムインジケータの外部変数の宣言順序と型に対応していなければなりません。入力パラメータの値が指定されていない場合、デフォルト値が 使用されます。

モード

行番号。0〜7で、SetIndexBuffer() 関数の呼び出しで指定したインデックスに対応する必要があります。

シフト

指標バッファから取得した値のインデックス(現在のバーから指定した期間分前に相対的にシフトします)。

返される値

指定されたカスタムインジケータの数値。カスタムインジケータはコンパイルされ (*.EX4 ファイル)、terminal_directoryMQL4 Indicators ディレクトリに存在する必要があります。

テーブル] [TABLE

[TR]

[TD]double val=iCustom(NULL,0,"SampleInd",13,1,0); [/TABLE] このようにします。

_________________________

追記:「Line index.Can be from 0 to7"はメタトレーダーのドキュメントにあるエラーですが("Line index. Can be from 0 to511"とすべき)、彼らが公式にドキュメントを変更しない限り、私は彼らのiCustom()関数の定義に固執するつもりです。

ハッピーコーディング

理由: