MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1189

 

ロボットをどうしたらいいのか、アドバイスをお願いします。テスト終了の3ヶ月前に、任意のブローカーで任意の端末でテストが中断される。ロボットは停止しないが、テストは停止する...。

疲れる...。


 
Stanislav Korotky:

MetaQuotes DemoでMT4デモ口座を開設するにはどうすればよいですか?以前は問題なく動作していましたが、現在はダイアログの最後のページで「登録、少し待ってください」と表示され、この状態ではいつまでもアイドル状態で、ログインとパスワードのフィールドが空のままになっています。ログにメッセージはありません。デモ」と「リアル」、様々な種類のアカウントを試した。

UPD:あるブローカーのデモを試しましたが、同じでした。

確認したところ、Metacquotのサーバーでは新しいデモが登録されず、roboforexでは問題なく新しいデモが登録されました。


Mihail Matkovskij:

エラー4401が表示される。

ヘルプでエラーを確認する。

で、特定の関数呼び出しではなく、キュー、スワップ、エラーは別のエリアに行く - チャートは準備ができていない、その後、あなたは歴史の構築を開始した、あなたが再びそれを呼び出すとき、歴史はすでに準備ができていないかもしれないのと同じように


インジケータでは、履歴へのアクセスは非同期であり、履歴が準備されていない場合は、エラーが返され、履歴が準備され、Sleep()は、指標では動作しませんので、エラーが発生した場合は、次のティックで再び歴史を読んで、Kodobaseで "multisymbol" または "multiperiod" 指標を検索して、別のTFまたはシンボルで履歴が読み込まれているかを見る、原理は同じである。

 
Stanislav Korotky:

MetaQuotes DemoでMT4デモ口座を開設するにはどうすればよいですか?以前は問題なく動作していましたが、現在はダイアログの最後のページで「登録、少し待ってください」と表示され、この状態ではいつまでもアイドル状態で、ログインとパスワードのフィールドが空のままになっています。ログにメッセージはありません。デモ」と「リアル」、様々な種類のアカウントを試した。

UPD 私はあるブローカーのデモを試しました - 同じことです。

MetaQuotesデモサーバーの終了

メタクォーツ・ソフトウェア株式会社

2009年3月4日

2009年4月5日、サーバー「demo.metaquotes.net」を停止します。しかし、分史のあるヒストリーセンターは、その活動を継続します。

この日以来、弊社ではデモサーバーの利用を拒否しています。現在、MetaTrader 4 プラットフォームを 実行している企業の数は非常に多いため、自社でサーバーを維持する必要性はないと考えています。

 
Igor Makanu:

ヘルプでエラーを確認する

そして、それは特定の関数呼び出しについてではなく、順序、スワップについてです、エラーは別の場所に行きます - チャートは準備ができていない、その後、あなたは歴史の構築を開始しました、あなたが再びそれを呼び出すときに、歴史はすでに準備ができているかもしれません、それはまったく準備ができていないのと同じように

しかし、iBars(Symbol, Period())では全く正常なのに、iBars(Symbol, Timeframe)ではなぜ履歴が準備できないのでしょうか?また、常にではなく、端末を再起動したときのみ発生します。また、変数symbol、timeframeは初期化セクションで正しく初期化されています(自分で確認しました)。

私の例では、https://c.mql5.com/3/324/Test.mq5 を絞り込んでみてください。

アクションのシーケンス。

1.コンパイルしたファイルをチャートに投げる。得られるメッセージは

2020.06.24 21:05:50.773 ローダー::ローダー シンボル: EURUSD タイムフレーム: PERIOD_H1

2020.06.24 21:05:50.773 ローダー::ローダーバー::140433

2020.06.24 21:05:50.773 ローダー::ローダーエラー: 0

2020.06.24 21:05:50.773 ローダー::ローダーバー(2): 140433

2.端末を終了させ、再起動する。ログメッセージは以下のようになります。

2020.06.24 21:07:34.963 ローダー::ローダー シンボル: EURUSD タイムフレーム: PERIOD_H1

2020.06.24 21:07:34.963 ローダー::ローダーバー::0

2020.06.24 21:07:34.963 ローダー::ローダーエラー: 4401

2020.06.24 21:07:34.964 ローダー::ローダーバー (2): 140433

 
Mihail Matkovskij:

しかし、iBars(Symbol, Timeframe)では不完全で、iBars(Symbol(), Period())ではごく普通なのですが、なぜでしょうか?また、常にではなく、端末を再起動したときのみ発生します。そして、初期化セクションで、シンボルとタイムフレームの変数が正しく初期化されています(自分で確認しました)。

又もやこの2行を入れ替えると、再生が可能になります。

間違っているかもしれませんが、上に書いたようなことになると思います。

 
MakarFX:

アルチョム・トリシキン

このスレのモデレーターはあなたですか?

だけでなく

 
Artyom Trishkin:

それだけでなく

昨日、誰が私を禁止したのか、どうやって知ることができるのですか?
 
Mihail Matkovskij:

しかし、iBars(Symbol, Timeframe)では不完全で、iBars(Symbol(), Period())ではごく普通なのですが、なぜでしょうか?また、常にではなく、端末を再起動したときのみ発生します。また、変数symbol、timeframeは初期化セクションで正しく初期化されています(自分で確認しました)。

私の例では、https://c.mql5.com/3/324/Test.mq5 を絞り込んでみてください。

アクションのシーケンス。

1.コンパイルしたファイルをチャートに投げる。その際に表示されるメッセージ。

2.端末を一度終了させ、再度起動させる。ログに記録されるメッセージは次のようになります。

履歴データは2分以内に更新されます。常に「ホット」な状態を保つためには、少なくとも2分に1回は非ネイティブのシンボル/ピリオドにアクセスする必要があります。

インジケータから初めてヒストリカルデータにアクセスする際、ローカルデータが十分でない場合、データのロードが開始され、関数がエラーを返します。この場合、OnCalculate()をリターンゼロで終了させる必要があります。そうすれば、次のティックで変数prev_calculatesにデータは存在しません。十分なデータが読み込まれると、データアクセスエラーが発生しなくなり、OnCalculate()での作業を継続することができるようになります。

もう一つ、インジケータからヒストリカルデータをロードする関数はすべて使用しないでください。その中で現在のシンボルと期間のデータを使用しようとしている場合、クラッシュを引き起こす可能性があります。rates_total データを使用して、履歴バーの数を取得します。

これらはすべて、フォーラムで何度も語られ、ドキュメントにも表示されていることです。

探したくないけど、自分で ソースのリンクを貼って全部説明したところは よく覚えています。

 
MakarFX:
昨日、誰が私を禁止したのか、どうやって知ることができるのですか?
しないんですね。
 
Artyom Trishkin:
まさかね。

残念(

そのダメ男が、不注意から、意味もなく私を出入り禁止にしたのです。