MQL5におけるOOPに関する質問 - ページ 23 1...161718192021222324252627282930...96 新しいコメント Igor Makanu 2019.09.01 12:39 #221 Vladimir Simakov: 今夜中にお見せします。今度は携帯電話から。 よっしゃー しかし、私の意見では、コードに混乱が生じます。どのメソッドが呼ばれるのか、このコード構造では理解するのが難しくなります。 各ストラテジーに必ず1つずつコンストラクタを持つようにしているのですが、これらのコンストラクタはまだ必要ないようです...。でも、この可能性を残しておくと、余計なお世話ですが ZS:全戦略のベースクラス自体もかなりコンパクトになっていますね、そのあたりは。 class CStrategy: public IStrategy { protected: SSettingsForOrder m_setting; COrder *m_order; void RunStrategy(); double CalcLot(); double GetPrice(); }; 今のところ、コード構造が読みやすく、論理的であることが気に入っています。そして、「このようなものすべてにおいて」最も重要なことは、何らかのプロトタイプを作り、戦略自体を素早く追加し、それをテストできるようにすることです。 原理的には全て書き終えていたのですが、コードが気に入らないので、サービス関数(注文を開く、ロット計算など)の形で手続き的に書き、そのサービス関数の呼び出しとロジックで小さなクラスを書き、なるべく良いものにしようと思いました)))。 Vladimir Simakov 2019.09.01 18:36 #222 Igor Makanu: よっしゃー しかし、私の意見では、コードに混乱が生じます。どのメソッドが呼ばれるのか、このコード構造では理解するのが難しくなります。 各ストラテジーに必ず1つずつコンストラクタを持つようにしているのですが、これらのコンストラクタはまだ必要ないようです...。でも、この可能性を残しておくと、余計なお世話ですが ZS:全戦略のベースクラス自体もかなりコンパクトになっていますね、そのあたりは。 今のところ、コード構造が読みやすく、論理的であることが気に入っています。そして、「このようなものすべてにおいて」最も重要なことは、何らかのプロトタイプを作り、戦略自体を素早く追加し、それをテストできるようにすることです。 原理的には全て書き終えていたのですが、コードが気に入らない - サービス関数(注文を開く、ロットを計算する、など)を手続き型で書き、そのサービス関数のロジックと呼び出しを小さなクラスで書き、なるべく良いものにしようと思ったのです))) //+------------------------------------------------------------------+ class CStrategy { protected: int x; public: CStrategy(int _x):x(_x){} virtual void Algorithm()=0;}; //+------------------------------------------------------------------+ class CStrategy_01:public CStrategy { public: CStrategy_01():CStrategy(1) {Print(__FUNCTION__);} void Algorithm() {Print(__FUNCTION__,", x = ",x); } }; //+------------------------------------------------------------------+ class CStrategy_02:public CStrategy { public: CStrategy_02():CStrategy(2) {Print(__FUNCTION__);} void Algorithm() {Print(__FUNCTION__,", x = ",x); } }; //+------------------------------------------------------------------+ class Context { private: CStrategy *s; public: Context(CStrategy* _strategy):s(_strategy) { Print(__FUNCTION__);} ~Context() { delete s; } void GetStrategy() { s.Algorithm(); } }; //+------------------------------------------------------------------+ Context c1(new CStrategy_01); Context c2(new CStrategy_02); //+------------------------------------------------------------------+ void OnStart() { c1.GetStrategy(); c2.GetStrategy(); } そのほうがよさそうですね。 Igor Makanu 2019.09.01 18:44 #223 Vladimir Simakov: 私にはその方がよく見えるのです。 基本的には同じことですが、本には載っていません)))) ZS: とりあえず、インターフェイスをいじったので、そのままにしておいて下さい!純粋にショーとして。 Vladimir Simakov 2019.09.01 18:59 #224 Igor Makanu: 基本的には同じことですが、本には載っていません)))) ZS: とりあえず、インターフェイスはボルトで固定しました。 まさにプロフェッショナルなスタイルで))) Igor Makanu 2019.09.01 19:05 #225 Vladimir Simakov: ただ、プラスアルファのスタイルで)))) C#を使う人が少ない、というかアプリケーションプログラマがみんなC#に移行してしまい、大手のソフトウェア開発者しかC#を使っていない。 C#の例はすべてインターフェイス経由なので、役に立たないのは明らかです・・・。暴言は吐かないが、インターフェイスがなくても何でも書ける、コンセプト、スタイル...。しかし、コンセプト、スタイル、その他の脳の霧は、MicrosoftがC#で例を書くために使用していた方法であることを教えてくれます - ただ座って、それらもそのように書く!? ))) Alexey Volchanskiy 2019.09.01 19:28 #226 Igor Makanu: C#を使う人が少ない、というかアプリケーションプログラマがみんなC#に移行してしまい、大手のソフトウェア開発者しかC#を使っていない。 C#の例はすべてインターフェイス経由なので、役に立たないのは明らかです・・・。暴言は吐かないが、インターフェイスがなくても何でも書ける、コンセプト、スタイル...。しかし、コンセプト、スタイル、その他の脳の霧は、MicrosoftがC#で例を書くために使用していた方法であることを教えてくれます - ただ座って、それらもそのように書いてください。 ))) .NET以下のプラスで書くと不便なので移動、シャープは元々ドットネット用の言語として設計されている。これは個人的な意見ですが、最初は.NETでプラスを書いていて、不器用な感じがしました。 とはいえ...新プロに色々追加されてるので、もしかしたらもっと楽しいかも。 Vladimir Simakov 2019.09.01 19:35 #227 Alexey Volchanskiy: プラスは.NETで書くと不便だし、シャープはもともとドットネット用の言語として開発されたものなので、切り替えました。これは私の主観ですが、一度.NETの下でプラスで書いてみると、不器用な印象が残りました。 とはいえ...新プロに色々追加されてるので、もしかしたらもっと楽しいかも。 今、ある作業のためにWindowsフォームを書いていて、c++/cliを触って、使わないことにして、c#を印刷したところです。 Alexey Volchanskiy 2019.09.01 19:39 #228 Vladimir Simakov: 今、ある作業のためにWindowsフォームを書いていて、c++/cliを触って、もう忘れようと思ってc#を印刷したところなんです。 そうですね、シャープの方が一桁楽ですからね。しかも、スピードはほとんど同じ、それこそクリ抜きでプロが1.5倍で勝っているのです。 Igor Makanu 2019.09.01 19:41 #229 Vladimir Simakov: ちょうど今、ある作業のためにウィンドウズフォームを書いていて、c++/cliを触って、使わないことにしてc#を出力しています。 年始にcliを触ってみたのですが.私は2日間、このクリを作った人の非人間的なロジックを満足していた - 構文は複雑で、すべてが便利ではありません、例と非常に少ない情報があり、イモや純粋なC + +またはC# - すべての欲求を、構文は明らかである - その結果、あなたが取ると書いている。 Alexey Volchanskiy 2019.09.01 19:48 #230 Igor Makanu: 年始にcliを触ってみたのですが.構文は複雑で、すべてが便利ではありません、例と非常に少ない情報がある、イモ - 純粋なC + +またはC# - すべての欲望がgoogledされ、構文は明らかである - 最後にあなたが得る、あなたが書く シャープは2000年頃に誕生して黎明期でしたが、プラスが支配していたので、C++とドットネットの橋渡しをして普及を図っています。 ところで、シャープはDelphiとC++Builderの開発者が作ったものですが、当時は「共通概念がどれだけあるんだろう」と思っていたんですね。同じ性質、事象を取る。 1...161718192021222324252627282930...96 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
今夜中にお見せします。今度は携帯電話から。
よっしゃー
しかし、私の意見では、コードに混乱が生じます。どのメソッドが呼ばれるのか、このコード構造では理解するのが難しくなります。
各ストラテジーに必ず1つずつコンストラクタを持つようにしているのですが、これらのコンストラクタはまだ必要ないようです...。でも、この可能性を残しておくと、余計なお世話ですが
ZS:全戦略のベースクラス自体もかなりコンパクトになっていますね、そのあたりは。
今のところ、コード構造が読みやすく、論理的であることが気に入っています。そして、「このようなものすべてにおいて」最も重要なことは、何らかのプロトタイプを作り、戦略自体を素早く追加し、それをテストできるようにすることです。
原理的には全て書き終えていたのですが、コードが気に入らないので、サービス関数(注文を開く、ロット計算など)の形で手続き的に書き、そのサービス関数の呼び出しとロジックで小さなクラスを書き、なるべく良いものにしようと思いました)))。
よっしゃー
しかし、私の意見では、コードに混乱が生じます。どのメソッドが呼ばれるのか、このコード構造では理解するのが難しくなります。
各ストラテジーに必ず1つずつコンストラクタを持つようにしているのですが、これらのコンストラクタはまだ必要ないようです...。でも、この可能性を残しておくと、余計なお世話ですが
ZS:全戦略のベースクラス自体もかなりコンパクトになっていますね、そのあたりは。
今のところ、コード構造が読みやすく、論理的であることが気に入っています。そして、「このようなものすべてにおいて」最も重要なことは、何らかのプロトタイプを作り、戦略自体を素早く追加し、それをテストできるようにすることです。
原理的には全て書き終えていたのですが、コードが気に入らない - サービス関数(注文を開く、ロットを計算する、など)を手続き型で書き、そのサービス関数のロジックと呼び出しを小さなクラスで書き、なるべく良いものにしようと思ったのです)))
そのほうがよさそうですね。
私にはその方がよく見えるのです。
基本的には同じことですが、本には載っていません))))
ZS: とりあえず、インターフェイスをいじったので、そのままにしておいて下さい!純粋にショーとして。
基本的には同じことですが、本には載っていません))))
ZS: とりあえず、インターフェイスはボルトで固定しました。
ただ、プラスアルファのスタイルで))))
C#を使う人が少ない、というかアプリケーションプログラマがみんなC#に移行してしまい、大手のソフトウェア開発者しかC#を使っていない。
C#の例はすべてインターフェイス経由なので、役に立たないのは明らかです・・・。暴言は吐かないが、インターフェイスがなくても何でも書ける、コンセプト、スタイル...。しかし、コンセプト、スタイル、その他の脳の霧は、MicrosoftがC#で例を書くために使用していた方法であることを教えてくれます - ただ座って、それらもそのように書く!?
)))
C#を使う人が少ない、というかアプリケーションプログラマがみんなC#に移行してしまい、大手のソフトウェア開発者しかC#を使っていない。
C#の例はすべてインターフェイス経由なので、役に立たないのは明らかです・・・。暴言は吐かないが、インターフェイスがなくても何でも書ける、コンセプト、スタイル...。しかし、コンセプト、スタイル、その他の脳の霧は、MicrosoftがC#で例を書くために使用していた方法であることを教えてくれます - ただ座って、それらもそのように書いてください。
)))
.NET以下のプラスで書くと不便なので移動、シャープは元々ドットネット用の言語として設計されている。これは個人的な意見ですが、最初は.NETでプラスを書いていて、不器用な感じがしました。
とはいえ...新プロに色々追加されてるので、もしかしたらもっと楽しいかも。
プラスは.NETで書くと不便だし、シャープはもともとドットネット用の言語として開発されたものなので、切り替えました。これは私の主観ですが、一度.NETの下でプラスで書いてみると、不器用な印象が残りました。
とはいえ...新プロに色々追加されてるので、もしかしたらもっと楽しいかも。
今、ある作業のためにWindowsフォームを書いていて、c++/cliを触って、もう忘れようと思ってc#を印刷したところなんです。
そうですね、シャープの方が一桁楽ですからね。しかも、スピードはほとんど同じ、それこそクリ抜きでプロが1.5倍で勝っているのです。
ちょうど今、ある作業のためにウィンドウズフォームを書いていて、c++/cliを触って、使わないことにしてc#を出力しています。
年始にcliを触ってみたのですが.私は2日間、このクリを作った人の非人間的なロジックを満足していた - 構文は複雑で、すべてが便利ではありません、例と非常に少ない情報があり、イモや純粋なC + +またはC# - すべての欲求を、構文は明らかである - その結果、あなたが取ると書いている。
年始にcliを触ってみたのですが.構文は複雑で、すべてが便利ではありません、例と非常に少ない情報がある、イモ - 純粋なC + +またはC# - すべての欲望がgoogledされ、構文は明らかである - 最後にあなたが得る、あなたが書く
シャープは2000年頃に誕生して黎明期でしたが、プラスが支配していたので、C++とドットネットの橋渡しをして普及を図っています。 ところで、シャープはDelphiとC++Builderの開発者が作ったものですが、当時は「共通概念がどれだけあるんだろう」と思っていたんですね。同じ性質、事象を取る。