mql5言語の特徴、微妙なニュアンスとテクニック - ページ 214 1...207208209210211212213214215216217218219220221...247 新しいコメント Vladimir Simakov 2021.11.18 13:25 #2131 fxsaber #: そんなエントリーに出会ったのは初めてです。 使ってみてください))) Fast235 2021.11.18 13:33 #2132 Vladimir Simakov #:使ってみてください))))ウラジミール、あなたはどこでこのようなスキームを得るのですか?私は、バー、最小限のサイクルを見つける上で私のトピックでは、その後、助けられた、どこかに既製の画像がありますか? 私は独学で、もともと別のプロファイルにあります。 このように、論理回路を組み合わせて、足し算をしたり、サイクルをスクロールさせたり......。 A100 2021.11.18 13:37 #2133 Vladimir Simakov #:まあ、激しいバグですね。例メモリが確保され、解放されるときにデストラクタが呼ばれるが(これはRAIIによれば期待される動作のヒントである)、オブジェクトの生成 時にコンストラクタが呼ばれることは忘れられている))。 2つ目の{}のエラーです。 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム mql5の特性、ヒントとコツ A100, 2021.11.16 13:43 F5がハングアップする。また、 矛盾した 回避策である リマインダー:ホバリングで1位、ユニオンで3位 TheXpert 2021.11.18 13:37 #2134 Vladimir Simakov #:活用してください))) ああ、あの増長した後の饒舌なこと...。) Vladimir Simakov 2021.11.18 13:53 #2135 Fast235 #:ウラジミール、あなたはどこでそのようなスキームを得るのですか?私はその時、最小限のサイクルで、バーを検索する私のトピックで、助けられた、どこかに既製の画像がありますか? 私は独学で、もともと別のプロファイルにあります。 論理回路を組み立て、足し算し、サイクルをスクロールするだけ...。 こういうのを、理解せずに既製品から使うのはやめましょう。このようなレコードで、あなたはここよりも少し複雑なものが必要な場合は、バグ、常に簡単に見つけることはできませんが、あなたはすぐに埋めることができます)))。 Fast235 2021.11.18 14:02 #2136 Vladimir Simakov #:このようなものを、理解せずに既製品で使うのはやめましょう。このような記録では、ここより少し複雑なものが必要な場合、いつも簡単には見つからないバグを、瞬時に作ることができます))) バーの検索は、列挙とテンプレートで行いました)) テンプレートはほとんど後回しにしていたのですが、1時間くらいでハマりました。 列挙と一緒にコードから削除したのは、おそらく、それらを使用するためのより深刻なタスクを持っていた -- つける フォーラムに書いてありますよ、ありがとうございました。 Ilyas 2021.11.18 16:08 #2137 Vladimir Simakov #:まあ、激しいバグですね。例メモリが確保され、それを解放するときにデストラクタが呼ばれるが(これはRAIIによれば期待される動作のヒントとなる)、オブジェクトを作成する ときのコンストラクタは呼ばれ忘れている))。 投稿ありがとうございました。 修正しました。 このコードでは、MQLの初期化シーケンスがまだ不完全なため、コンパイルエラーが発生します。 構造体については、シーケンスによる初期化が適切なパラメータによるコンストラクタ呼び出しに置き換えられていません - これを追加する予定です(無期限に延期されましたが、いくつかの新しいコードが製品に「漏れ」ました)。 mktr8591 2021.11.18 17:15 #2138 @A100 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム mql5の特性、ヒントとコツ A100, 2021.11.16 13:43 というのも、意味がないんです。 struct X { int i; }; void OnStart() { X x[200000] = {}; } F5がハングアップする。また、これは矛盾した 回避策です。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム mql5の特性、ヒントとコツ fxsaber, 2021.11.17 02:07 struct MqlTick2 : private MqlTick {}; void OnStart() { MqlTick2 Ticks[4] = {}; // OK ZeroMemory(Ticks); // 'Ticks' - not allowed for objects with protected members or inheritance } トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム mql5の特性、ヒントとコツ A100, 2021.11.17 02:20 4番目の間違いは自分でやったんだろ。なぜZeroMemoryは{}より悪いのですか?つまり、コンパイラが何らかの理由で検出できないprivateへのアクセスの無認可の仕組みがあるのです。 デベロッパーが直さないことを見越しているのでしょうか?むかしは、コンパイラもZeroMemoryには 反応しなかったんですよ。 mqlがC++から生まれたことを思い出すと、これらのクラスはコンストラクタ(つまり暗黙のコンストラクタ)を持たないので、これらの例(対応するもの)は両方ともそこそこうまく動作するのです。 ClassX x[n]={}; と宣言すると、配列の各要素に値が初期化 されます。 ClassX にカスタムコンストラクタがない場合(ただし、デフォルトの未設定コンストラクタはある)、クラスオブジェクトのゼロ初期化が行われます - プライベートフィールドがあるかどうかに関係なく、です。 しかし、constフィールドがある場合、デフォルトコンストラクタが暗黙のうちに削除されるため、コンパイラエラーとなります。 C++での例。 #include <iostream> using namespace std; class X { int a; public: int get(){return a;} //X(){} //так массив x не обнуляется //а если нет конструктора - то обнуляется }; int main() { X x[10]={}; for (int i=0; i<10;i++) cout<<x[i].get()<<endl; } したがって、構造体/クラスにconstフィールドがなければ、このロジックは正しいことになります。 mktr8591 2021.11.18 17:41 #2139 付け加えると、クラスが非自明なフィールド(オブジェクト)を持つ場合、そのようなフィールドのオブジェクト全体のゼロインの後に、そのデフォルトのc-torが呼び出されることになります。 Igor Makanu 2021.11.18 17:48 #2140 fxsaber #: こんな記録は見たことがない。 MQL5で調べたところ、もっとひどいかもしれません、インジケーターのヒストリーを数TF分汲み上げるくらいです。 void FindHighLow(THL &hl[], const ENUM_TIMEFRAMES tf, const datetime start_time, const int sz_buf = 1000) { ZeroMemory(hl);//hl структура datetime st = start_time; MqlRates rates[]; for(int i = 0, c = CopyRates(_Symbol, tf, st, sz_buf, rates); ArraySize(rates) > 0 && i < ArraySize(hl); st = rates[0].time - PeriodSeconds(tf), c = CopyRates(_Symbol, tf, st, sz_buf, rates)) { for(int j = ArraySize(rates) - 1; j >= 0 && i < ArraySize(hl); j--) { .... } } for文の中にいろいろ書けるんです ))) 1...207208209210211212213214215216217218219220221...247 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そんなエントリーに出会ったのは初めてです。
使ってみてください)))
使ってみてください))))
ウラジミール、あなたはどこでこのようなスキームを得るのですか?私は、バー、最小限のサイクルを見つける上で私のトピックでは、その後、助けられた、どこかに既製の画像がありますか? 私は独学で、もともと別のプロファイルにあります。
このように、論理回路を組み合わせて、足し算をしたり、サイクルをスクロールさせたり......。まあ、激しいバグですね。例
メモリが確保され、解放されるときにデストラクタが呼ばれるが(これはRAIIによれば期待される動作のヒントである)、オブジェクトの生成 時にコンストラクタが呼ばれることは忘れられている))。
2つ目の{}のエラーです。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
mql5の特性、ヒントとコツ
A100, 2021.11.16 13:43
F5がハングアップする。また、 矛盾した 回避策である
リマインダー:ホバリングで1位、ユニオンで3位
活用してください)))
ウラジミール、あなたはどこでそのようなスキームを得るのですか?私はその時、最小限のサイクルで、バーを検索する私のトピックで、助けられた、どこかに既製の画像がありますか? 私は独学で、もともと別のプロファイルにあります。
論理回路を組み立て、足し算し、サイクルをスクロールするだけ...。こういうのを、理解せずに既製品から使うのはやめましょう。このようなレコードで、あなたはここよりも少し複雑なものが必要な場合は、バグ、常に簡単に見つけることはできませんが、あなたはすぐに埋めることができます)))。
このようなものを、理解せずに既製品で使うのはやめましょう。このような記録では、ここより少し複雑なものが必要な場合、いつも簡単には見つからないバグを、瞬時に作ることができます)))
バーの検索は、列挙とテンプレートで行いました))
テンプレートはほとんど後回しにしていたのですが、1時間くらいでハマりました。
列挙と一緒にコードから削除したのは、おそらく、それらを使用するためのより深刻なタスクを持っていた
--
つける
フォーラムに書いてありますよ、ありがとうございました。
まあ、激しいバグですね。例
メモリが確保され、それを解放するときにデストラクタが呼ばれるが(これはRAIIによれば期待される動作のヒントとなる)、オブジェクトを作成する ときのコンストラクタは呼ばれ忘れている))。
投稿ありがとうございました。
修正しました。
このコードでは、MQLの初期化シーケンスがまだ不完全なため、コンパイルエラーが発生します。
構造体については、シーケンスによる初期化が適切なパラメータによるコンストラクタ呼び出しに置き換えられていません - これを追加する予定です(無期限に延期されましたが、いくつかの新しいコードが製品に「漏れ」ました)。
@A100
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
mql5の特性、ヒントとコツ
A100, 2021.11.16 13:43
というのも、意味がないんです。
F5がハングアップする。また、これは矛盾した 回避策です。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
mql5の特性、ヒントとコツ
fxsaber, 2021.11.17 02:07
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
mql5の特性、ヒントとコツ
A100, 2021.11.17 02:20
4番目の間違いは自分でやったんだろ。なぜZeroMemoryは{}より悪いのですか?つまり、コンパイラが何らかの理由で検出できないprivateへのアクセスの無認可の仕組みがあるのです。
デベロッパーが直さないことを見越しているのでしょうか?むかしは、コンパイラもZeroMemoryには 反応しなかったんですよ。
mqlがC++から生まれたことを思い出すと、これらのクラスはコンストラクタ(つまり暗黙のコンストラクタ)を持たないので、これらの例(対応するもの)は両方ともそこそこうまく動作するのです。
C++での例。
したがって、構造体/クラスにconstフィールドがなければ、このロジックは正しいことになります。
こんな記録は見たことがない。
MQL5で調べたところ、もっとひどいかもしれません、インジケーターのヒストリーを数TF分汲み上げるくらいです。
for文の中にいろいろ書けるんです )))