注文がポジティブなときにクロージャ注文をするにはどうすればいいですか? 私は以下の例のようにしようとしましたが、時々非常に否定的に起こりますか?
答えよね!
for(int a = 0; a <OrdersTotal(); a )
{
if(OrderSelect(a、SELECT_BY_POS、MODE_TRADES)== false)break;
// —- 注文タイプの確認
if(OrderType()== OP_BUY)
{
if(OrderClosePrice()>(OrderOpenPrice() OrderSwap() OrderCommission()))
OrderClose(OrderTicket()、OrderLots()、入札、0、青);
}
if(OrderType()== OP_SEL L)
{
if(OrderClosePrice()<(OrderOpenPrice() OrderSwap() OrderCommission()))
OrderClose(OrderTicket()、OrderLots()、Ask、0、Red);
}
}
1.ループカウンタは減少しているはずです(現在のように増加していません)。 www.mql5.com/en/forum/119840を参照してください。
2. お金の値を返すOrderSwap()とOrderCommission()に、 価格の値を返すOrderOpenPrice()を追加しようとしています (異なる「単位」を持つ2つの値を追加しようとしています)。
未決済注文の蓄積があります、それは分析の中で何かを変えるかもしれません。
私はそれがポジティブに終わるとは言わなかった。あなたのループカウンタは増加しています、それはそれらがポジティブにクローズするかどうかにかかわらず 、クローズ注文では正しく機能しません。
OrderClose(OrderTicket()、OrderLots()、OrderClosePrice()、0);
ありがとう、
私はこれらの変更を加えましたそしてこれは完璧です
(int a = OrdersTotal() – 1; a> = 0; a–)
{
if(OrderSelect(a、SELECT_BY_POS、MODE_TRADES)== false)break;
// —-注文タイプの確認
RefreshRates();
if(OrderType()== OP_BUY)
{
if(入札> OrderOpenPrice())
OrderClose(OrderTicket()、OrderLots()、OrderClosePrice()、0、青);
}
if(OrderType()== OP_SELL)
{
if(Ask <OrderOpenPrice())// OrderSwap() OrderCommission()))
OrderClose(OrderTicket()、OrderLots()、OrderClosePrice()、0、Red);
}
}
5101: https://www.mql5.com/en/forum/123683
Originally posted 2019-08-04 03:22:31.