口座がシグナルにサブスクライブされている場合、MQL5取引および履歴機能へのアクセスが制限されます。
口座でシグナルサブスクリプションが検出されると(現在の端末でコピーが有効になっているかどうかに関係なく)、オープン注文とポジションの受信、履歴の受信、取引操作の実行など、MQL5取引関数の呼び出しはすべて禁止されます。以下の対応する警告が操作ログに記録されます。
'XXX': signal subscription detected, trading and history access functions in MQL5 and Python disabled
制限は、Python取引関数(positions_total、positions_get、orders_total、orders_get、history_orders_total、history_orders_get、history_deals_total、history_deals_get、order_check、order_send)にも適用されます。
口座でシグナルサブスクリプションがキャンセルされた場合、またはシグナルサブスクリプションなしで別の口座に接続すると、制限が解除され、次のメッセージが記録されます。
'XXX': no signal subscription detected, trading and history access functions in MQL5 and Python enabled
口座で制限がアクティブになっている場合、MQL5関数は次の応答コードを返します。
- OrderSendとOrderSendAsync:RET_REQUEST_AT_DISABLED_CLIENT
- OrdersTotalとPositionsTotal:0
- PositionGetSymbol、PositionSelect、PositionSelectByTicket、PositionGetTicket:ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
- OrderGetTicketとOrderSelect:ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
- HistorySelect:ERR_MQLAPI_TRADE_DEAL_NOT_FOUND