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

 
Sergey_Rogozin:

もう、わかったんです。ただ、最初は不用意に見てしまったんです。

エラーが表示されないのですが。

では、なぜ注文が削除されないのでしょうか。EA全体のコードを掲載することも可能ですが、意味があるのでしょうか?
 
dzhini:
では、なぜ注文が削除されないのかが不思議です。EA全体のコードを並べることは可能ですが、それで意味があるのでしょうか?

スタートで条件だけ書いてみてください。私見ですが、上記のfor()ループは最初から必要ないのではと思います。


      if(CalculateCurrentOrders(Symbol())>0) {Alert(CalculateCurrentOrders(Symbol()));ClosePendingOrder(OP_SELLLIMIT);} // (1) 
      if(CalculateCurrentOrders(Symbol())<0) {Alert(CalculateCurrentOrders(Symbol()));ClosePendingOrder(OP_BUYLIMIT);} //(2) 
      if(TimeCurrent() - OrderOpenTime()>=HowManyHours*60*60) {ClosePendingOrder(OP_BUYLIMIT);ClosePendingOrder(OP_SELLLIMIT);} //(3

スタート時に設定するだけで十分です。

 

へへへ...。それこそが、「ないものねだり」なのです。では、サイクルなしでどのようにオーダーをこなしていくのでしょうか?大量の注文があり得ることを想定し、個別のタグとしてマジックシンボルを使用することは避けたいので、主なタグは通貨記号と注文 タイプである。基本的にはそれらで動作するのですが、偶然にも上記の組み合わせでは動作しないことが判明しました。どこがエラーなのか理解できない。そして、どうしてもわからないときは、本当の専門家に相談することにしています。

もし、本当に興味があれば、フクロウのコードを掲載しますが・・・。分解してみるか...役に立つはずです。

 
dzhini:

へへへ...。それこそが、「ないものねだり」なのです。では、サイクルなしでどのようにオーダーをこなしていくのでしょうか?大量の注文があり得ることを想定し、個別のタグとしてマジックシンボルを使用することは避けたいため、主なタグは通貨記号と注文タイプである。基本的にはそれらで動作するのですが、偶然にも上記の組み合わせでは動作しないことが判明しました。どこがエラーなのか理解できない。そして、どうしてもわからないときは、本当の専門家に相談することにしています。

もし、本当に興味があれば、フクロウのコードを掲載しますが・・・。ちょっと見てみましょうか。...役に立ちそうです。

今は調べるのが億劫です。

関数に設定された操作種別と 記号で 選択するループがありますね。

というように、必要なアクションが実行される条件だけを指定します。

また、条件を満たす注文の実行で、マジシャンによる注文を検索することもできます。

 

みんな、海外の証券会社を設立して...とても大きなお金と税金を払いたくない......)))メタトレーダー4で動く人......。)

 
Vovo4ka:

みんな、海外の証券会社を設立して...とても大きなお金と税金を払いたくない......)))メタトレーダー4で動く人......。)

たくさんあるんですよ。

Googleが簡単に案内してくれます。

税金を払って、ぐ っすり眠る...。

 

午後もし私がすでに5つの買い注文と5つの売り注文を開いていて、少なくとも1つの注文が閉じるとすぐに、EAはその注文が閉じた方向に保留中の注文を置き続け、そのサイクルが続く場合、EAが保留中の注文を 置くのを止めるように強制する方法を教えてください。(現在、すでに正しい形でコードを掲載しています)

//----------------------------------------------------------------------- проверка установленных стоп ордеров

double StopOrderUp,StopOrderDn,price,MinBuyOrder=1000000000,MaxSellOrder,OldBuyOrder,OldSellOrder,OldBuyLot,OldSellLot;

int TicketUp,TicketDn;

TimeOllOpenBuy=0;TimeOllOpenSell=0;

double OOL_BUYSTOP,OOL_SELSTOP;

for (i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)

{ price = OrderOpenPrice();

if (Magic==OrderMagicNumber() && OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUYSTOP ) {StopOrderUp = price; TicketUp=OrderTicket(); OOL_BUYSTOP=OrderLots();}

if (OrderType()==OP_SELLSTOP) {StopOrderDn = price; TicketDn=OrderTicket(); OOL_SELSTOP=OrderLots();}

if (OrderType()==OP_BUY )

{ TimeOllOpenBuy = TimeOllOpenBuy + TimeCurrent()-OrderOpenTime();

if (MinBuyOrder > price) MinBuyOrder = price;

OldBuyOrder=price;

OldBuyLot=OrderLots();

if (DrawInfo&&!IsTesting()){

NameLine="ордер Bay "+OrderTicket();ObjectDelete(NameLine);ObjectDelete(NameLine+" з");

ObjectCreate(NameLine, OBJ_TREND, 0, OrderOpenTime(),price,Time[0],Bid);

ObjectSet(NameLine, OBJPROP_COLOR,LightSkyBlue);

ObjectCreate(NameLine+" з",OBJ_ARROW,0,Time[0],Bid,0,0,0,0);

ObjectSet(NameLine, OBJPROP_STYLE, STYLE_DOT);// Стиль

ObjectSet(NameLine, OBJPROP_RAY, false); // Луч

ObjectSet(NameLine+" з",OBJPROP_ARROWCODE,3);ObjectSet(NameLine+" з",OBJPROP_COLOR,WhiteColor);}

}

if (OrderType()==OP_SELL)

{ TimeOllOpenSell = TimeOllOpenSell + TimeCurrent()-OrderOpenTime();

if (MaxSellOrder < price) MaxSellOrder = price;

OldSellOrder=price;

OldSellLot=OrderLots();

if (DrawInfo&&!IsTesting()){

NameLine="ордер Sell "+OrderTicket();ObjectDelete(NameLine);ObjectDelete(NameLine+" з");

ObjectCreate(NameLine, OBJ_TREND, 0, OrderOpenTime(),price,Time[0],Ask);

ObjectSet(NameLine, OBJPROP_COLOR,Pink);

ObjectCreate(NameLine+" з",OBJ_ARROW,0,Time[0],Ask,0,0,0,0);

ObjectSet(NameLine, OBJPROP_STYLE, STYLE_DOT);// Стиль

ObjectSet(NameLine, OBJPROP_RAY, false); // Луч

ObjectSet(NameLine+" з",OBJPROP_ARROWCODE,3);ObjectSet(NameLine+" з",OBJPROP_COLOR,WhiteColor);}

}

}

}

}

if (MinBuyOrder==1000000000 && MaxSellOrder==0 && OOL_BUYSTOP!=OOL_SELSTOP)//если серия закрылась

{

DELETEORDERS();

}
 

みんな、またまた疑問が湧いてきたよ。例えばアルパリなど一部のブローカーは、顧客にフローティングスプレッドを 提供している・・・これに関連して、私のアドバイザーは働かない・・・((

浮動小数点があるだけで台無しになるとか・・・((

 
質問は何ですか? EAをやり直す...
 
eddy:
質問は何ですか? EAをやり直す...


そこが問題で、リメイクはどこでも通用するのに、フローティングでは通用しない((