MQL5におけるOOPに関する質問 - ページ 60 1...535455565758596061626364656667...96 新しいコメント Aleksey Mavrin 2020.05.19 07:56 #591 Igor Makanu: おはこんばんちわ この質問は、enumがあり、我々は配列enumまたはリストenumまたはコンテナenumのいずれかが必要です - 7 enumを格納する何か、しかし食欲は、おそらく70 enumを成長させる。 どこ 配列とリストとコンテナの両方が、タスクによって可能です。私の理解では、おそらくコードを書くのを単純化する必要があり、その場合、列挙型をグループに分割し、各オブジェクトのパラメータ用の構造体に結合することができます。 実行段階の話であれば、値・ペアを指定するときだけenumを使うのが普通だと思います。そして、それらを格納するために、単純なベースタイプを使用します。 Igor Makanu 2020.05.19 10:35 #592 Aleksey Mavrin: タスクに応じて、配列、リスト、コンテナを作ることができます。私の理解では、おそらくコードを書くのを単純化する必要があり、そうすれば、列挙型をグループに分け、各オブジェクトのパラメータ用の構造体にまとめることができます。 実行段階の話であれば、値・ペアを指定するときだけenumを使うのが普通だと思います。そして、それらを格納するために、単純なベースタイプを使用します。 最初はそうだったのですが、あるビルドでそのようなフィールドの初期化というか、MEのenumのオートコンプリートバリアントに問題があったようで、おそらく別のインジェクタのコードの一部が...ということが原因だったようです。この選択肢を検討してみましょう。 ネットで調べると、こんなシャープなのが欲しい...。いくつかのプロパティ(((。 public class COrder { public enum E_MOTION { HIGHER, LOWER, ZIGZAG } public enum E_VOLUME { FIXED, INC, DEC } public E_MOTION OrderMotionType { get; set; } public E_VOLUME OrderVolumeType { get; set; } } class Program { static void Main(string[] args) { var current = new COrder { OrderMotionType = COrder.E_MOTION.HIGHER, OrderVolumeType = COrder.E_VOLUME.FIXED }; } } Vladimir Simakov 2020.05.19 18:35 #593 Igor Makanu: このようなフィールドの初期化というか、MEでのenumバリアントのオートコンプリートに問題があったようで、おそらく別のインジェクタのコードの一部が...でした。この選択肢を検討してみましょう。 ネットで調べると、こんなシャープなのが欲しい...。何らかのプロパティーがある(( 何が問題なのか? 一対一なら。 class COrder { public: enum E_MOTION { HIGHER, LOWER, ZIGZAG }; enum E_VOLUME { FIXED, INC, DEC }; E_MOTION orderMotionType; E_VOLUME orderVolumeType; COrder(E_MOTION _motion, E_VOLUME _volume):orderMotionType(_motion),orderVolumeType(_volume){} }; void OnStart(){ COrder* current = new COrder(COrder::HIGHER,COrder::FIXED); } これは、列挙をグローバルスコープに 置きたくない場合です。 Igor Makanu 2020.05.19 18:42 #594 Vladimir Simakov: これは、グローバルスコープに 列挙を置きたくない場合です。 ふむ ただ、その方法がわからなかったのです。 COrder* current = new COrder(COrder::HIGHER,COrder::FIXED); ありがとうございます。 Igor Makanu 2020.05.20 03:06 #595 シンプルなオブジェクトをJSONにアップ ロードするためのエレガントなソリューションを持って いる人はいますか? MQLのこのようなコードの例が必要です。 public class COrder { public enum E_MOTION { HIGHER, LOWER, ZIGZAG } public enum E_VOLUME { FIXED, INC, DEC } public bool IsRunning { get; set; } public int OpenPrice { get; set; } public int ClosePrice { get; set; } public E_VOLUME OrderVolumeType { get; set; } public E_MOTION OrderMotionType { get; set; } } class Program { static void Main(string[] args) { var current = new COrder { IsRunning = false, OpenPrice = 1200, ClosePrice = 1300, OrderMotionType = COrder.E_MOTION.ZIGZAG, OrderVolumeType = COrder.E_VOLUME.FIXED }; string json = JsonSerializer.Serialize<COrder>(current); Console.WriteLine(json); Console.ReadLine(); } } {"IsRunning":false,"OpenPrice":1200,"ClosePrice":1300,"OrderVolumeType":0,"OrderMotionType":2} MQLシリアライザーがhttps://www.mql5.com/ru/code/13663 で 利用可能 が、正しいフィールドトラバーサルの構造を理解していない Alexey Navoykov 2020.05.20 04:45 #596 Igor Makanu: しかし、オブジェクトのフィールドを適切にトラバースする方法がわからない マクロが全てです) Igor Makanu 2020.05.20 04:48 #597 Alexey Navoykov: マクロがすべて!) うんうん...もう一度聞いてみます。 試験官を助けてください!お願いします Alexey Navoykov 2020.05.20 05:10 #598 Igor Makanu: うんうん...もう一度聞いてみます。 助けて!例題が欲しい! お願いします。 まあ、具体的にフィールドを迂回するという質問であれば、こんな感じでしょうか。 #define SERIALIZE5(object, m1, m2, m3, m4, m5) /* your code */ ... SERIALIZE5(current, IsRunning, OpenPrice, ClosePrice, OrderVolumeType, OrderMotionType); そして、マクロの本体は自分で鍛えることができる) Igor Makanu 2020.05.20 05:12 #599 Alexey Navoykov: まあ、フィールドトラバーサルに関する質問であれば、だいたいこんな感じでしょうか。 そして、マクロの本体は自分で鍛えることができる) なるほど、そういうことだったのか! ありがとうございました。 Alexey Navoykov 2020.05.20 05:36 #600 一方、シリアライゼーションでは、フィールドのテキスト名を明示的に指定した方がよいでしょう。そうすれば、保存したファイルが動作しなくなることを心配せずに、後でコードの中でフィールド名を変更することができます。 1...535455565758596061626364656667...96 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
おはこんばんちわ
この質問は、enumがあり、我々は配列enumまたはリストenumまたはコンテナenumのいずれかが必要です - 7 enumを格納する何か、しかし食欲は、おそらく70 enumを成長させる。
どこ
配列とリストとコンテナの両方が、タスクによって可能です。私の理解では、おそらくコードを書くのを単純化する必要があり、その場合、列挙型をグループに分割し、各オブジェクトのパラメータ用の構造体に結合することができます。
実行段階の話であれば、値・ペアを指定するときだけenumを使うのが普通だと思います。そして、それらを格納するために、単純なベースタイプを使用します。
タスクに応じて、配列、リスト、コンテナを作ることができます。私の理解では、おそらくコードを書くのを単純化する必要があり、そうすれば、列挙型をグループに分け、各オブジェクトのパラメータ用の構造体にまとめることができます。
実行段階の話であれば、値・ペアを指定するときだけenumを使うのが普通だと思います。そして、それらを格納するために、単純なベースタイプを使用します。
最初はそうだったのですが、あるビルドでそのようなフィールドの初期化というか、MEのenumのオートコンプリートバリアントに問題があったようで、おそらく別のインジェクタのコードの一部が...ということが原因だったようです。この選択肢を検討してみましょう。
ネットで調べると、こんなシャープなのが欲しい...。いくつかのプロパティ(((。
このようなフィールドの初期化というか、MEでのenumバリアントのオートコンプリートに問題があったようで、おそらく別のインジェクタのコードの一部が...でした。この選択肢を検討してみましょう。
ネットで調べると、こんなシャープなのが欲しい...。何らかのプロパティーがある((
何が問題なのか?
一対一なら。
これは、列挙をグローバルスコープに 置きたくない場合です。
これは、グローバルスコープに 列挙を置きたくない場合です。
ふむ
ただ、その方法がわからなかったのです。
ありがとうございます。
シンプルなオブジェクトをJSONにアップ ロードするためのエレガントなソリューションを持って いる人はいますか?
MQLのこのようなコードの例が必要です。
MQLシリアライザーがhttps://www.mql5.com/ru/code/13663 で 利用可能
が、正しいフィールドトラバーサルの構造を理解していない
しかし、オブジェクトのフィールドを適切にトラバースする方法がわからない
マクロがすべて!)
うんうん...もう一度聞いてみます。
試験官を助けてください!お願いします
うんうん...もう一度聞いてみます。
助けて!例題が欲しい! お願いします。
まあ、具体的にフィールドを迂回するという質問であれば、こんな感じでしょうか。
そして、マクロの本体は自分で鍛えることができる)
まあ、フィールドトラバーサルに関する質問であれば、だいたいこんな感じでしょうか。
そして、マクロの本体は自分で鍛えることができる)
なるほど、そういうことだったのか!
ありがとうございました。