記事"マーケットでの公開前にトレードロボットに行うべき検査"についてのディスカッション - ページ 17

 
私のロボットは資金不足の エラーで検証に失敗します。許容最小ロットを使用してみましたが、まだ失敗します!
ファイル:
 
資金不足の エラーで検証に失敗します。最小許容ロットを使用してみましたが、まだ失敗します!

必要証拠金を正しく計算していません。 OrderCalcMarginを 使用して、注文数量を適切に調整するか、あるいは、必要証拠金が許容最小数量より高い場合は、注文をまったく行わないようにしてください。

これについては、記事の2つ目のポイントで説明します ...取引操作のための資金不足

 

こんにちは、

どなたか検証エラーを修正する方法を教えてください。EAはライブ口座で取引開始と決済を行うことができますが、これをパスすることができません。どのようなコードを追加すべきかアドバイスください。


 

皆さん、こんにちは。「取引操作がありません」「テスターに時間がかかりすぎます」というメッセージが表示されるのはなぜですか?私はすでにトレードがトリガーされるように設定を緩めています。また、ストラテジーテスターを 使用しているときは、実際に問題が発生することはなく、GetLastError()は常に "0 "を返します。検証はテスターのように過去の価格に対して行われるのでしょうか、それともランダムに生成された価格に対して行われるのでしょうか?



 
Alexey Viktorov #:

求めよ、さらば与えられん。最後のヒント:令状調査

OrderCheck()関数のことですか?ドキュメントには、取引に十分な資金があるかどうかをチェックすると書いてあります。MT4用も含めて、マーケットクローズをチェックする関数も欲しいです。

 
Ivan Titov #:

OrderCheck()関数のことですか?ドキュメントには、取引に十分な資金があるかどうかをチェックすると書かれています。MT4用も含めて、マーケットクローズをチェックする関数も欲しいです。

資金不足だけではありません。例えば

ENUM_ORDER_TYPE order_type;
double tp = 0.0,
       price = 0.0;
MqlTick mqlTick;
MqlTradeRequest           my_request;               // リクエスト・データ
MqlTradeResult            my_result;                // 結果データ
MqlTradeCheckResult       my_check_result;          // 結果チェックデータ
long chart_id = ChartID();
/********************スクリプト・プログラム・スタート機能*****************/
void OnStart()
 {
  ZeroMemory(my_request);
  ZeroMemory(my_check_result);
//--- my_request の設定
  int k = order_type%2 == ORDER_TYPE_BUY ? 1 : -1;
  double pr = price != 0.0 ? price : order_type == ORDER_TYPE_BUY ? mqlTick.ask : mqlTick.bid;
  ENUM_TRADE_REQUEST_ACTIONS action = order_type == ORDER_TYPE_BUY || order_type == ORDER_TYPE_SELL ? TRADE_ACTION_DEAL : TRADE_ACTION_PENDING;
  my_request.action     = action;
  my_request.symbol     = _Symbol;
  my_request.volume     = 0.1;
  my_request.type       = order_type;
  my_request.price      = pr;
  my_request.sl         = 0.0;
  my_request.tp         = tp > 0.0 ? pr+tp*k : 0.0;
//my_request.magic = Magic;
  my_request.deviation  = 10;
  bool check = OrderCheck(my_request, my_check_result);
  if(!check)
    Print(my_check_result.retcode);
  DebugBreak();
 }/******************************************************************/

10027

trade_retcode_client_disables_at。

クライアント端末で自動売買が禁止されている。


リクエストの価格が間違っている、


10018のエラーに関しては、そう、答えを急いだのでチェックしなかった。そして、10018以外であることが判明した。

 
Exper Exper Advisorが1つのシンボルのみである場合、どのようにチェックを 通せばいいのでしょうか?
 
@Darius Elias Rey #: Expert Advisorが1つのシンボルにしか対応していない場合、どのようにチェックを 通せばよいですか?

マーケットプロダクトのルールでは、EAを1つのシンボルに限定することはできません。お客様のEAは、その使用目的が単一のシンボルであっても、すべてのシンボルに対して機能しなければなりません。

 

こんにちは、

私のEAの新しいバージョン1.28を提出したところ、"not enough money error "で検証されませんでした。バージョン1.0からCheckMoneyForTrade機能を実装しており、以前はそのようなエラーは出なかったので、奇妙に思いました。また、EAを送信する前にテストを行いましたが、それは決定的なもので、カバーするための自由証拠金がない場合、EAは取引を行いません。心当たりはありますか?

私が得ているエラー

上記と同じ期間の私のテストからのログは、お金/マージンが検出されない場合、注文は行われません。

\

このようなケースは他にありますか?よろしくお願いします。

よろしくお願いします。

 
Haidar, Lionel Haj Ali #: 私のEAの新しいバージョン1.28を提出したのですが、「not enough money error」と表示されて検証されません。バージョン1.0からCheckMoneyForTrade機能を実装しており、以前はこのようなエラーは表示されなかったので、おかしいと思いました。また、EAを送信する前にテストを行いましたが、それは決定的なもので、カバーするための自由証拠金がない場合、EAは取引を行いません。心当たりはありますか?

私が得ているエラー上記と同じ期間にテストしたログですが、資金・証拠金が検出されないと注文が発注されません。

最初の画像で、取引前に利用可能な自由証拠金が-10.36であることがはっきりとわかります。もしあなたのコードがそれを正しく認識していないのであれば、問題はあなたのコードにあります。