void OpenOrder(int db = -1){
if(db == -1){
Print("'db' должен иметь корректное значение");
return;
}
Order order;
//Если бид в границах ДБ (его хай/лоу) то инициализируем ордер для селстопа или байстопаif(Bid > db_last.low && Bid < db_last.hight){
if(db == BEAR) order.InitForSell(SELLSTOP);
if(db == BULL) order.InitForBuy(BUYSTOP);
}
...
if(order.is_init == true)
{
int order_send = OrderSend(Symbol(), order.cmd, 0.01, order.open_price, 10,
order.sl_price, order.tp_price, "", GetMagic(order), 0, order.arrow_color);
if(order_send == -1){
Print(order.error_text," | ",GetLastError()," db_last.third ",db_last.third,
" | db_last.size_open_to_low ",db_last.size_open_to_low," | order.sl_price: ",
order.sl_price," | order.cmd ",order.cmd);
ResetLastError();
return;
}
}
}
...
int GetMagic(Order &order)
{
int magic = 0;
//Если должен быть открыт стопордер и если есть уже открытые или отложенные //ордера, то возможно некоторые с маджиком, это надо проверить и сгенерировать //для нашего ордера уникальный маджик и отправить его на запись в массивif(order.cmd == OP_SELLSTOP || OP_BUYSTOP)
if(OrdersTotal() >= 1)
for(;;){
magic++;
for(int i = OrdersTotal(); i > 0 ; i --)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) != false)
if(magic != OrderMagicNumber())
return magic;
}
//Если нет открытых или отложенных ордеров то увеличиваем значение //маджика, чтобы он равнялся единице и отправляем на запись в массивelseif (OrdersTotal() == 0)
return (magic + 1);
return magic;
}
は冗談か?
白黒で持っているのは(;;)
そうですね、ただ、魔法と秩序の魔法がイコールでない場合、その出口はありますね。
お試しください
注文のグリッドがある場合はどうするのですか?
マジックオーダーと金融商品のグリッドのオーダーのすべてのスワップの合計を計算する関数をお持ちの方はいらっしゃいますか?
ありがとうございました!!!
何のために必要なのか?
グリッドライフの長い大きなグリッドのオーダーをクローズする場合、オーダースワップは利益を食い、結果を非常に歪めてしまいます。
この機能でスワップ時の損失を補填したい。
グリッドライフの長い大きなグリッドのオーダーをクローズする場合、オーダースワップは利益を食い、結果を非常に歪めてしまいます。
この機能でスワップ時の損失を補填したい。
お試しください
しかし、すべての命令を通過させる必要があります。魔導師そのものは、創作の瞬間にストッパーにのみ設定されます。ストッパーがOrderType()で作られることはまだないので理解できず、そのためにorder.cmdにオーダータイプの予備記録がある。そして、ここでは2つのループが必要です。1つは他のループにネストされ、マジック変数の1回の反復がOrdersTotal()からのすべての注文でチェックされるようにします。全て実装しているのですが、無限ループが発生してしまいます。
グリッドは利益で閉じているのか、それとも損益分岐点で閉じているのか?
はい、あるレベルのドローダウンでは、損失がゼロになり、損失がゼロになると、スワップによる醜い損失が発生します。
これは、私が持っていた if(order.cmd == OP_SELLSTOP || OP_BUYSTOP)
しかし、私はすべての注文が渡される必要があります。魔導師自体は、ストッパーだけを作成した場合に設定されます。ストッパーがOrderType()で作られることはまだないので分からない、事前にorder.cmdにオーダータイプを書いておく必要がある。そして、ここでは2つのループが必要です。1つは他のループにネストされ、マジック変数の1回の反復がOrdersTotal()からのすべてのオーダーでチェックされるようにします。
はい、あるレベルのドローダウンでは、損失がゼロになり、損失がゼロになると、スワップによる醜い損失が発生します。