エラー、バグ、質問 - ページ 2195 1...218821892190219121922193219421952196219721982199220022012202...3185 新しいコメント Rashid Umarov 2018.04.16 10:40 #21941 Artyom Trishkin:fxsaberよりご挨拶申し上げます。 このコードで何ができるのか、イメージを教えてください。 fxsaber 2018.04.16 11:09 #21942 ArrayResizeがリザーブタスクで 非常に遅くなる理由を教えてください。 スクリプト // Добавление элемента в конец произвольного массива template <typename T> void AddElement( T &Array[], const T &Value, const int Reserve = 0 ) { const int Size = ::ArraySize(Array); ::ArrayResize(Array, Size + 1, Reserve); Array[Size] = Value; } #define BENCH(A) \ { \ const ulong StartTime = GetMicrosecondCount(); \ A; \ Print("Time[" + #A + "] = " + (string)(GetMicrosecondCount() - StartTime)); \ } int Bench( const int Size, const int Reserve ) { const MqlTick NullTick = {0}; MqlTick Ticks[]; for (int i = 0; i < Size; i++) AddElement(Ticks, NullTick, Reserve); return(ArraySize(Ticks)); } void OnStart() { BENCH(Bench(1 e7, 1 e5)); // 100 раз выделяется память BENCH(Bench(1 e7, 1 e6)); // 10 раз выделяется память BENCH(Bench(1 e7, 1 e7)); // 1 раз выделяется память } 結果 Time[Bench(1 e7,1 e5)] = 38199494 Time[Bench(1 e7,1 e6)] = 3867983 Time[Bench(1 e7,1 e7)] = 479303 100回のメモリ割り当て(5Mbから500Mbまで)に38秒かかる。正常なのでしょうか? 実用的なのは、カスタムキャラクターで、インポート前にティック履歴を用意したい場合です。ローカルストレージにティックデータのCSVファイルがいくつかあり、それらをMqlTick-arrayにする必要があるとする。最適な方法で行うには?これらのファイルの刻み量を事前に計算することは不可能である。 fxsaber 2018.04.16 11:14 #21943 Rashid Umarov:このコードで何ができるのか、イメージを教えてください。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム バグ、バグ、質問 ドミトロ・ゼレンスキー さん 2018.04.14 11:00 Andrey Khatimlianskii 2018.04.16 12:23 #21944 fxsaber:これらのファイルの刻み数をあらかじめ計算することはできません。ファイルサイズを 1刻みの目安で割ると? fxsaber 2018.04.16 12:58 #21945 Andrey Khatimlianskii:ファイルサイズを1刻みの目安で割ると?残念ながら、ファイルサイズは わかりません。ZIPからCSVを解凍しています。 Aleksey Vyazmikin 2018.04.16 14:18 #21946 Rashid Umarov:画像を見ることができます - 何をするものですか?選択した期間のスクリーンショットを作成することは困難であることが判明しました - たぶん、2つの日付範囲を含むバーをキャプチャするための適切な幅の定義ソリューションがあるのでしょうか? Alexey Viktorov 2018.04.16 15:43 #21947 Aleksey Vyazmikin:選択した期間のスクリーンショットを作成することは困難であることが判明しました。2つの日付範囲を含むバーをキャプチャするための適切な幅定義の解決策はありますか?難易度は?1つのスクリプトでスケールの違う2つのスクリーンショットを作り、スクリーンショットに指定した日付から30本のバーを表示するようにしました。 Andrey Khatimlianskii 2018.04.16 15:49 #21948 fxsaber:残念ながら、ファイルサイズはわかりません。ZIPからCSVを解凍しています。ZIPからどこへ行くのか?アレイに?文字列に?サイズ・長さもあるそうです。 Aleksey Vyazmikin 2018.04.16 16:05 #21949 Alexey Viktorov:苦労した点は?このスクリプトは、指定された日付から30本のバーが表示されるように、スケールを変えて2枚のスクリーンショットを作成したものです。 ズームをゼロにします。それでも、2枚目のスクリーンショットでは、1枚目と違って、バーがすでに締まっているのがわかりますね。 そして、30本とは、600本にしよう!ということです。 fxsaber 2018.04.16 16:07 #21950 Andrey Khatimlianskii:ZIPからどこへ行くのか?アレイに?文字列に?サイズ・長さもあるそうです。そうすると、すべてを解凍して、何百メガバイトもの解凍したものをメモリ上に残しておかなければならなくなるのです。 または、文字列の数(文字列-刻み)を合計して解凍する。メモリに保存します。そして、再び解凍するのですが、パースがかかっている状態です。 1...218821892190219121922193219421952196219721982199220022012202...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
fxsaberよりご挨拶申し上げます。
このコードで何ができるのか、イメージを教えてください。
ArrayResizeがリザーブタスクで 非常に遅くなる理由を教えてください。
スクリプト
結果
100回のメモリ割り当て(5Mbから500Mbまで)に38秒かかる。正常なのでしょうか?
実用的なのは、カスタムキャラクターで、インポート前にティック履歴を用意したい場合です。ローカルストレージにティックデータのCSVファイルがいくつかあり、それらをMqlTick-arrayにする必要があるとする。最適な方法で行うには?これらのファイルの刻み量を事前に計算することは不可能である。
このコードで何ができるのか、イメージを教えてください。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
ドミトロ・ゼレンスキー さん 2018.04.14 11:00
これらのファイルの刻み数をあらかじめ計算することはできません。
ファイルサイズを 1刻みの目安で割ると?
ファイルサイズを1刻みの目安で割ると?
残念ながら、ファイルサイズは わかりません。ZIPからCSVを解凍しています。
画像を見ることができます - 何をするものですか?
選択した期間のスクリーンショットを作成することは困難であることが判明しました - たぶん、2つの日付範囲を含むバーをキャプチャするための適切な幅の定義ソリューションがあるのでしょうか?
選択した期間のスクリーンショットを作成することは困難であることが判明しました。2つの日付範囲を含むバーをキャプチャするための適切な幅定義の解決策はありますか?
難易度は?1つのスクリプトでスケールの違う2つのスクリーンショットを作り、スクリーンショットに指定した日付から30本のバーを表示するようにしました。
残念ながら、ファイルサイズはわかりません。ZIPからCSVを解凍しています。
ZIPからどこへ行くのか?アレイに?文字列に?サイズ・長さもあるそうです。
苦労した点は?このスクリプトは、指定された日付から30本のバーが表示されるように、スケールを変えて2枚のスクリーンショットを作成したものです。
ズームをゼロにします。それでも、2枚目のスクリーンショットでは、1枚目と違って、バーがすでに締まっているのがわかりますね。
そして、30本とは、600本にしよう!ということです。ZIPからどこへ行くのか?アレイに?文字列に?サイズ・長さもあるそうです。
そうすると、すべてを解凍して、何百メガバイトもの解凍したものをメモリ上に残しておかなければならなくなるのです。
または、文字列の数(文字列-刻み)を合計して解凍する。メモリに保存します。そして、再び解凍するのですが、パースがかかっている状態です。