成行注文がエラーコード10006(rejected)で通らない 新しいコメント Mori Shingo 2022.03.19 09:01 int MQL45::OrderSend(string symbol, int cmd, double volume, double price, int slippage, double sl, double tp, string comment = NULL, int magic = 0, datetime expiration=0, color arrow=clrNONE) { trader.SetExpertMagicNumber(magic); bool result = false; switch (cmd) { case OP_BUY: result = trader.Buy(volume, symbol, 0.0, sl, tp, comment); break; case OP_SELL: result = trader.Sell(volume, symbol, 0.0, sl, tp, comment); break; case OP_BUYLIMIT: result = trader.BuyLimit(volume, price, symbol, sl, tp, ORDER_TIME_SPECIFIED, expiration, comment); break; case OP_SELLLIMIT: result = trader.SellLimit(volume, price, symbol, sl, tp, ORDER_TIME_SPECIFIED, expiration, comment); break; case OP_BUYSTOP: result = trader.BuyStop(volume, price, symbol, sl, tp, ORDER_TIME_SPECIFIED, expiration, comment); break; case OP_SELLSTOP: result = trader.SellStop(volume, price, symbol, sl, tp, ORDER_TIME_SPECIFIED, expiration, comment); break; } if (!result) { MqlTradeRequest request = {}; trader.Request(request); double stop_level_tp = 0; double stop_level_sl = 0; switch (request.type) { case ORDER_TYPE_BUY: case ORDER_TYPE_BUY_LIMIT: case ORDER_TYPE_BUY_STOP: case ORDER_TYPE_BUY_STOP_LIMIT: stop_level_tp = (request.tp != 0) ? (request.tp - request.price) / Point() : 0; stop_level_sl = (request.sl != 0) ? (request.price - request.sl) / Point() : 0; break; case ORDER_TYPE_SELL: case ORDER_TYPE_SELL_LIMIT: case ORDER_TYPE_SELL_STOP: case ORDER_TYPE_SELL_STOP_LIMIT: stop_level_tp = (request.tp != 0) ? (request.price - request.tp) / Point() : 0; stop_level_sl = (request.sl != 0) ? (request.sl - request.price) / Point() : 0; break; } Alert(StringFormat("【エラー%d】%s: %.0f / %.0f / %d", trader.ResultRetcode(), trader.ResultComment(), stop_level_tp, stop_level_sl, SymbolInfoInteger(symbol, SYMBOL_TRADE_STOPS_LEVEL))); return -1; } switch (cmd) { case OP_BUY: case OP_SELL: return (int)trader.ResultDeal(); default: return (int)trader.ResultOrder(); } } FXGT Miniデモ口座で、CTradeクラスを使ったMT4のOrderSend()関数のラッパーを使って成行注文で発注すると、 BTCUSD, ETHUSDは正常終了しますがLTCUSD, XRPUSDは下記のエラーでサーバーにはねられます。 GQ 0 14:39:12.040 Trades '5017203': accepted market sell 100 XRPUSDm tp: 0.73526 LI 0 14:39:12.040 Trades '5017203': rejected market sell 100 XRPUSDm tp: 0.73526 (Current book is empty) MT4のOrderSend()のラッパー関数は上記の通りです。原因がお判りの方がいらっしゃったらご教授お願い致します。 Intra Day Trading Aシステムテスト Discussion Shino Unada 2022.03.20 00:12 #1 "book" とは何ですか? プログラムの問題ではなく手続き上の問題のように思いますけど。 Mori Shingo 2022.03.20 01:52 #2 Nagisa Unada #: "book" とは何ですか? プログラムの問題ではなく手続き上の問題のように思いますけど。 返信ありがとうございます。 "book"とはいわゆる「板」のことだと思いますが、板が空っぽって理解できません。 "Current book is empty"でググっても、全く情報が得られません。現在、fxgtのサポートに問い合わせ中です。 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
FXGT Miniデモ口座で、CTradeクラスを使ったMT4のOrderSend()関数のラッパーを使って成行注文で発注すると、
BTCUSD, ETHUSDは正常終了しますがLTCUSD, XRPUSDは下記のエラーでサーバーにはねられます。
GQ 0 14:39:12.040 Trades '5017203': accepted market sell 100 XRPUSDm tp: 0.73526
MT4のOrderSend()のラッパー関数は上記の通りです。原因がお判りの方がいらっしゃったらご教授お願い致します。