int j=-1;
datetime t;
// Поищем в цикле последнюю закрытую позицию, которая закрылась по TakeProfitfor (int i=0; i<OrdersHistoryTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()!=Symbol()) continue;
if (OrderType()>1) continue;
if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point) {
Alert("Позиция с тикетом #",OrderTicket()," закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера");
// Здесь код для закрытия всех открытых позиций (тоже в цикле)// Здесь код для удаления всех отложенных ордеров (также в цикле)
}
}
これです。
// Здесь код для закрытия всех открытых позиций (тоже в цикле)// Здесь код для удаления всех отложенных ордеров (также в цикле)
具体的には、Alert("OrderTicket( )",OrderTicket()の行; つまり、最終サイクルが終了していない可能性があります!!!!
以下はそのログです。
以前、私はしばしばコードを書き直した、私はしばしばエラーに遭遇した、私は4108と4050と思う、今はエラーはありません!私はこのような場合、私はそれを行うことができます。うん、まあ、とにかく動かないんだ!
うん、まあ、そこが難しいところなんだろうね。
if( 注文マジックナンバー( )==2000 &&注文シンボル( )==シンボル( ))
|| OrderMagicNumber( )==1000 &&OrderSymbol( )==Symbol()) {
その通り、ス... セリフのどこが悪かったのか?
うん、まあ、そこが難しいところなんだろうね。
if( 注文マジックナンバー( )==2000 &&注文シンボル( )==シンボル( ))
|| OrderMagicNumber( )==1000 &&OrderSymbol( )==Symbol()) {
その通り、ス... セリフのどこが悪かったのか?
この時点では、リモート保留中の注文である可能性があり、結果は異常なものとなるでしょう;)
理解できない、ここで選んでいるのはファッションヒストリーではなく、削除されているのだ。OK、必要ない、それは後回しだ。
-AAAH!!!だから両脇に括弧をつける!!! THANK YOU!!!!!!!
ふーーーーーーーーーーーーーーーーーーーーーーーーー
じゃあシャワー浴びるわ 熱いから
削除されたものを淘汰するんじゃなくて、ファッションヒストリーを淘汰するのか、意味不明。OK、必要ない、それは後回しだ。
削除すべき保留中の注文が 1件あり、そのラインに到達したとします(読みやすくするため、演算子ごとに分解しました)。
そこで、このような注文をさせていただきました。
1)私たちはそれを削除し、そうすることによって。
a) 運がよくて削除された
b) 価格が近すぎる/サーバーに負荷がかかっている/インターネットがダウンしている/などの理由で削除されない場合があります。でも、とにかく先に進むんです。
2)何か問題が起きたら、それを書き留める
3) 注文を閉じる(保留!!最初のポイントで削除したもの!!)
の結果...100%の予測はできませんが、別のエラーのようです
4) それに関するメッセージを表示する
ええ、まあ、問題はそこなんですけどね。
if( OrderMagicNumber( )==2000 &&OrderSymbol( )==Symbol()
|| OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol()) ){
それは、とても正しいセ...ラインのどこを失敗したのか?
こう言っては何だが...。だから、誰も撃たれないし、命令されることもない...。:))
では、順番に説明しましょう。まず、最後に閉じたポジションを 探し、テイクで閉じていることを確認します。
これです。
これが宿題になる...。:)