[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 270

 

皆さん、こんにちは。

助けが必要 - EAでこれを行う方法を教えてください。

ある指標を別の指標に重ね合わせる?

最初のインジケータを呼び出すと、チャートから値を取得します。

どのように2番目のものを呼び出すと、1番目のものから値を取得できるのでしょうか?

できれば、例を挙げて(ミューウイングスを atpに当てはめてみよう)。

よろしくお願いします。

 

皆さん、コードの どこにエラーがあるのか、教えていただけませんか?Expert Advisorは購入のみ...ストップやテイクの後、バーが閉じるまで待ち、再び買う...。最初の数行で買いと売りを入れ替えると、そのまま売れてしまうのですが・・・。もしかしたらと思うと、教えてください...。

if (PerkyBuf1!=0 && OrdCon(MG)==0) {OrderOp(OP_SELL,Lots);  
    }  
    if (PerkyBuf2!=0 && OrdCon(MG)==0) {OrderOp(OP_BUY,Lots);  
    }
 }

return(0);
}


int OrderOp(int ord,double lot)  
{
   int ticket1;
   string ccm="";
   double l;
   bool SLTP;
   
   
   if (ord==OP_BUY) {
      l=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK), MarketInfo(Symbol(), MODE_DIGITS));
      ccm="pivot: BUY";
      ticket1=OrderSend(Symbol(),ord,lot,l,3,0,0,ccm,MG,0,White);
      if (ticket1!=0) {
            if (StopLoss!=0) {SL=NormalizeDouble(l-StopLoss*Point,Digits);}
            if (TakeProfit!=0) {TP=NormalizeDouble(l+TakeProfit*Point,Digits);}
            SLTP=OrderModify(ticket1,OrderOpenPrice(),SL,TP,0,Red);
            if (SLTP) {return(0);}
      } 
   }           
   
   if (ord==OP_SELL) {
      l=NormalizeDouble(MarketInfo(Symbol(), MODE_BID), MarketInfo(Symbol(), MODE_DIGITS));
      ccm="pivot: SELL";
      ticket1=OrderSend(Symbol(),ord,lot,l,3,0,0,ccm,MG,0,White);
      if (ticket1!=0) {
            if (StopLoss!=0) {SL=NormalizeDouble(l+StopLoss*Point,Digits);}
            if (TakeProfit!=0) {TP=NormalizeDouble(l-TakeProfit*Point,Digits);}
            SLTP=OrderModify(ticket1,OrderOpenPrice(),SL,TP,0,Red);
            if (SLTP) {return(0);}
 
Mihoi:

皆さん、こんにちは。

助けが必要 - EAでこれを行う方法を教えてください。

ある指標を別の指標に重ね合わせる?

最初のインジケータを呼び出すと、チャートから値を取得します。

どのように2番目のものを呼び出すと、1番目のものから値を取得できるのでしょうか?

できれば、例を挙げて(ミューウイングスをatpに当てはめてみよう)。

よろしくお願いします。

ATRインジケーター自体に 数行追加で入力します。

この問題を解決する良い例が、カスタムインジケーターグループの MACDインジケーターでしょう。

MACDインジケーターのコードを開いて、どのように行われるかを見てみましょう。

非常にシンプルなiMAOnArray()です。

 
ostrik:

皆さん、コードのどこにエラーがあるのか、教えていただけませんか?Expert Advisorは購入のみ...ストップやテイクの後、バーが閉じるまで待ち、再び買う...というものです。最初の数行で買いと売りを入れ替えると、そのまま売れてしまうのですが・・・。もしかしたらと思うと、教えてください...。


if (PerkyBuf1!=0 && OrdCon(MG)==0) {OrderOp(OP_SELL,Lots);  
    }  
    if (PerkyBuf2!=0 && OrdCon(MG)==0) {OrderOp(OP_BUY,Lots);  
    }
 } --- может, эта скобка лишняя???
 
ありがとうございます!試してみます。
 
DhP:



いや、ブラケットは大丈夫そうだけど...。
 
ostrik:

いや、ブラケットはいいんだけど...。

あなた方は、不完全な機能で不完全なコードを提供したことをほのめかしているようなものです。

実際には、Print orCommentが ルールです。

 
sergeev:

あなた方は、不完全な機能で不完全なコードを提供したことをほのめかしているようなものです。

一般的には、Print or Commentのルールです。


こんな難しいことを勉強しているのに、全く効果がないというのは...。手が合っていないような気がするのですが ))

 

インジケーターの線を 1本分進めるには?

#property copyright "autoforex"
#property link "http://www.autoforex.ru"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0

double Buffer1[];

int init()
{
SetIndexBuffer(0,Buffer1);
SetIndexStyle(0,DRAW_LINE);
return(0);
}
int start()
{
for(int i=0;i<Bars;i++)
{
Buffer1[i]=High[i];
}
return(0);
}

Buffer1[i]=High[i]; put Buffer1[i-1]=High[i]; の代わりにアイデアがあるのですが、残念ながら前方に描画されません(

 
tmt0086:

インジケーターの線を1本分進めるには?

#property copyright "autoforex"
#property link "http://www.autoforex.ru"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 2
#property indicator_style1 0

double Buffer1[];

int init()
{
SetIndexBuffer(0,Buffer1);
SetIndexStyle(0,DRAW_LINE);
return(0);
}
int start()
{
for(int i=0;i<Bars;i++)
{
Buffer1[i]=High[i];
}
return(0);
}

Buffer1[i]=High[i]; の代わりに Buffer1[i-1]=High[i]; を入れるというアイデアがあるのですが、残念ながら前方には描画されません(


じつげんされた