関数 - 構造体の配列をソートするためのメソッド。賞金10ドル - ページ 4 123456789 新しいコメント Andrei Trukhanovich 2020.04.21 18:36 #31 Sergey Dzyublik: 何が問題なのか? 関数そのものに加えて、関数をパラメータとして渡すためだけに、関数のtypedefを行って変数を作成する必要があり、これはラムダマクロの下で行うことである。 Vladimir Pastushak 2020.04.21 18:47 #32 fxsaber: 確認したところ、動作しています。 残念ながらありません(((;゚Д゚))) Sergey Dzyublik 2020.04.21 19:04 #33 Vladimir Pastushak: 悲しいかな、そうではありません(( MT4ではソートがないのですね。 そこで、MT4用の推奨ソートの呼び出しを条件コンパイルに挿入し、MT5用のコードはそのままにしておきます。 fxsaber 2020.04.21 19:26 #34 Vladimir Pastushak: 悲しいかな、そうではありません(( MT4をアップデートしてください。 Igor Makanu 2020.04.21 19:29 #35 MT4でコードを確認 すると、すべて動作する 2020.04.21 23:27:35.728 スクリプト t EURUSD,H1: 削除されました。 2020.04.21 23:27:35.726 t EURUSD,H1: uninit reason 0 2020.04.21 23:27:35.726 t EURUSD,H1: 1.08685 1.087231.085271.08542020.04.21 18:00:001.08518 1.087021.084561.0868420.04.21 19:00:001.0843 1.085271.084291.085172020.04.21 20:00:001.08503 1.085061.08411.084292020.04.21 21:00:001.08535 1.08551.084971.085022020.04.21 22:00:00 2020.04.21 23:27:35.726 t EURUSD,H1: 時間でソートする。 2020.04.21 23:27:35.726 t EURUSD,H1: 1.08503 1.085061.08411.084292020.04.21 21:00:001.0843 1.085271.084291.0851720.04.21 20:00:001です。08535 1.08551.084971.085022020.04.21 22:00:001.08518 1.087021.084561.086842020.04.21 19:00:001.08685 1.087231.085271.08542020.04.21 18:00:00 2020.04.21 23:27:35.726 t EURUSD,H1: 価値の高いものから並べ替える。 2020.04.21 23:27:35.726 t EURUSD,H1: 1.08503 1.085061.08411.0842920.04.21 21:00:001.08535 1.08551.084971.0850220.04.21 22:00:001.0843 1.08551.084971.085020202020202020202020202020202.085271.084291.085172020.04.21 20:00:001.08685 1.087231.085271.08542020.04.21 18:00:001.08518 1.087021.084561.086842020.04.21 19:00:00 2020.04.21 23:27:35.726 t EURUSD,H1: オープンプライスでソートしています。 2020.04.21 23:27:35.726 t EURUSD,H1: 1.08685 1.087231.085271.08542020.04.21 18:00:001.08518 1.087021.084561.0868420.04.21 19:00:001.0843 1.085271.084291.085172020.04.21 20:00:001.08503 1.085061.08411.084292020.04.21 21:00:001.08535 1.08551.084971.085022020.04.21 22:00:00 2020.04.21 23:27:35.726 t EURUSD,H1: バー(ソートなし) - 受け取ったままの状態。 2020.04.21 23:27:35.726 t EURUSD,H1: 初期化されました。 2020.04.21 23:27:34.279 スクリプト t EURUSD,H1: 正常にロードされました。 MT4ビルド1262 このように解凍してください。 string MqlRatesToStr(MqlRates &arr[]) { string result = ""; for(int i = 0; i < ArraySize(arr); ++i) { result += (string)(arr[i].close) + " " + (string)(arr[i].high) +(string)(arr[i].low) +(string)(arr[i].open) +(string)(arr[i].time); } return result; } Function - Method for Expert Advisor <ALL DISCUSSIONS アドバイザー<CONSULTING PRODUCT OWNERS IN Sergey Dzyublik 2020.04.21 20:07 #36 Vladimir Pastushak: 提供されたコード では、ソートフィールドを指定できるようにするために、メイン関数ArraySortStructをマクロに戻すことを忘れていました。 しかし、このトピックの筆者は頑なに沈黙を守っている、どうやら私だけが必要としているようだ...。 Алексей Тарабанов 2020.04.21 20:14 #37 アルゴリズム 1.構造体=文字列最初のループ 2.文字列の配列をソート する。第2ループ(コンプレックス、バブル)。 3.String = 構造体。3つ目のループ。 ほとんど速くならない。 理由 1.構造体はシステム上では文字列として表現され、アライメントのみを考慮する必要がある(バイト単位)。 2.文字列の処理速度は、他のデータ型の処理速度に比べ、はるかに高速です。 3.ループ内では、2つの文字列の比較のうち、1つの操作のみが行われます。フィールドの値を比較する必要はない。 90年代前半にクラリオンでやってました。うまくいった。 Документация по MQL5: Операции с массивами / ArraySort www.mql5.com //| Получение значений границ для тиковых объемов | //| Custom indicator initialization function | //| Custom indicator iteration function | // Vladimir Pastushak 2020.04.21 20:15 #38 Sergey Dzyublik: 提供されたコード では、ソートフィールドを指定できるようにするために、メイン関数ArraySortStructをマクロに戻すことを忘れていました。 しかし、このトピックの筆者は頑なに沈黙を守っている、どうやら私だけが必要としているようだ...。 まだ見ていないんです。マクロがよくわからない。全コードを公開していただけるとありがたいです。 Igor Makanu 2020.04.21 20:22 #39 Алексей Тарабанов: 90年代前半にクラリオンでやってました。飛びました。 涙が出るほど))) 1コース1学期、アルゴリズムとプログラミングの最初の演習授業を覚えています...。最初はパスカルを習ったと思うのですが、IBMの端末を使った授業で、15〜20行でプログラムをコンパイルしていました...まあ、最初は2〜3分、その後、タイピングや構文エラーをたくさんした人は20分までかかっていました 2学期からは、486に取り組んでいました。 飛んでいた)))) SZS: 私の記憶ではEC-1035だったと思うのですが......飛びましたね!? Алексей Тарабанов 2020.04.21 20:32 #40 Igor Makanu: 涙が出るほど))) 1年生の前期、アルゴリズムやプログラミングの最初の演習を思い出して...。何を勉強していたのかも覚えていない。最初はPascalだったと思うが、授業はターミナルクラスのIBMコンピュータで、15〜20行のプログラムをコンパイルしていた。まあ、最初は2〜3分勉強していたが、タイピングやシンタックスエラーを連発する人が出てくると20分までかかるようになった 2学期からは、486に取り組んでいました。 とんだとばっちり)))) SZY: 間違ってなかったら、EC-1035でしたね......飛びましたよ 私は1976年に世界初のパーソナル電子デジタルコンピューターに着手しました。設計はウクライナ・ソビエト社会主義共和国科学アカデミー・キエフサイバネティクス研究所が担当しました。その後、「ミンスク32」、そして「EC」と続く。 123456789 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
何が問題なのか?
関数そのものに加えて、関数をパラメータとして渡すためだけに、関数のtypedefを行って変数を作成する必要があり、これはラムダマクロの下で行うことである。
確認したところ、動作しています。
残念ながらありません(((;゚Д゚)))
悲しいかな、そうではありません((
MT4ではソートがないのですね。
そこで、MT4用の推奨ソートの呼び出しを条件コンパイルに挿入し、MT5用のコードはそのままにしておきます。
悲しいかな、そうではありません((
MT4をアップデートしてください。
MT4でコードを確認 すると、すべて動作する
2020.04.21 23:27:35.728 スクリプト t EURUSD,H1: 削除されました。
2020.04.21 23:27:35.726 t EURUSD,H1: uninit reason 0
2020.04.21 23:27:35.726 t EURUSD,H1: 1.08685 1.087231.085271.08542020.04.21 18:00:001.08518 1.087021.084561.0868420.04.21 19:00:001.0843 1.085271.084291.085172020.04.21 20:00:001.08503 1.085061.08411.084292020.04.21 21:00:001.08535 1.08551.084971.085022020.04.21 22:00:00
2020.04.21 23:27:35.726 t EURUSD,H1:
時間でソートする。
2020.04.21 23:27:35.726 t EURUSD,H1: 1.08503 1.085061.08411.084292020.04.21 21:00:001.0843 1.085271.084291.0851720.04.21 20:00:001です。08535 1.08551.084971.085022020.04.21 22:00:001.08518 1.087021.084561.086842020.04.21 19:00:001.08685 1.087231.085271.08542020.04.21 18:00:00
2020.04.21 23:27:35.726 t EURUSD,H1:
価値の高いものから並べ替える。
2020.04.21 23:27:35.726 t EURUSD,H1: 1.08503 1.085061.08411.0842920.04.21 21:00:001.08535 1.08551.084971.0850220.04.21 22:00:001.0843 1.08551.084971.085020202020202020202020202020202.085271.084291.085172020.04.21 20:00:001.08685 1.087231.085271.08542020.04.21 18:00:001.08518 1.087021.084561.086842020.04.21 19:00:00
2020.04.21 23:27:35.726 t EURUSD,H1:
オープンプライスでソートしています。
2020.04.21 23:27:35.726 t EURUSD,H1: 1.08685 1.087231.085271.08542020.04.21 18:00:001.08518 1.087021.084561.0868420.04.21 19:00:001.0843 1.085271.084291.085172020.04.21 20:00:001.08503 1.085061.08411.084292020.04.21 21:00:001.08535 1.08551.084971.085022020.04.21 22:00:00
2020.04.21 23:27:35.726 t EURUSD,H1:
バー(ソートなし) - 受け取ったままの状態。
2020.04.21 23:27:35.726 t EURUSD,H1: 初期化されました。
2020.04.21 23:27:34.279 スクリプト t EURUSD,H1: 正常にロードされました。
MT4ビルド1262
このように解凍してください。
提供されたコード では、ソートフィールドを指定できるようにするために、メイン関数ArraySortStructをマクロに戻すことを忘れていました。
しかし、このトピックの筆者は頑なに沈黙を守っている、どうやら私だけが必要としているようだ...。
アルゴリズム
1.構造体=文字列最初のループ
2.文字列の配列をソート する。第2ループ(コンプレックス、バブル)。
3.String = 構造体。3つ目のループ。
ほとんど速くならない。
理由
1.構造体はシステム上では文字列として表現され、アライメントのみを考慮する必要がある(バイト単位)。
2.文字列の処理速度は、他のデータ型の処理速度に比べ、はるかに高速です。
3.ループ内では、2つの文字列の比較のうち、1つの操作のみが行われます。フィールドの値を比較する必要はない。
90年代前半にクラリオンでやってました。うまくいった。
提供されたコード では、ソートフィールドを指定できるようにするために、メイン関数ArraySortStructをマクロに戻すことを忘れていました。
しかし、このトピックの筆者は頑なに沈黙を守っている、どうやら私だけが必要としているようだ...。
90年代前半にクラリオンでやってました。飛びました。
涙が出るほど)))
1コース1学期、アルゴリズムとプログラミングの最初の演習授業を覚えています...。最初はパスカルを習ったと思うのですが、IBMの端末を使った授業で、15〜20行でプログラムをコンパイルしていました...まあ、最初は2〜3分、その後、タイピングや構文エラーをたくさんした人は20分までかかっていました
2学期からは、486に取り組んでいました。
飛んでいた))))
SZS: 私の記憶ではEC-1035だったと思うのですが......飛びましたね!?
涙が出るほど)))
1年生の前期、アルゴリズムやプログラミングの最初の演習を思い出して...。何を勉強していたのかも覚えていない。最初はPascalだったと思うが、授業はターミナルクラスのIBMコンピュータで、15〜20行のプログラムをコンパイルしていた。まあ、最初は2〜3分勉強していたが、タイピングやシンタックスエラーを連発する人が出てくると20分までかかるようになった
2学期からは、486に取り組んでいました。
とんだとばっちり))))
SZY: 間違ってなかったら、EC-1035でしたね......飛びましたよ
私は1976年に世界初のパーソナル電子デジタルコンピューターに着手しました。設計はウクライナ・ソビエト社会主義共和国科学アカデミー・キエフサイバネティクス研究所が担当しました。その後、「ミンスク32」、そして「EC」と続く。