[アーカイブ!】アドバイザーの書き方を無料公開中 - ページ 14

 
romeoboy писал(а)>>

批判しないでください!私はプログラミング言語を学ぶためにインジケータを書きました。

しない!勉強しなさい

インジケーターの計算をExpert Advisorに挿入し、テキストに応じて(または変数を数値に置き換えて)Expert Advisorに何をすべきかを指示します。

 
vvavva >> :

しない!勉強しなさい

>> さて、Expert Advisorにインジケータの計算を挿入し、テキストによって(または変数を数値に置き換えて)Expert Advisorに何をすべきかを指示します

もう少し具体的に教えてください。例を書く

 
if(text=="I")
{
//действие советника 1
}
if(text=="A")
{
//действие советника 2
}
.......
и т.д.
 
vvavva >> :

何かうまくいかない!どうやら私の語学力が低いようです。インジケータを書き始めて2週間、今度はEAを書き始めて2週間。もしよろしければ、私のインジケータを元にEAを書いていただけませんか?数行ですが、私は頭が悪いのでできません。ご賛同いただけるのであれば、参入条件を書かせていただきます

 
romeoboy писал(а)>>

何かうまくいかない!ちょっと言葉が錆びついてるんだろうな。インジケータを書き始めて2週間、今度はEAを書き始めて2週間。もしよろしければ、私のインジケータをベースにしたEAを作成していただけませんか?数行ですが、私は頭が悪いのでできません。ご賛同いただければ、参入条件を書かせていただきます

いえいえ!勉強している人は、どんどん勉強してください!例題もたくさんありますし、「KimIVの便利な関数」という 便利な枝もありますよ。

自分のための時間を見つけることができると思います。

 
vvavva >> :

いえいえ!勉強しているなら、どんどん勉強してください!例題もたくさんありますし、「KimIVの便利な関数」という 便利な枝もありますよ。

自分のための時間を作ることができると思います。

でも、EAの中でどのようにインジケータを宣言すればいいのか、また、(if(text=="I"))の行の(text)が何であるかをEAがどのように知ることができるのかを教えていただければと思います。(拙稿参照)

 
romeoboy писал(а)>>

OK、ありがとうございます、しかし、EAで私のインジケータを宣言する方法と、EAが(if(text=="I"))行の(テキスト)が何であるかを知る方法を教えてください。(上の投稿を参照)

エキスパートアドバイザーで同じことができるのなら、なぜインジケータが必要なのでしょうか!

int start()
{
  double O, C, H, L, O1, C1, H1, L1, O2, C2, H2, L2;
  string text;
  //будет обработка 1000 баров меняй как вздумается
  int limit=1000;
  if(Bars< limit) limit=Bars;
  //---- last counted bar will be recounted
  for(int i=1; i< limit; i++) 
  {
    O=iOpen(NULL,0, i);
    C=iClose(NULL,0, i);
    H=iHigh(NULL,0, i);
    L=iLow(NULL,0, i);
    
    O1=iOpen(NULL,0, i-1);
    C1=iClose(NULL,0, i-1);
    H1=iHigh(NULL,0, i-1);
    L1=iLow(NULL,0, i-1);
    O2=iOpen(NULL,0, i+1);
    C2=iClose(NULL,0, i+1);
    H2=iHigh(NULL,0, i+1);
    L2=iLow(NULL,0, i+1);

    text="";
    {
      
    }
    
    if (( H> O+0.0001)&&( H< O+0.0001*6)&&( O> L+0.0007)&&( C== H)) text="X";
    if (( H> O+0.0001)&&( H< O+0.0001*6)&&( O> L+0.0007)&&( H> C+0.0000)&&( H< C+0.0004)) text="I";
    if (( O> C+0.0001)&&( O< C+0.0001*6)&&( C> L+0.0007)&&( H== O)) text="L";
    if (( O> C+0.0001)&&( O< C+0.0001*6)&&( C> L+0.0007)&&( H> O+0.0000)&&( H< O+0.0004)) text="A";
    
    if (( C> O+0.0001)&&( C< O+0.0001*6)&&( H> C+0.0007)&&( L== O)) text="X1";
    if (( C> O+0.0001)&&( C< O+0.0001*6)&&( H> C+0.0007)&&( L< O-0.0000)&&( L> O-0.0004)) text="I1";
    if (( O> C+0.0001)&&( O< C+0.0001*6)&&( H> O+0.0007)&&( L== C)) text="L1";
    if (( O> C+0.0001)&&( O< C+0.0001*6)&&( H> O+0.0007)&&( L< C-0.0000)&&( L> C-0.0004)) text="A1";
    
    if (( O== C)&&( H== O)&&( L< H-0.0007)) text="T";
    if (( O== C)&&( H== O)&&( L> H+0.0007)) text="T1";
    //If we found a special candlem write in the Chart
    if( text!="")
    {
      ObjectCreate(DoubleToStr( i,0)+" label", OBJ_TEXT, 0, Time[ i], H);
      ObjectSetText(DoubleToStr( i,0)+" label", text, 20, "Arial", Red);
    }
  }
  
}
EAにいれて、チェックしてみてください
 

これは指標として、ただ全部は入りませんでしたが、このスタイルでもう1つ作ることができます。

ファイル:
123_2.mq4  4 kb
 
こんにちは、FX_Sniperの_Ergodic_CCI_Triggerインジケータに基づいたEAを書いて いただけませんか?
 
皆さん、こんにちは。昨日の高値から10pips上の買いストップオーダーと昨日の安値から10pips下の売りストップ オーダーを同時に保留して くれるEAがあればありがたいです。 変えて欲しいパラメータ:テイクプロフィット、トレーリングストップ、ストップロス、昨日の高安からのポイントオープンオーダー数です。ありがとうございました。