int PositionIndex; // <-- this variable is the index used for the loopint TotalNumberOfOrders; // <-- this variable will hold the number of orders currently in the Trade pooldouble Ord_TP=0;
TotalNumberOfOrders = OrdersTotal(); // <-- we store the number of Orders in the variablefor(PositionIndex = TotalNumberOfOrders - 1; PositionIndex >= 0 ; PositionIndex --) // <-- for loop to loop through all Orders . . COUNT DOWN TO ZERO !
{
if( ! OrderSelect(PositionIndex, SELECT_BY_POS, MODE_TRADES) ) continue; // <-- if the OrderSelect fails advance the loop to the next PositionIndexif( OrderMagicNumber() == MagicNo // <-- does the Order's Magic Number match our EA's magic number ?
&& OrderSymbol() == Symbol() // <-- does the Order's Symbol match the Symbol our EA is working on ?
&& ( OrderType() == OP_BUY// <-- is the Order a Buy Order ?
|| OrderType() == OP_SELL ) ) // <-- or is it a Sell Order ?if(OrderTakeProfit()>0)Ord_TP = OrderTakeProfit(); break;if(OrderTakeProfit() == Ord_TP) continue;OrderModify(OrderTicket(),0,0,Ord_TP,0,CLR_NONE);//if ( ! OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(), Slippage ) ) // <-- try to close the order//Print("Order Close failed, order number: ", OrderTicket(), " Error: ", GetLastError() ); // <-- if the Order Close failed print some helpful information
} // end of For loop
このコードは大丈夫ですか?そうでない場合は、リンクの代わりにいくつかのコードを書いてください、私はまだ混乱しています。
NOhttps://www.mql5.com/en/forum/133792/page3#550831
特定のシンボルで取引されたロットのpipvalueを与える
1.すべての注文は同じ通貨ペア です。EAはどのようにして最後に開いた注文だけを選択してその逆指値をチェックするのでしょうか?
2. すべてのオープンオーダーはtp20で異なる価格で発注されています。EAは最後のオーダーを除くすべてのオープンオーダーを修正し、それらのストップリミットを最後のオープンオーダーのストップリミットに変更することは可能ですか?
例
いくつかの混乱...
古いエディタはハイライトされた行を受け入れるが、新しいエディタは "Expression not boolean "という警告を出す。
そこで試したのが...
新しいエディタは両方を受け入れますが、...どちらがハイライトされた行のように同じように動作しますか? もし両方が本当なら、私はどちらを使うべきですか?(より便利ですか?)
追記:以下のコードは新しいエディタでも受け入れられました...
新しいエディタは3つとも受け入れますが、...どれがハイライトされた行と同じように動作しますか? もし全部が本当なら、どれが私にとってより便利 ですか?
(SignalS & AAA) !=0
演算
説明
実行順序
()
[]
.
関数呼び出し
配列要素の参照
構造体要素の参照
左から右へ
!
~
++
--
(タイプ)
sizeof
論理否定
ビット単位の否定(補数)
符号の変更
1つインクリメント
1つ減算
タイプキャスティング
バイト単位でのサイズ決定
右から左へ
*
/
%
乗算
除算
モジュール分割
左から右へ
+
足し算
減算
左から右へ
<<
>>
左シフト
右シフト
左から右へ
<
<=
>
>=
未満
以下または等しい
大
より大きいか等しい
左から右へ
!=
等しい
等しくない
左から右へ
&
ビット単位のAND演算
左から右へ
^
ビットごとの排他的論理和
左から右へ
|
ビット毎OR演算
左から右へ
&&
論理積演算
左から
||
論理和演算
左から右へ
?:
条件演算子
右から左へ
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
代入
代入による乗算
割り付けによる除算
代入付きモジュール
代入のある足し算
割り付けによる減算
割り当てを伴う左シフト
代入付き右シフト
ビット単位のAND(代入あり
排他的論理和(代入あり
ビット毎OR(代入あり
右から左へ
,
カンマ
左から右へ
ビット演算 AND 左から右へ|ビット演算 OR ^ ビット演算 排他的論理和 << 左シフト >> 右シフト
WHRoeder あなたのコード(最後の成行注文を選択)を見つけ、そのTP価格をチェックし、以前の注文に同じTP価格を設定するためにハイライトされた行を追加 しました。
追加行...
もし私が間違っているならば、ご指導ください。
(すべての成行+保留の注文の種類は、買いだけ、 売りだけ、 買いだけでなく、新しい成行 注文が開かれたときに、すべての成行注文の TPを毎回変更したいのです)。
これは私にとって本当に難しいことですが、やってみたいのです :(