Например, при отсылке рыночного ордера на покупку он обрабатывается, для счета создается соответствующий ордер на покупку, происходит исполнение ордера, его удаление из списка открытых, добавление в историю ордеров, далее добавляется соответствующая сделка в историю и создается новая позиция. Все эти действия являются торговыми транзакциями...
//+------------------------------------------------------------------+ //| Получает текущее количество отложенных ордеров с указанным ORDER_MAGIC | //+------------------------------------------------------------------+ int GetOrdersTotalByMagic(longconst magic_number)
{
ulong order_ticket;
int total=0;
//--- пройдем по всем отложенным ордерам for(int i=0;i<OrdersTotal();i++)
if((order_ticket=OrderGetTicket(i))>0)
if(magic_number==OrderGetInteger(ORDER_MAGIC)) total++;
//--- return(total);
}
//+------------------------------------------------------------------+ //| Получает текущее количество открытых позиций с указанным ORDER_MAGIC | //+------------------------------------------------------------------+ int GetPositionsTotalByMagic(longconst magic_number)
{
ulong position_ticket;
int total=0;
//--- пройдем по всем открытым позициям for(int i=0;i<PositionsTotal();i++)
if((position_ticket=PositionGetTicket(i))>0)
if(magic_number==PositionGetInteger(POSITION_MAGIC)) total++;
//--- return(total);
}
人が助ける。取引が開始された価格を取得しようとしている。最初はCTradeで取引したのですが、trade.resultpriceが0になってしまいました。MqlTradeで取引を開始したところ、Strategy Testerではresult.priceがうまく表示されていたのに、Liveでは0に等しくなってしまいました。OnTradeTransactionで 試しましたが、ライブトレードでは遅すぎるし、自動売買を停止すると0と表示されます。買い取引が成立した価格を知るには、どのような方法がありますか?
プログラマー仲間の皆さん、こんにちは。この機能の改造をお願いします。MQL5 Referenceで 紹介済みの関数ですが、Magicのオープンポジション数を計算させるにはどうしたらよいでしょうか?
少なくとも、あらゆる場所でOrders***をPositions***に変更して、確認してみてください。
動作しているようです))MQL 5にこの機能を追加することができます)) 早すぎるかもしれませんが、テストしてみます))
動作しているようです))MQL5ハンドブックに この機能を追加することができます)) 早すぎるかもしれませんが、まだテスト中です))
人が助ける。取引が開始された価格を知りたいのですが。最初はCTradeを使っていたのですが、trade.resultpriceが0になってしまいました。MqlTradeで取引を開始したところ、Strategy Testerではresult.priceが良い結果を示していましたが、Liveではゼロに等しくなって しまいました。OnTradeTransactionで 試しましたが、ライブトレードでは遅すぎるし、自動売買を停止すると0と表示されます。買い取引が成立した価格を知るには、どのような方法がありますか?
OrderSend は注文を送信する。そして、その実行と対応する取引が履歴に表示されるのを待つ必要があります。
これをすべて正しく行うには、OnTradeTransactionに長けているか、OrderSendのためにかなり重いコードを一度書かなければなりません。
2つ目のケースでも、CTradeは希望通りに動作します。
選択した チャートシンボルの価格計測の 精度を決定する小数点以下の桁数を返すDigitsのアナログは何でしょうか。
選択した チャートシンボルの価格計測の 精度を決定する小数点以下の桁数を返すDigitsのアナログは何でしょうか?
ありがとうございました。