[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 927

 
RekkeR:
この例で、あまり難しいことでなければ、つっこんでいただけますか。
:)))

int init()
{
int draw_begin;
string short_name;
//---- drawing settings
SetIndexStyle(0,DRAW_LINE);
SetIndexShift(0,MA_Shift);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
if(MA_Period<2) MA_Period=13;
draw_begin=MA_Period-1;
//---- indicator short name
switch(MA_Method)
{
case 1 : short_name="EMA("; draw_begin=0; break;
case 2 : short_name="SMMA("; break;
case 3 : short_name="LWMA("; break;
default :
MA_Method=0;
short_name="SMA(";
}
IndicatorShortName("");
SetIndexDrawBegin(0,draw_begin);
//---- indicator buffers mapping
SetIndexBuffer(0,ExtMapBuffer);
SetIndexLabel(0,"");
//---- initialization done
return(0);
}
それが助けになるはずです。
 

投稿を編集しようとすると、文字が多すぎて、変更したまま貼り付けられません。

これは、コードの編集部分なのか、それとも余分な部分なのでしょうか?

 
dimon74:
こんにちは、皆さん、アドバイスをお願いします: スリッページ- 最大スリッページの値をpipsで指定します。それは何なのか、何のためなのか。いつもゼロに設定しています。変えることに意味があるのかもしれません。証券会社で変更することはできますか?ありがとうございました。

スリッページは、ブローカーが取引を開始するときの最大スリッページ値で(つまり、まだ自分にとってさらに悪い価格で取引を行いたい)、2または3または5に設定する必要があります。"0 "は、実際の市場状況でブローカーに定義する許容範囲が小さすぎる。

 
RekkeR:

投稿を編集しようとすると、文字が多すぎて、変更したまま貼り付けられません。

これは、コードの編集部分なのか、それとも余分な部分なのでしょうか?


修正が必要なのはinit()関数だけです

また、SRCボタンはコードの貼り付けに 使用します

 
Vinin:


init()関数のみを修正する必要があります。

そして、SRCボタンは、コードの挿入に使用します

ビクターありがとう、週末に自分で勉強してみるよ、コーディングって面白いね。

結果をご報告します!

 

まんさん、このスレで100回くらい同じ質問すると怒るのはわかる。

初心者の私にとっては、何でも自分でやるのが面白いので、必ず自分で理解します

初心者かもしれない、自分で解決する、何でも自分でやるのは面白い。

以前から興味はあったのですが、やはりEAを見るとはまりますね。

もしかしたら、EAではなく、DCに問題があるのでは?

extern double StopLoss=1000.0;
extern double TakeProfit=1000.0;
extern double Lots=1.0;
extern int total;


int start() {

int dg;
double Price_1,Price_2,min,max,pa,pb,pt;

pt=MarketInfo(Symbol(),MODE_POINT);
dg=MarketInfo(Symbol(),MODE_DIGITS);
pa=MarketInfo(Symbol(),MODE_ASK);
pb=MarketInfo(Symbol(),MODE_BID);
Price_1=pb;
Price_2=pa;
min=iLow(NULL,0,2);
max=iHigh(NULL,0,2);
total=OrdersTotal();

double slB=NormalizeDouble(pa-StopLoss*pt,dg);
double tpB=NormalizeDouble(pa+TakeProfit*pt,dg);
double slS=NormalizeDouble(pb+StopLoss*pt,dg);
double tpS=NormalizeDouble(pb-TakeProfit*pt,dg);

  if(total<1) 
  {
   if(Price_1>max)
      OrderSend(Symbol(),OP_BUY,Lots,pa,2,slB,tpB,"My order#",16384,0,Green);

   if(Price_2<min)
      OrderSend(Symbol(),OP_SELL,Lots,pb,2,slS,tpS,"My order#",16384,0,Green);
  }

}

ヘルプ?

 
artmedia70:

履歴から注文を探し、見つかったらその終値OrderClosePrice()とStopLoss OrderStopLoss()のレベルを比較します。

もし、同じであれば、そのポジションはストップロスで決済されたことを意味します。

おおよそ理解しました、ありがとうございます。
 
gheka:

このスレで100回くらい同じ質問してお前らがムカつくのはわかるが


ポジションを開けない 場合、どのようなエラーが発生するのでしょうか?これを試してみてはいかがでしょうか

 if(total<1) 
  {
   if(Price_1>max)
      OrderSend(Symbol(),OP_BUY,Lots,Ask,100,slB,tpB,"My order#",16384,0,Green);

   if(Price_2<min)
      OrderSend(Symbol(),OP_SELL,Lots,Bid,100,slS,tpS,"My order#",16384,0,Green);
  }
 
gheka:

まんさん、このスレで100回くらい同じ質問すると怒るのはわかる。

初心者の私にとっては、何でも自分でやるのが面白いので、必ず自分で理解します

初心者かもしれない、自分で解決する、何でも自分でやるのは面白い。

以前から興味はあったのですが、やはりEAを見るとはまりますね。

もしかしたら、EAではなく、DCに問題があるのでは?

ヘルプ?


証券会社によっては、テイクポジションとストップポジションを明示的に指定することができない場合がありますので、その場合は、オープニングオーダーの関数でゼロをそれらの場所に入力してください。
 
gheka:

まんさん、このスレで100回くらい同じ質問すると怒るのはわかる。

初心者の私にとっては、何でも自分でやるのが面白いので、必ず自分で理解します

初心者かもしれない、自分で解決する、何でも自分でやるのは面白い。

以前から興味はあったのですが、やはりEAを見るとはまりますね。

もしかしたら、EAではなく、DCに問題があるのでは?

ヘルプ?


少なくとも1つのポジションが開いている場合(手動、他のEAによる)、このEAは動作しません。