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

 

こんにちは。

ディスクの空き容量が十分かどうかを確認するにはどうしたらいいですか?


今、このメッセージが出ました。

3回目のトライでは、何も変更せずにパスしました。


 
Denis Nikolaev #:

こんにちは。

ディスクの空き容量が十分かどうかを確認するにはどうしたらいいですか?


このメッセージは

3回目のトライでは、何も変更することなくパスしました。


この場合、メッセージは正しくない。問題はRAMにあった。

サーバーのメモリを増設しました。

 
Anton #:

この場合、メッセージは正しくない。問題はRAMにあった。

サーバーのメモリを追加しました。

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

 

MT5ターミナル。Broker RoboForex, instrument - CFD AAPL.
ロボットテスター2021.05.05 16:30:00の 最初の実行で、" failed market buy 0.1 AAPL [Market closed] ",error 4756, retcode 10018というメッセージを受け取りました。

営業日 - 水曜日、取引時間、16:30:00で ダニが通過し、どのような理由で市場が閉じている - それは明らかではありません。


しかし!
このエラーを受け取った後、2-3 時間時間を遅らせなければ、このエラーは通過しません - 「スタックがいっぱいです」という重大なエラーを 受け取り、テスターはシャットダウンします。たとえ合格したとしても、ログにエラーが残るのはあまり好きではありません。エラーはあってはならない。

すべての関数を注意深く見直しましたが、"Market closed"イベントを取得する方法は見つかりませんでした
記事作成者に質問です:
-
この エラーを回避する関数があれば、ぜひ教えてください。
実際の取引では、取引終了の数分前と新しい取引開始の5~10分後に、ほとんどすべてのブローカーが取引を終了します。しかし、相場は続いています。そのため、Expert Advisorは、市場でオープンし、許容シグナルがある場合、 エラーのシートを出します。テスターでこの「スモーク・ブレイク」が機能しないのは良いことだ。

 
Vasyl Temchenko 重大なエラーを 受け取り、テスターはシャットダウンします。たとえ合格したとしても、ログにエラーが残るのはあまり好きではありません。エラーはあってはならない。

すべての関数を注意深く見直しましたが、"Market closed"イベントを取得する方法は見つかりませんでした
記事作成者に質問です:
-
この エラーを回避する関数があれば、ぜひ教えてください。
実際の取引では、取引終了の数分前と新しい取引開始の5~10分後に、ほとんどすべてのブローカーが取引を終了します。しかし、相場は続いています。 そのため、Expert Advisorは、市場でオープンし、許容シグナルがある場合、 エラーのシートを出します。テスターでこの「スモーク・ブレイク」が機能しないのは良いことだ。

気配値は表示されますが、ティックは表示されません。OnTick()は別のティックがある場合にのみ動作します。

 
Alexey Viktorov #:

相場は来ているが、ティックがない。OnTick()は別のティックがある場合にのみ動作します。


- 私たちはテスターについて話しています。
- CFDセッションのオープニングは、原則として、小さいか大きいか、しかしギャップ、すなわちロボットによって計算されたオープニング価格が「昨日のオープン」のレベルにある状態で発生します。
- 最初のティックで、ちょうど16:30:00に、ロボットは取引を開始しようとします。

ここで問題が起こります。 市場はまだ閉じている。.おそらくほんの一瞬のことだろう。しかし、このときテスターはスタックがオーバーフローするまでエラーを連発している。チャートは最初のティックで立っている。


- 現在価格から始値までの距離を設定する。
- エラーが発生したら、始値の変数をリセットする。
- エラーは1回だけで、その後は正常に取引できる。

しかし、これは遠回りの解決策のようなものです。
- メニューバーにセッション開始時刻を追加し、5-10分遅れて取引を開始する
- 最初のバーのクローズからゼロバーのオープンまでの時間をコントロールする。
この場合、多くのエラーを避けるのに役立ちます。しかし、それは "真夜中の問題 "を解決するものではありません。ブローカーは10-15分間取引を終了するが、相場はまだ流れており、ロボットは取引を試みて、繰り返し "Market is closed "エラーを発生させる。
利用可能なツールでこれを防ぐことは不可能である。
実際の市場の稼働状況を検出する機能があれば、問題はない。


そうそう、OnTickについて。
OnTickから、私は1分間に1回だけ、新しいバーのオープニングでTrade()関数を呼び出します どうやら、これが "Market is closed" エラーでコードが動かなくなる原因のようです。



 
Vasyl Temchenko #:


- それはテスターについてです
- CFDセッションのオープニングは、原則として、小さいか大きいか、しかし、ギャップ、すなわち、ロボットによって計算されたオープニング価格は、 "昨日のオープン "のレベルで発生します
- 最初のティックで、正確に16:00に、ロボットは取引を開こうとします。

多分、仕様を見た方がいいのでは?


最初のティックの時刻が16:30なのに、なぜ16:00なのでしょうか?

 
Alexey Viktorov #:


最初のティックの時間が16:30なのに、なぜ16:00なのか?

はい、もちろん16:30です。
誤字に気づいてくれてありがとう - 文章を修正しました。
OnTick()に一行追加しました。

   if(iTime(NULL,PERIOD_M5,0)-iTime(NULL,PERIOD_M5,1) > 360) return;  

この特別な問題は解決しました。取引開始の関数にエラーカウンターを入れましたが、年間実行ではエラーはありません。
つまり、セッションを開始するときに、これらの端数秒(または秒/分)が発生するだけです。
しかし、私はまだ市場の可用性を通知する関数が欲しいです。

 

オートテスターの問題点を克服するために苦労している人たちは、ロボットをまったく使っていないのだろうか?

ロボットを使っているのだろうか?

実生活では少なくとも雑誌でお叱りを受けるようなエラーが整理されることもあるのだから。

オートテスターが奇妙なロット/ステップ/アイテム/バランス_in_1セント......についてトリックを出すのは理解できる。

...しかし、ロボットが通常の操作で踏まなければならないこと、つまり取引セッションの 外で何かをしようとすること、あるいはtrading_forbiddenフラグとはどのようなものでしょうか?

ローカルテスター以外でロボットを動かしたことはないのですか?

 
すべてがかけがえのない経験だ。
書く目的も違うし...。
ある人は、ただポップ・イット
そして、ある人は努力のために......。