これはすべてのOrderSendエラーの悩みの種のようです。ストップロスの価格が適切に計算されていない理由を理解できないようです。私はそれを10倍するなどしてみましたが、いつも同じエラーとプリントアウトが出ます。
エラー:EURGBP、M1:価格を入力:0.74660000ストップロス:0.74705000テイクプロフィット:0.74600000
挿入されたコードvoid EnterTrade(ダブルリスク、int sl、int tp){RefreshRates();ダブルSL、TP。 int dollarsAtRisk = AccountEquity()*リスク。 g_PositionSize = NormalizeDouble((dollarsAtRisksl)、1); if(g_ConfirmLong == true){SL = Ask - (sl * Point); TP = Ask (tp * Point); g_TradeID = OrderSend(シンボル()、OP_BUY、g_PositionSize、Ask、Slippage、NormalizeDouble(SL、Digits)、NormalizeDouble(TP、Digits)、TradeComment、0、0、Green);印刷(価格を入力してください: Ask Stop Loss: SL Take Profit: TP); if(g_TradeID lt; 0){Print(OrderSendがエラー#で失敗した、GetLastError()); ResetVars(); (0)を返します。 slとtpは、45と60の整数値で渡されます。