エラー、バグ、質問 - ページ 2400

 
Slava:

OnTimerがループしていなければ、異常終了はないはずです。

クライアント端末の挙動を確認するために、専門家に依頼することは可能でしょうか?

そこには多くのゴミがあり、コードは最適ではなく、7000行のテンプレートをベースに構築されています。自分で考えてみて、お知らせします。ちなみにこれはグラフィックオブジェクトのビルダーで、トレードではありません。

ありがとうございました。

 
Vitaly Muzichenko:

ちなみにビルダーです、彼は商社マンではありません。

了解です。OnDeinit()におけるグラフィックオブジェクトの 削除。

これはすでに修正されています

 
Slava:

了解です。OnDeinit()におけるグラフィックオブジェクトの 削除。

すでに修正済みです。

修正された新しいビルドがいつ出るか教えてください。

 
uint lev[1] = {};
ArrayInitialize(lev, UINT_MAX);  // warring: truncation of constant value
Alert(lev[0] == UINT_MAX);       // Alert: true
 

MQL5で新規にページを作成してシグナルを登録していたのですが、有効化されません

https://www.mql5.com/ru/signals/new

 

日経CFD注文の価格を正しく形成する方法を教えてください(他のCFDはbotで開設しています)。

例えば、ask 19661.15、ticksize = 1とします。

丸くする必要があるが、どの方向に丸くするのか?例えば、MathRound(price / tickSize) * tickSize; というコードでは、価格は19661、つまり市場よりも良い値が表示されます。これはエラーになります。

また、上から1つtickSizeを追加してもエラーになります。

そのままaskを送信しようとすると同じエラーになります。

テスターがログに書き込む。

failed market buy 1.00 NI225 [Invalid price] // стандартный вывод
OrderSend failed NI225 0 1.0 19662.0 0.0 0.0 with error 4756 // бот выводит параметры ордера и код ошибки
 
Stanislav Korotky:

この設定でどんなサーバーなのか?

 
fxsaber:

この設定でサーバーはどうなっていますか?

LiteForexInvestments-MT5.com


 
Stanislav Korotky:

日経CFD注文の価格を正しく形成する方法を教えてください(他のCFDはbotで開設しています)。

19661.15、ticksize = 1でお願いしています。

丸くする必要があるが、どの方向に丸くするのか?例えば、MathRound(price / tickSize) * tickSize; というコードでは、価格は19661、つまり市場よりも良い値が表示されます。これはエラーになります。

また、上から1つtickSizeを追加してもエラーになります。

そのままaskを送信しようとすると同じエラーになります。

ログではテスターがこう言っている。

この機能を使う(楽器価格にポイントを移行する)。

//+------------------------------------------------------------------+
//| Expert Points to price function                                  |
//+------------------------------------------------------------------+
double PointsToPrice(const long a_points)
{
  double step_price = SymbolInfoDouble(Symbol(), SYMBOL_TRADE_TICK_SIZE);
  double a_price = (double(a_points) * Point() ) / step_price;
  if(a_points < 0)
  {
    a_price = MathFloor(a_price) * step_price;
  }
  else
  {
    a_price = MathCeil(a_price) * step_price;
  }
  return(NormalizeDouble(a_price, Digits()));
}

そして、PointsToPrice() 関数が返した値を価格に加算(減算)するだけです。

によって追加されました。

正しく動作しない場合は、このシンボル

は、SYMBOL_TRADE_TICK_SIZEで 変換されます。

 
Stanislav Korotky:

LiteForexInvestments-MT5.com

つまり、テスターが今すぐには矯正できない、サーバーの曲がった手なのです。同時にTerminalではTickSizeが考慮されないため、すべてが開きます。