MQL5におけるOOPに関する質問 - ページ 42 1...353637383940414243444546474849...96 新しいコメント Dmitry Fedoseev 2019.09.17 02:03 #411 Igor Makanu: ... はすべてprivateメソッドで呼び出されますが、ソースコードでCheckPointer(m_order)==POINTER_INVALIDから逃れるための「ジェダイの考え方」はあるのでしょうか? ... これはトリックではない可能性が高いです。アルゴリズムがそうなっていて、順序がない場合はコードのこの部分は実行されないはずです。 あるいは、そのような意図があったのかもしれません。しかし、ありえないことですが、ポインタがあっても注文があるとは限らないので、注文があるかどうかを確認する必要があります。 A100 2019.09.17 03:03 #412 Igor Makanu: そして、私の記憶が正しければ、今年の初めには、ログでNULLの設定を解除して0を得ることができましたが、現在は、次のようなエラーが発生します。 変更点 トレーディング、自動売買システム、ストラテジーテスターに関するフォーラム バグ、バグ、質問 キリル・ベローゾフ さん 2017.12.14 21:34 Print(NULL); // 'NULL' - expression of 'void' type is illegal Alert(NULL); // 'NULL' - expression of 'void' type is illegal 引退の時期 Igor Makanu 2019.09.17 04:02 #413 A100: 変更点 そうですね、でもMT4でやっていた方法を思い出して、ポインタの登録を解除してみました。 class A {}; A *a; void OnStart() { Print("1 : ",a); a= new A; Print("2 : ",a); a = NULL; Print("3 : ",a); delete a; } 2019.09.17 07:52:40.855 tst (EURUSD,H1) 1 : 0 2019.09.17 07:52:40.856 tst (EURUSD,H1) 2 : 1048576 2019.09.17 07:52:40.856 tst (EURUSD,H1) 3 : 0 2019.09.17 07:52:40.856 tst (EURUSD,H1) 1 未削除のオブジェクトが残っています。 2019.09.17 07:52:40.856 tst (EURUSD,H1) 1 object of type A left 2019.09.17 07:52:40.856 tst (EURUSD,H1) 24 bytes of leaked memory ドミトリー・フェドセーエフ これはおそらく、注文がない場合はこの部分が実行されないようなアルゴリズムになっているはずです。 あるいは、そのように意図されているのかもしれません。しかし、ポインタがあってもオーダーがあるとは限らないので、オーダーの存在を確認する必要があります。 問題によっては、私はすでにコードで、それ自体が市場にあるものを見るだろう "注文オブジェクト "を作成する方法を書いている - デザイナーで注文を検索するマジックを使用して、それが見つかった場合は、それを拾うでしょう、価格に応じて注文を開く、注文タイプ自体がカウント(市場または保留)、ロット正規化、再引数が前のティックで、次のティックで正常に注文配置後、SLの配置などなど... 。 は、"order object "が介在することなく、すべて自分自身で行われる。 最終的には、ストラテジーは注文の利益(現在かすでに決済されているかは関係ない!)と注文 自体の状態(未発注、有効、すでに決済されている)に興味があるのです。 というのは、ポインタをチェックする必要があり、後でチェックせずに試すことができるからです。) Questions on OOP in Errors, bugs, questions エラー、バグ、質問 Vladimir Simakov 2019.09.17 04:40 #414 Igor Makanu: ではなく、昔持っていたものを書きたかったのです。 という感じでした。 が、MQLでマクロ置換を確認する方法を思い出しました。 2019.09.16 22:57:42.837 tst (EURUSD,H1) a = 1 2019.09.16 22:57:42.837 tst (EURUSD,H1) POINTER_INVALID= 0 2019.09.16 22:57:42.837 tst (EURUSD,H1) NULL = 0 そして、私の記憶が正しければ、今年の初めには、NULLをログにアンプリンターすることができ、そこで0を得ることができましたが、今ではエラーが表示されるようになりました。 つまり、NULLの挙動は今後も変わらないはずですが、NULLの代わりに何が代入されているのかが不明です。おそらく、この状況を今チェックすると、if(CheckPointer(m_order)==POINTER_INVALID)) と書かれているように、 正しいコードと言える でしょう)) お気軽にご応募ください。ソースコードのNULLは98%の信頼性で#define NULL nullptrのようなものです。 A100 2019.09.17 16:24 #415 Vladimir Simakov: そして、砂糖にはこれ。 最初の簡単なテストでは void OnStart() { A * const a = new A; DELETE(a); //Error: 'a' - constant cannot be modified } 砂糖ではなく、別のものであることを......。液性物質 Dmitry Fedoseev 2019.09.17 16:56 #416 A100: 最初の簡単なテストでは 砂糖ではなく、別のものであることを......。より液状の物質。 ないため)NULLは、ここでもそこでもない。CheckPointer()関数を 使用する必要があります。ポインタはそれ自体でゼロにする必要はありません。削除後はそれ自体でPOINTER_INVALIDになります。 Igor Makanu 2019.09.17 17:13 #417 Dmitry Fedoseev: なぜなら、そこはあなたのいる場所ではないからです))NULLは、ここでもそこでもない。CheckPointer()関数を 使用する必要があります。ポインタを削除すると勝手にPOINTER_INVALIDになるので、自分でゼロにする必要はない。 管理人を読んでいると、「コードを正しく書け」というのはたいてい次のように聞こえます。 MQLは一般的に、常に厳しいです、新しいビルド、新しいトラブル、あなたは私が間違ってそれを使用した場合、ここに行くとサインを見つけるために開始します )))) 。 Vladimir Simakov 2019.09.17 17:20 #418 A100: 最初の簡単なテストでは 砂糖ではなく、別のものであることを......。液性物質 いい人だ。フリーランスの仕事、市場での製品、プログラミングに関する出版物の統計はどこにあるのでしょうか?それとも、コンスタントポインターの話題で誰かの目を引きたいのか、あるいは物質タイプの話題で自分の知識をひけらかしたいのか......?今後は、コンパイラーエラーを再現しようとするのではなく、例の文脈を考慮するようにしてください。 A100 2019.09.17 17:59 #419 Vladimir Simakov: 親愛なる人へ。フリーランスの仕事、市場での製品、プログラミングに関連する出版物の統計は どこにありますか?それとも、コンスタントポインターの話題で誰かの目を引きたいのか、物質タイプの話題で自分の知識をひけらかしたいのか・・・?今後は、コンパイラーエラーを再現しようとするのではなく、例の文脈を考慮するようにしてください。 私は単純な文脈で、コード(この場合はマクロ)がエラーで書かれている場合、それを報告する(そしてそれを証明する例を示す)ことが可能だと考えています。そして、この文脈では、統計と 何の関係があるのか、私にはよくわからないのです Igor Makanu 2019.09.17 18:27 #420 A100: そして、この文脈では、統計と 何の関係があるのか、私にはよくわからないのです。 シンプルであれば、人は集まってくる。 ;) SZZY:あなたの記事はほとんど常に良いアイデアですが、材料のプレゼンテーションは、まあ、完全に善意ではなく、もちろんあなたのビジネスが、イモ、助けたい - ヘルプ、巧妙でありたい、まあ、しばしばそれはそう判明する それはあなた次第ですが、オンラインリソースで自尊心を高める - ....入力し続けるのが面倒くさい。 1...353637383940414243444546474849...96 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
...
はすべてprivateメソッドで呼び出されますが、ソースコードでCheckPointer(m_order)==POINTER_INVALIDから逃れるための「ジェダイの考え方」はあるのでしょうか?
...
これはトリックではない可能性が高いです。アルゴリズムがそうなっていて、順序がない場合はコードのこの部分は実行されないはずです。
あるいは、そのような意図があったのかもしれません。しかし、ありえないことですが、ポインタがあっても注文があるとは限らないので、注文があるかどうかを確認する必要があります。
そして、私の記憶が正しければ、今年の初めには、ログでNULLの設定を解除して0を得ることができましたが、現在は、次のようなエラーが発生します。
変更点
トレーディング、自動売買システム、ストラテジーテスターに関するフォーラム
バグ、バグ、質問
キリル・ベローゾフ さん 2017.12.14 21:34
引退の時期
変更点
そうですね、でもMT4でやっていた方法を思い出して、ポインタの登録を解除してみました。
2019.09.17 07:52:40.855 tst (EURUSD,H1) 1 : 0
2019.09.17 07:52:40.856 tst (EURUSD,H1) 2 : 1048576
2019.09.17 07:52:40.856 tst (EURUSD,H1) 3 : 0
2019.09.17 07:52:40.856 tst (EURUSD,H1) 1 未削除のオブジェクトが残っています。
2019.09.17 07:52:40.856 tst (EURUSD,H1) 1 object of type A left
2019.09.17 07:52:40.856 tst (EURUSD,H1) 24 bytes of leaked memory
これはおそらく、注文がない場合はこの部分が実行されないようなアルゴリズムになっているはずです。
あるいは、そのように意図されているのかもしれません。しかし、ポインタがあってもオーダーがあるとは限らないので、オーダーの存在を確認する必要があります。
問題によっては、私はすでにコードで、それ自体が市場にあるものを見るだろう "注文オブジェクト "を作成する方法を書いている - デザイナーで注文を検索するマジックを使用して、それが見つかった場合は、それを拾うでしょう、価格に応じて注文を開く、注文タイプ自体がカウント(市場または保留)、ロット正規化、再引数が前のティックで、次のティックで正常に注文配置後、SLの配置などなど... 。 は、"order object "が介在することなく、すべて自分自身で行われる。
最終的には、ストラテジーは注文の利益(現在かすでに決済されているかは関係ない!)と注文 自体の状態(未発注、有効、すでに決済されている)に興味があるのです。
というのは、ポインタをチェックする必要があり、後でチェックせずに試すことができるからです。)
ではなく、昔持っていたものを書きたかったのです。
という感じでした。
が、MQLでマクロ置換を確認する方法を思い出しました。
2019.09.16 22:57:42.837 tst (EURUSD,H1) a = 1
2019.09.16 22:57:42.837 tst (EURUSD,H1) POINTER_INVALID= 0
2019.09.16 22:57:42.837 tst (EURUSD,H1) NULL = 0
そして、私の記憶が正しければ、今年の初めには、NULLをログにアンプリンターすることができ、そこで0を得ることができましたが、今ではエラーが表示されるようになりました。
つまり、NULLの挙動は今後も変わらないはずですが、NULLの代わりに何が代入されているのかが不明です。おそらく、この状況を今チェックすると、if(CheckPointer(m_order)==POINTER_INVALID)) と書かれているように、 正しいコードと言える でしょう))
そして、砂糖にはこれ。
最初の簡単なテストでは
砂糖ではなく、別のものであることを......。液性物質
最初の簡単なテストでは
砂糖ではなく、別のものであることを......。より液状の物質。
ないため)NULLは、ここでもそこでもない。CheckPointer()関数を 使用する必要があります。ポインタはそれ自体でゼロにする必要はありません。削除後はそれ自体でPOINTER_INVALIDになります。
なぜなら、そこはあなたのいる場所ではないからです))NULLは、ここでもそこでもない。CheckPointer()関数を 使用する必要があります。ポインタを削除すると勝手にPOINTER_INVALIDになるので、自分でゼロにする必要はない。
管理人を読んでいると、「コードを正しく書け」というのはたいてい次のように聞こえます。
MQLは一般的に、常に厳しいです、新しいビルド、新しいトラブル、あなたは私が間違ってそれを使用した場合、ここに行くとサインを見つけるために開始します )))) 。
最初の簡単なテストでは
砂糖ではなく、別のものであることを......。液性物質
親愛なる人へ。フリーランスの仕事、市場での製品、プログラミングに関連する出版物の統計は どこにありますか?それとも、コンスタントポインターの話題で誰かの目を引きたいのか、物質タイプの話題で自分の知識をひけらかしたいのか・・・?今後は、コンパイラーエラーを再現しようとするのではなく、例の文脈を考慮するようにしてください。
私は単純な文脈で、コード(この場合はマクロ)がエラーで書かれている場合、それを報告する(そしてそれを証明する例を示す)ことが可能だと考えています。そして、この文脈では、統計と 何の関係があるのか、私にはよくわからないのです
そして、この文脈では、統計と 何の関係があるのか、私にはよくわからないのです。
シンプルであれば、人は集まってくる。
;)
SZZY:あなたの記事はほとんど常に良いアイデアですが、材料のプレゼンテーションは、まあ、完全に善意ではなく、もちろんあなたのビジネスが、イモ、助けたい - ヘルプ、巧妙でありたい、まあ、しばしばそれはそう判明する
それはあなた次第ですが、オンラインリソースで自尊心を高める - ....入力し続けるのが面倒くさい。