ビルド1485以降のCopyTicks()とCopyTicksRange()の改善に関するバグと提案。 - ページ 3

 
MetaQuotes Software Corp.:
メッセージありがとうございます。バグが修正されました。インジケータでも動作するようになりました。近日中にアップデートを公開する予定です。
CopyTicksRange()によるティック取得のスピードが上がるかどうか教えて下さい。
 
Build 1491 - ME の言語ドキュメントが更新されない。CopyTicksRange()の情報は、ウェブサイトからのみ入手可能です!
 
テスターでは、現時点(ビルド1495)での「パック」(同じmsecの時間を持つ)のティックが1つずつ与えられます。そして、テスターはそれぞれを別々に計算する。現実にはそんなことはありえない。
 

いいところに来たと思う。フォーラムメンバーの皆様、ずっと自力で悩んでいたのですが、なかなか解決できません。お役に立てれば幸いです。

ブローカーFinam(Whotrades)、MMAアカウントという状況です。私は26のロシア証券で仕事をしています。つまり、26のウィンドウを開き、それぞれのウィンドウにExpert Advisorのコピーをぶら下げているのです。これらは共通のC++ライブラリを使用しており、デバッグ情報を管理・表示するためのウィンドウも共通である。

ストラテジーパラメータの中には、ティックテープに直接依存するものもあるので、すべてのティックがアルゴリズムを通過することは非常に重要です。もちろん、OnTick()がすべてのティックで 動作するわけではなく、ティック上でも常に動作するわけではないことを知ったときは驚きました。その結果、タイマーによるCopyTicksと CopyTicksRange 関数を使う必要性が出てきたのです。大変な努力の結果(どこにも書いてないけど)、datetime*1000が1970年からの正確なミリ秒数であることがわかったのですが、それは問題ではありません。
今あるものの最終的な結果は、onTimerで午前10時から最新のティックデータを要求し始めるコードのブロックです。

問題は、なぜか重要なのですが、メタトレーダー再起動後の初日、証券によってはティックデータが午前11時にしか届かず、翌日はすべて正常で午前10時に始まることです。これらの有価証券のリストは、どのような方法で固定されていない、いくつかの最初の日にいくつかの有価証券のためにティックが来ないかもしれない、いくつかの日に - 他のために。
ティックのキャッシュが問題なのでは?タイミングが悪いのが問題かと思ったが、そうではないことがわかった。さらに、CopyTicks(Range)がデータを返せなかった場合、エラー(-1)を返せば全て解決しそうです。しかし、0を返し、配列も0、GetLastErrorもERR_SUCCESSを返します。つまり、それらの目盛りが存在しないのと同じで、ウィンドウのリボンには存在するのに不思議です。

途方に暮れています。どうしたらいいか、せめて進むべき方向を教えてほしい。

もし、コードを提供する必要があれば、次のコメントで、「余分な」コマンドを整理して、それを投稿します。

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

 
antru:

はい、コードがあることが望ましいです。リアル口座ですか、それともデモ口座ですか?端末の作りは?

正直なところ、ここにあなたのブローカーと仕事をしている人がいるかどうかわからないのです。もしここで誰もあなたの投稿に反応しない場合、ServiceDeskに書き込むと、あなたの投稿に直接リンクすることができます。また、コードを提供する必要があります。

 
antru:
再生するためのコードを持って、サービスデスクに直行したほうがいい。
 
Alexey Kozitsyn:

はい、コードがあることが望ましいです。リアル口座ですか、それともデモ口座ですか?端末の作りは?

正直なところ、ここにあなたのブローカーと仕事をしている人がいるかどうかわからないのです。もしここで誰もあなたの投稿に反応しない場合、ServiceDeskに書き込むと、あなたの投稿に直接リンクすることができます。また、コードを提供する必要があります。

アカウントは本物で、最新のビルド、1525です。私は、こう思います。ストラテジーアルゴリズムを除いた裸のティックテイクコードを作成します。実行してください。うまくいかない場合は、サービスデスクに連絡してください。もし、うまくいくのであれば、自分のコードの中にエラーを探すべきかもしれません。

サービスデスクについて言及いただきありがとうございます。metaquotesのウェブサイトを見たところ、連絡先はキプロスと中国の電話番号ばかりで、電子メールは1つもありません。

 
Andrey Khatimlianskii:
再生するためのコードを持って、サービスデスクに直行するのがよいでしょう。
ありがとうございました。
 
antru:

アカウントは本物で、ビルドは最新の1525です。これが、私たちのやるべきことだと思います。ストラテジーアルゴリズムを除いた裸のティックテイクコードを作る。実 行してください。うまくいかない場合は、サービスデスクに持ち込んでください。もし、うまくいくのであれば、自分のコードの中にエラーを探すべきかもしれません。

サービスデスクについて言及いただきありがとうございます。metaquotesのウェブサイトを見たところ、連絡先はキプロスと中国の電話番号ばかりで、電子メールは1つもありません。

まさに必要なもの、戦略は、この場合、問題を特定する邪魔になるだけです。必要なのは、どのようにティックを要求するのかのコードです。
 
antru:

いいところに来たと思う。フォーラムメンバーの皆様、ずっと自力で悩んでいたのですが、なかなか解決できません。お役に立てれば幸いです。

ブローカーFinam(Whotrades)、MMAアカウントという状況です。私は26のロシア証券で仕事をしています。つまり、26のウィンドウを開き、それぞれのウィンドウにExpert Advisorのコピーをぶら下げているのです。これらは共通のC++ライブラリを使用しており、デバッグ情報を管理・表示するためのウィンドウも共通である。

ストラテジーパラメータの中には、ティックテープに直接依存するものもあるので、すべてのティックがアルゴリズムを通過することは非常に重要です。もちろん、OnTick()がすべてのティックで 動作するわけではなく、ティックでも常に動作するわけではないことを知ったときは驚きました。その結果、タイマーによるCopyTicksと CopyTicksRange 関数を使う必要性が出てきたのです。大変な努力の結果(どこにも書いてないけど)、datetime*1000が1970年からの正確なミリ秒数であることがわかったのですが、それは問題ではありません。
今あるものの最終的な結果は、onTimerで午前10時から最新のティックデータを要求し始めるコードのブロックです。

問題は、なぜか重要なのですが、メタトレーダー再起動後の初日、証券によってはティックデータが午前11時にしか届かず、翌日はすべて正常で午前10時に始まることです。これらの有価証券のリストはどのような方法で固定されていない、いくつかの最初の日のティックは、いくつかの有価証券のために来ないかもしれない、いくつかの他の - 他のために。
ティックのキャッシュが問題なのでは?タイミングが悪いのが問題かと思ったが、そうではないことがわかった。さらに、CopyTicks(Range)がデータを返せなかった場合、エラー(-1)を返せば全て解決しそうです。しかし、0を返し、配列も0、GetLastErrorもERR_SUCCESSを返します。つまり、それらの目盛りが存在しないのと同じで、ウィンドウのリボンには存在するのに、不思議です。

途方に暮れています。どうしたらいいか、せめて進むべき方向を教えてほしい。

もし、コードを提供する必要があれば、次のコメントで、「余分な」コマンドを整理して、それを投稿します。

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

ティックやOnTisk、CopyTicksの取得方法を可能な限り使い、その結果を比較し、最も適切なものを使用するようにしてください。