コーディングの方法は? - ページ 89

 
shanyang:
私は、売買シグナルが出たときに緑と赤の矢印を表示するインジケータをダウンロードした。

このインジケータをベースに自分のEAを作りたいと考えています。

しかし、私はこのインジケータのex4ファイルしか持っていません(ソースコードなし)。

メインチャートに表示されている矢印を読み取り、売買注文(緑矢印==>買い、赤矢印==>売り)を出したいのですが、何か方法はありますか?

メインチャートに表示される矢印の情報を取得する方法はないでしょうか?

ありがとうございます。

矢印はインジケーターのバッファの値として描画されます。この場合、インジケーターのプロパティにある色でバッファの番号が分かるので、"ICustom() "関数で呼び出すのに十分です。また、ICustom() 呼び出しのパラメータとして、"Input "タブのすべての値を埋める必要があります。

矢印がバッファの値でない場合、それはオブジェクトです。それを選択すると、そのプロパティを見ることができます。ほとんどの場合、名前がどのように生成されるかを理解するのは簡単で、その後、ObjectFind()を使用する ことが可能になります。

EAはObjectsTotal()を監視し、それが増加したときだけ、最後のオブジェクトを認識しようとすることができます。名前がわからない場合、EA は OjectFind()を使うことができず、最後のオブジェクトを特定するためにすべてのオブジェクトをスキャンしなければなりません。最後のオブジェクトは明らかに最も高いインデックス(ObjectsTotal() - 1)を持つものではありませんが、おそらくより速く破壊できるため、最も高いインデックスからスキャンを開始する方がよいでしょう。ここで、例えばObjectGet()で取得したOBJPROP_TIME1とTime[0]やTime[1]を比較し、色や矢印の種類、名前の部分文字列をチェックし、買いシグナルや売りシグナルを識別しなければなりません。

複雑そうに見えますが、そうではありません。もし必要なら、もっと詳しいことを聞いてください。

 
Big Be:
前の返信が不完全でした。

MT4に標準搭載されているインジケーターであれば、通常の場所に表示されます。iCustomで呼び出された場合も、正しくコーディングされていれば表示されます。

以下のEAでは、チャートウィンドウにインジケータを表示させることもできます。勉強してみてください。

バウンシングピップEA_mpowerV42.mq4

bouncingPipEA_BigBear_v23.mq4

Big Be

Big Beさんありがとうございます、確認して みます。

 
Michel:
矢印は、インジケータのバッファの値として描くことができます。この場合、インジケータのプロパティにある色でバッファの番号を知ることができ、"ICustom() "関数でそれを呼び出すのに十分です。また、ICustom()の呼び出しのパラメータとして、 "入力" タブのすべての値を記入する必要があります。

矢印がバッファの値でない場合、それはオブジェクトです。それを選択すると、そのプロパティを見ることができます。ほとんどの場合、名前がどのように生成されるかを理解することは簡単で、その後、ObjectFind()を使用することが可能になります。

EAはObjectsTotal()を監視し、それが増加したときだけ、最後のオブジェクトを認識しようとすることができます。名前がわからない場合、EA は OjectFind()を使うことができず、最後のオブジェクトを特定するためにすべてのオブジェクトをスキャンしなければなりません。最後のオブジェクトは明らかに最も高いインデックス(ObjectsTotal() - 1)を持つものではありませんが、おそらくより速く破壊できるため、最も高いインデックスからスキャンを開始する方がよいでしょう。ObjectGet()で取得したOBJPROP_TIME1とTime[0]やTime[1]を比較して、色や矢印の種類、名前の部分文字列をチェックし、買いシグナルや売りシグナルを識別する必要があるのです。

複雑そうに見えますが、そうではありません。もし必要であれば、より詳細な情報を得ることができます。

素晴らしい説明だ、ミッシェル・・・。私のより100%完璧です

ありがとうございました。

FerruFx

 

EAのインディケータを変更する

私の持っているEAのインジケータを変更したいのですが、やり方がわかりません。

私はプログラマーではありませんし、実際このようなことにはあまり詳しくないのですが、以下は私がDiMAをMFA(14)に変更したい指標に関連する唯一の部分です。

60以上で買い、40以下で売りたい。

double diClose0=iClose(NULL,5,0);

double diMA1=iMA(NULL,5,7,0,MODE_SMA,PRICE_OPEN,0);

double diClose2=iClose(NULL,5,0);

double diMA3=iMA(NULL,5,6,0,MODE_SMA,PRICE_OPEN,0);

if(AccountFreeMargin()<(1000*Lots)){ (アカウント・フリー・マージン)

Print("資金がありません。フリーマージン = ", AccountFreeMargin());

return(0)。

if (!ExistPositions()){。

if ((diClose0<diMA1)){。

OpenBuy()を実行します。

return(0);

if ((diClose2>diMA3)){。

OpenSell()を実行。

return(0)。

}

誰か助けてください

デニス

 

MFAインジケーターの掲載をお願いします。 バッファを見る必要があります。 どのようなロジックでインジケータを切り替えたいのですか?

デイブ

 

MFIはindicatorsフォルダにないので投稿できないのですが、ツールバーのvolumesから取得できます。

DENIS

 
denis68:
MFIはindicatorsフォルダにないので投稿できませんが、ツールバーのボリュームで表示できます。

これか?Market Facilitation Index(マーケット・ファシリテーション・インデックス

ファイル:
mfi.mq4  3 kb
 

こんにちは、linuxerさん。それはないと思いますが、とにかくありがとうございます。

デニス

 
denis68:
こんにちは、linuxerさん。それはないと思いますが、とにかくありがとうございます。

すみません、名前を間違えてしまいました、あれです。

マネーフロー・インデックス.mq4、別名MFI.mq4です。