MQL5でCopyTicksRange()が正しく動作しない。 - ページ 4

 
Alexey Viktorov #:

一行で台詞に戻る。

機能は開発者が意図したとおりに動くべきで、ユーザーが望むとおりに動くべきではありません。ある人はあることを望み、ある人は別のことを望み、ある人は無意味なことを望む。

開発者が対応しないのはこのためです。そして、私は擁護者ではなく、シンプルな真実、自分でできないことは他人に負担をかけないということを伝えようとしています。一方、あなたは「ドンマイ......降参......」とスイッチが入り、松葉杖に関する神話を作り上げています。

それは本当にすべて "開発者はあなたに答えません...あなたの希望を取得しないでください。

そうでしょうから、書きますね。この関数は、ドキュメントに記述されているとおりに動作し、それ以外のことは動作しない必要があります。ニュアンスがあれば、ドキュメントに書けば問題ないでしょう。

あなたを説得するセンスはありません。単純な事実を開発者に知らしめた方がいい。あなたはプログラマーのチームで働いたことがないのでしょう。しっかりした知識のない、典型的な独学プログラマーですね。私は真面目なプロジェクトに携わりながら、経験や知識に裏打ちされない当たり前の真実を伝えることで、よく解雇されました。 開発者とのコミュニケーションに、あなたを仲介者として必要としません。2年ほど前に「松葉杖を作れ、ここでは何でも通用する」という答えをもらいました。プログラマーは神様ではないので、よくミスをするので、このフレーズの作者はすでにクビになっていることを祈ります。

テスターという職種がありました。自信過剰で経験の浅いプログラマーでは、数ページのコードからどれだけのバグが見つかるか想像もつかないでしょう。

 
RusPro #:

この例では、開始時刻が常に既存のバーの開始時刻に等しく(つまりティックが存在することが分かっている)、最後のバーのすべてのティック履歴を一度に読み取るという、呼び出し条件が異なるため、うまくいきます。

ちなみに、私の松葉杖の1つは、あなたと同じような働きをします。また、最初は既存のバーの時間を取得し、それを最大連続区間に分割してティックを取得します。しかし、別の問題が発生します。データ用の受信配列が十分でない場合、残りの再開はタンバリンダンスになります(上記でお話ししたことです)。

また、ダイナミックアレイを扱うと、メモリの断片化の可能性を考慮しなければならず、より時間がかかります。

ドキュメントは最後まで読まれましたか?

Примечание

Функция CopyTicksRange() предназначена для запроса тиков из строго указанного диапазона, например, за конкретный день истории.

また、ダイナミックアレイを使えば、すべてが高速に動作します。

pingを比較して、dyn.アレイの速さを忘れてください :)

MMB専用チャンネルではありません

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

スピードが必要なら、なぜBCSに座ったのか、あの連中はフォルツの標準的なログイン速度を意図的に 制限している。

30トランザクション/秒から10トランザクション/秒へ!

追加

と、「取引所取引」の欄に書いた方が良いのでは

 
RusPro #:

FXで、同じような失敗をする。アルパリ・ブローカー、テストアカウント。EURUSDシンボル

EURUSDをベースにカスタムシンボルを作成、名前もそのままに

Strategy TesterでのCopyTicksの動作の話なら、Strategy Testerでティック履歴を要求したことがない私は無能です。

バトルモードについてしか言えませんが。

 
prostotrader #:

ドキュメントは最後まで読んでいるのでしょうか?

そうですね、機能の説明は最後まで読みますし、疑問があれば掲示板も見ます。 速さの概念は人それぞれですからね。メモリが常に再分配されるため、定義上、ダイナミクスの方が遅くなります。第二の欠点は断片化です。ダイナミクスのミスを犯すと、ターミナルを閉じるのにメモリが足りなくなることがあります :)))

Pingは関係ありません、最初のダウンロードの後、刻みはベースからすでに与えられています、理論的には、もちろん :) 私は、プログラムは最適化によって加速されるべきですが、ハードウェアベースではありません - これは自動的ですと教わりました。そして、どんな違いがあるのか、どんなつながりがあるのか--今日は1つ、明日は別のもの--それはアルゴリズムに依存しないのです。

自分のブローカーを持っているからこそ、1年以上お世話になっているのです。今の私の課題は、トレードやフリーランスではなく、ティックで数学を検証することです。

 
RusPro #:

また、ダイナミックアレイを扱うと、より遅く なり、メモリの断片化の可能性も考慮しなければなりません。

この記述に対する測定値を示してください。Expert Advisorのパフォーマンスの問題には、かなり気を遣っています。

 
fxsaber #:

TesterでのCopyTicks操作の話であれば、Testerでtick履歴を要求したことがないので、力不足です。

バトルモードだけに言えることですが。

テスターの話ではなく、デモ口座の話です。週末にライブ口座でアルパリでチェックするのは問題だから。

 
RusPro #:

テスターではなく、デモ口座のことです。テスターではなく、デモ口座。

そうですね、何もなかった区間でティックを求めると、ゼロではなく、一日分が出ますね。

これは意図的にやっているように感じます。でも、何のためかわからない。


調査の結果、フロムが取引週の最後のティックを過ぎた時刻にヒットすると問題が発生することが判明しました。バグだと思うんです。

リアルとカスタムのシンボルでは、同じように動作します。


明らかに、前回のリクエストの最後のティックからリクエストすれば、この問題は発生しません。しかし、SymbolInfoTick_time_mscでリクエストすると、バグが発生する場合があります。ですから、まだやらないほうがいいんです。

 

fxsaber #:

しかし、SymbolInfoTick_time_mscでクエリを作成すると、バグが出る場合があります。だから、まだやらないほうがいいんです。

何回テストされたんだ?

SymbolInfoTickが嫌いな人は、SymbolInfoTickを使う。

int  CopyTicks( 
   string           symbol_name,           // имя символа 
   MqlTick&         ticks_array[],         // массив для приёма тиков 
   uint             flags=COPY_TICKS_ALL,  // флаг, определяющий тип получаемых тиков 
   ulong            from=0,                // дата, начиная с которой запрашиваются тики 
   uint             count=0                // количество тиков, поставьте 1
   );
コピーチケット

から

[in] 刻み目を要求する日付。1970年01月01日からのミリ秒単位で指定する。パラメータ from=0 の場合、最後の ティックカウントが渡さ れる。

 
Alexey Viktorov #:

これは何度目かの確認でしょうか?

SymbolInfoTickの使用は好まない

ありがとうございます。ダニとの相性は抜群です。だからといって、バグの存在が無効になるわけではありません。

 
Alexey Viktorov #:

これは何度目かの確認でしょうか?

SymbolInfoTickの使用は好まない

2年前からテストしています

なんて頑固なんでしょう。上に書かれていることを読んでみてください - CopyTicksも不具合があります。もしあなたが、バグのある機能を動かす方法を探したり、バグのある回避策を見つけたりするのが好きなら、気にする必要はありません。