オーダーを探すという作業 - ページ 3 12345678910...14 新しいコメント Vladimir Pastushak 2015.08.14 18:56 #21 Игорь Герасько:さまざまな「グリッド」を実装していく中で、このような構造を思いつきました。この構造は、マジックナンバーの値に基づいて、新しいティックごとに埋められます(注文番号、どのグリッドに属するかなど、注文を識別するために必要なすべての情報が格納されています)。これは、私が考え出したコードです。class Info { private: struct str { string Sym; // Символ ордера string Com; // Коммент ордера int Tic; // Тиккет ордера int Typ; // Тип ордера int Mag; // Меджик номер ордера double Lot; // Лот ордера double Pri; // Цена открытия ордера double SL_; // Стоп лосс ордера double TP_; // Тейк профит ордера datetime Tim; // Время открытия ордера double Pro; // Профит ордера }; int m_tick_upper; // Тиккет максимального по цене ордера int m_tick_upper_; // Тиккет предпоследнего максимального по цене ордера int m_tick_lower; // Тиккет минимального по цене ордера int m_tick_lower_; // Тиккет предпоследнего минимального по цене оредра int m_tick_start; // Тиккет первого по времени ордера int m_tick_start_; // Тиккет вторго по времени ордера int m_tick_end; // Тиккет последнего по времени ордера int m_tick_end_; // Тиккет предпоследнего по времени ордера int m_magic; // Меджик номер string m_symbol; // Символ ордера void SearchTicketPriceType(const int type); // Поиск по цене void SearchTicketTimeType(const int type); // Поиск по времени public: str Price_Max; // Структура запроса максимальных ценн str Price_Min; // Структура запроса минимальных ценн str Time_End; // Структура последних ордеров str Time_Start; // Структура начальных ордеров str Price_Max2; // Структура запроса максимальных ценн str Price_Min2; // Структура запроса минимальных ценн str Time_End2; // Структура последних ордеров str Time_Start2; // Структура начальных ордеров void SetMagic (const int mag) { m_magic = mag; } // Принудительное указание меджик номера void SetSymbol(const string sym) { m_symbol = sym; } // Принудительное указание символа void SearchTimeOrder(const int type); // Заполнение структуры по времени void SearchPriceOrder(const int type); // Заполнение структуры по ценам Info(const string sym,const int mag); // Параметрический конструктор Info(){}; ~Info(){}; }; Artyom Trishkin 2015.08.14 19:25 #22 Михаил:..."ところで - Windowsがダウンしている場合、EAは注文を削除することもできません - ここでは手動のみなので、この例は自動売買に完全に適用することはできません。"可能ですが、おそらく方法を知らないでしょう。もし興味があれば、コードを掲載することができます。 なーんだ、コードはいらないんだ。アルゴリズムの概要ですが、もしよろしければ...クラッシュしたOSで動作するターミナルでEAを 動かす方法が本当にわからないのですが Mikhail Filimonov 2015.08.14 19:55 #23 Artyom Trishkin: いいえ、コードは必要ありません。アルゴリズムを一言で言うと...クラッシュしたOSで動作するターミナルでEAを 動かす方法が本当にわからないのですが説明するより、コードを並べる方が簡単ですからね。//+------------------------------------------------------------------+ //| Expert Remove orders function | //+------------------------------------------------------------------+ void RemoveOrders() { int orders_total = OrdersTotal(); //--- if ( orders_total > 0 ) { for ( int i = 0; i < orders_total; i++ ) { ulong temp_order_ticket = OrderGetTicket( i ); if ( OrderSelect( temp_order_ticket ) ) { string temp_symbol = OrderGetString( ORDER_SYMBOL ); if ( temp_symbol == _Symbol ) { RemoveOldOrder( temp_symbol, temp_order_ticket ); } } } } } //+------------------------------------------------------------------+ //| Expert remove old order function | //+------------------------------------------------------------------+ void RemoveOldOrder( const string symbol, const ulong ord_ticket ) { MqlTradeRequest request = {0}; MqlTradeResult result = {0}; request.action = TRADE_ACTION_REMOVE; request.order = ord_ticket; if ( OrderSend( request, result ) ) { if ( result.retcode == TRADE_RETCODE_PLACED ) { // SetTransCount( true ); } } else { Print( "Удаление старого ордера не выполнено! Билет = ", ord_ticket); } } Vasiliy Sokolov 2015.08.14 21:15 #24 Vladimir Pastushak:これは、私が考え出したコードです。 くそ、○○はふざけんなよ。現在の環境から国家を回復させるべきであり、MTが与えてくれるものは最も信頼できる選択肢である、という方向性をあなた自身が定義したのです。その代わりに、長くて役に立たないクラスInfoを書き、そこに外部関数が見つけた値をどうにか詰め込まなければならないのです。そうですね、最終的には必要な変数が含まれるようになります。注文の価格に関する最大と最小のチケットや、その他の重要なものが含まれます。例えば、注文のリストがあり、各注文は多くの列(注文ID、開始時間、開始価格、利益など)を持つテーブル行を表しているとします。列の一つでソートすると、まさに必要な配列が得られるのです。つまり、このようなことは、あなたが好きなクラスの助けを借りて行うことができるのです(無知ですが、すみません)。明日、やり方を書きますので、興味のある方はどうぞ。 Vladimir Pastushak 2015.08.14 21:57 #25 Vasiliy Sokolov: くそ、○○はふざけんなよ。あなた自身が正しい方向を定義している。現在の環境から状態を回復すべきであり、MTが与えてくれるものは最も信頼できるオプションである。その代わりに、長くて役に立たないクラスInfoを書き、そこに外部関数が見つけた値をどうにか詰め込まなければならないのです。そうですね、最終的には必要な変数が含まれるようになります。注文の価格に関する最大と最小のチケットや、その他の重要なものが含まれます。例えば、注文のリストがあり、各注文は多くの列(注文ID、開始時間、開始価格、利益など)を持つテーブル行を表しているとします。列の一つでソートすると、まさに必要な配列が得られるのです。つまり、このようなことは、あなたが好きなクラスの助けを借りて行うことができるのです(無知ですが、すみません)。どうすればいいのか......明日書きますので、ご興味のある方はどうぞ。非常に楽しみです...。情報が必要なのは、情報のためではなく、さらに加工したり計算したりするためだ. Artyom Trishkin 2015.08.14 23:41 #26 Михаил:説明するより、コードを掲載する方が簡単ですからね。壊れたパソコンでどうやって使うんだ?(機能的には全く不思議はない)。だから私は、「コードはいらない」と言ったのです。動かないコンピュータで動くアルゴリズムが欲しい(軸が壊れている、引用を思い出してください。クラッシュしたOS上で動いているターミナルでExpert Advisorを動かす方法が 本当にわからない」「VPSとかいらないから、Expert Advisorが動いているターミナルがあるパソコン、サーバーなどのOSがクラッシュしていると考えて、そこにあなたのコードを湿布して...」。 )。 Mikhail Filimonov 2015.08.15 00:25 #27 Artyom Trishkin:壊れたパソコンでどうやって使うんだ?(機能的には全く不思議はない)。だから私は、「コードはいらない」と言ったのです。動かないコンピュータで動くアルゴリズムが必要なんです(OSがダウンしているので、思い出してください-と引用しています)。クラッシュしたOS上で動いているターミナルでExpert Advisorを動かす方法が 本当にわからない」「VPSとかはいらないから、Expert Advisorが動いているターミナルがあるパソコンやサーバーなどのOSがクラッシュしていると考えてください」「あなたのコードは、ターミナルに湿布して ...私たちの手で、私たちの手で・・・)。さあ、森の中の鍛冶屋さん...。ここで議論を終えましょう! Artyom Trishkin 2015.08.15 01:23 #28 Михаил:さあ、良くも悪くも...です。ここで議論を打ち切ろう! 問題ありません。自分の主張を通すのにうんざりしている...。 Vladimir Pastushak 2015.08.15 06:00 #29 Artyom Trishkin: 問題ありません。自分の主張を通すのにうんざりしている...。要は、サーバーのOSがダウンしても、サーボの再起動に必要なタイミングでアカウントの制御を回復させる家庭用PCを稼働させればいいわけです。私のVDS/VPSサーバーでの作業では、OSが反転することはありませんでしたが、再起動は不測の事態で予定通り行われます。私の質問の本質は、現在の状況について情報を収集するコードを有能に書くことです... Dmitry Fedoseev 2015.08.15 07:08 #30 Vladimir Pastushak:...質問のポイントは、現在の状況に関する情報を収集するコードを正しく書くことです...。ここで、すでに手続き的な書き方をしていると書かれていますね。だから、全部をクラスに集めればいいんです。関数呼び出しの 際にパラメータを削除したり、パラメータをプリセットするメソッド(magik, symbol)を作ることもできるが、やらないほうがいい。もちろんやることがなければ、別の道でもいいんですけどね。クラスです。注文のリストを取得するためのメソッド Refresh() を備えています (唯一 false を返すことができます)。他のメソッドはこのリストを使用します。 12345678910...14 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
さまざまな「グリッド」を実装していく中で、このような構造を思いつきました。
この構造は、マジックナンバーの値に基づいて、新しいティックごとに埋められます(注文番号、どのグリッドに属するかなど、注文を識別するために必要なすべての情報が格納されています)。
これは、私が考え出したコードです。
...
"ところで - Windowsがダウンしている場合、EAは注文を削除することもできません - ここでは手動のみなので、この例は自動売買に完全に適用することはできません。"
可能ですが、おそらく方法を知らないでしょう。もし興味があれば、コードを掲載することができます。
いいえ、コードは必要ありません。アルゴリズムを一言で言うと...クラッシュしたOSで動作するターミナルでEAを 動かす方法が本当にわからないのですが
説明するより、コードを並べる方が簡単ですからね。
これは、私が考え出したコードです。
くそ、○○はふざけんなよ。あなた自身が正しい方向を定義している。現在の環境から状態を回復すべきであり、MTが与えてくれるものは最も信頼できるオプションである。その代わりに、長くて役に立たないクラスInfoを書き、そこに外部関数が見つけた値をどうにか詰め込まなければならないのです。そうですね、最終的には必要な変数が含まれるようになります。注文の価格に関する最大と最小のチケットや、その他の重要なものが含まれます。例えば、注文のリストがあり、各注文は多くの列(注文ID、開始時間、開始価格、利益など)を持つテーブル行を表しているとします。列の一つでソートすると、まさに必要な配列が得られるのです。つまり、このようなことは、あなたが好きなクラスの助けを借りて行うことができるのです(無知ですが、すみません)。どうすればいいのか......明日書きますので、ご興味のある方はどうぞ。
非常に楽しみです...。
情報が必要なのは、情報のためではなく、さらに加工したり計算したりするためだ.
説明するより、コードを掲載する方が簡単ですからね。
壊れたパソコンでどうやって使うんだ?(機能的には全く不思議はない)。
だから私は、「コードはいらない」と言ったのです。動かないコンピュータで動くアルゴリズムが欲しい(軸が壊れている、引用を思い出してください。クラッシュしたOS上で動いているターミナルでExpert Advisorを動かす方法が 本当にわからない」「VPSとかいらないから、Expert Advisorが動いているターミナルがあるパソコン、サーバーなどのOSがクラッシュしていると考えて、そこにあなたのコードを湿布して...」。
)。
壊れたパソコンでどうやって使うんだ?(機能的には全く不思議はない)。
だから私は、「コードはいらない」と言ったのです。動かないコンピュータで動くアルゴリズムが必要なんです(OSがダウンしているので、思い出してください-と引用しています)。クラッシュしたOS上で動いているターミナルでExpert Advisorを動かす方法が 本当にわからない」「VPSとかはいらないから、Expert Advisorが動いているターミナルがあるパソコンやサーバーなどのOSがクラッシュしていると考えてください」「あなたのコードは、ターミナルに湿布して ...私たちの手で、私たちの手で・・・)。
さあ、森の中の鍛冶屋さん...。
ここで議論を終えましょう!
さあ、良くも悪くも...です。
ここで議論を打ち切ろう!
問題ありません。自分の主張を通すのにうんざりしている...。
要は、サーバーのOSがダウンしても、サーボの再起動に必要なタイミングでアカウントの制御を回復させる家庭用PCを稼働させればいいわけです。
私のVDS/VPSサーバーでの作業では、OSが反転することはありませんでしたが、再起動は不測の事態で予定通り行われます。
私の質問の本質は、現在の状況について情報を収集するコードを有能に書くことです...
...
質問のポイントは、現在の状況に関する情報を収集するコードを正しく書くことです...。
ここで、すでに手続き的な書き方をしていると書かれていますね。だから、全部をクラスに集めればいいんです。関数呼び出しの 際にパラメータを削除したり、パラメータをプリセットするメソッド(magik, symbol)を作ることもできるが、やらないほうがいい。
もちろんやることがなければ、別の道でもいいんですけどね。クラスです。注文のリストを取得するためのメソッド Refresh() を備えています (唯一 false を返すことができます)。他のメソッドはこのリストを使用します。