MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1627

 
MakarFX #:

批判的ではなく、何事にも説明がつく...。

それはあなたが説明することです。

 
MakarFX #:

クリティカルではないが、説明はある・・・。

または仮定

 
EVGENII SHELIPOV #:

または仮定

テスターで見るためのコード全体が必要。
 
MakarFX #:
テスターで見るためのコード全体が必要。

ご覧ください。

ファイル:
111.mq4  48 kb
 
EVGENII SHELIPOV #:

BACではこのように説明しています。


また、すべての値が同じであれば、修正する必要はありません。

 
Taras Slobodyanik #:


また、すべての値が同じであれば、修正を行う必要はありません。


//+----------------------------------------------------------------------------+
//| Модификация групповых ордеров                                              |
//+----------------------------------------------------------------------------+
void ModifyOrders(int otype)
{
    double avg_price, order_lots = 0;
    price = 0;


    for(int i = OrdersTotal()-1; i>=0; i--)
    {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype)
         {
            price += OrderOpenPrice() * OrderLots();
            order_lots += OrderLots() ;
         }
       }
    }
    avg_price = NormalizeDouble(price / order_lots, Digits);
     {
     ObjectDelete(0, "AveragePriceLine");
     ObjectCreate(0,"AveragePriceLine" ,OBJ_HLINE, 0, 0, avg_price);
     ObjectSet("AveragePriceLine",OBJPROP_COLOR, Magenta);
     }
    if (otype == OP_BUY) tp = NormalizeDouble (avg_price + TakeProfitGroupOrder*Point, Digits);
    if (otype == OP_SELL) tp = NormalizeDouble (avg_price - TakeProfitGroupOrder*Point, Digits);
    if ((otype == OP_BUY || otype == OP_SELL) && (Drawdown > DrawdownClosingTakeprofitZero)) 
    tp = NormalizeDouble (avg_price, Digits);
    for(int i = OrdersTotal()-1; i>=0; i--) 
    {
       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       {
           if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype)
           {
               if(OrderModify(OrderTicket(), OrderOpenPrice(), 0, tp, 0))
                  Print("Ордера успешно модифицированы!");
                else Print("Ошибка модификации ордеров!");
           }
       }
    }
}

これがあなたの言っているチェックなのでしょうか?

 
EVGENII SHELIPOV #:

これがあなたの言っているチェックなのでしょうか?

オーダーにすでに設定されている値が、設定する値と一致するかどうかを確認する必要があります。

  • tp==OrderTakeProfit()です。
  • また、sl==OrderStopLoss()が必要な場合
  • また、必要であれば、価格==OrderOpenPrice()

if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == otype && tp!=OrderTakeProfit() )
 
Taras Slobodyanik #:

オーダーに既に設定されている値が、設定する値と一致するかどうかを確認する必要があります。

  • tp==OrderTakeProfit()です。
  • また、sl==OrderStopLoss()が必要な場合
  • また、必要であれば、価格==OrderOpenPrice()

タラス、もし私が最小と最大の注文を減らして注文のグリッドを修正し、それぞれ新しい平均価格を計算し、新しい利益を修正する必要がある場合、それが何に必要なのか説明してもらえますか?

 
EVGENII SHELIPOV #:

Taras、なぜこれが必要なのか説明してください。注文のグリッドを変更して、最小と最大の注文が減少した場合、それぞれ新しい平均価格を計算し、新しいテイクプロフィットを変更する必要があります。

えー、修正エラーとそのクリティカリティについて聞いてませんでした?
...とその説明。

 
MakarFX #:
ないんです。