mql5言語の特徴、微妙なニュアンスとテクニック - ページ 195 1...188189190191192193194195196197198199200201202...247 新しいコメント fxsaber 2020.12.22 09:15 #1941 // Возвращает скорректированный ORDER_REASON. ENUM_ORDER_REASON GetOrderReason( const ulong Ticket ) { ENUM_ORDER_REASON Reason = ORDER_REASON_CLIENT; if (HistorySelectOrder(Ticket)) // https://www.mql5.com/ru/forum/170952/page186#comment_18099882 { Reason = HistoryOrderGetInteger(Ticket, ORDER_REASON); if ((HistoryOrderGetInteger(Ticket, ORDER_TYPE) <= ORDER_TYPE_SELL) && (Reason != ORDER_REASON_SL) && (Reason != ORDER_REASON_TP)) { string PartComment = HistoryOrderGetString(Ticket, ORDER_COMMENT); if (StringLen(PartComment) > 3) { PartComment = ::StringSubstr(PartComment, 0, 3); if (PartComment == "[tp") Reason = ORDER_REASON_TP; else if (PartComment == "[sl") Reason = ORDER_REASON_SL; } } } return(Reason); } amrali 2020.12.23 20:25 #1942 fxsaber : かつて 、サーバー時刻のGMTオフセットを決定する方法が提案されたことがある。必ずしも正確に動作するわけではありません。 以下は、その正確なバージョンと思われます。 //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int TimeServerGMTOffset() { return (int)(TimeGMT()-TimeTradeServer()); } //+------------------------------------------------------------------+ fxsaber 2021.01.13 13:17 #1943 取引履歴には、REJECTEDステータスの成行注文がたくさん残っていることがあります。原則として、これらを対象としています。 一部のサーバーでは、REJECTを受けた成行注文の特別な機能として、ステータスがCANCELEDに変更されます。 fxsaber 2021.01.15 15:08 #1944 これはバグなのか、それとも時間軸での文字列変換の バグなのか? Print((datetime)"12:34"); // Результат: 2021.01.15 12:34:00. Ожидалось: 1970.01.01 12:34:00. // Выкручивание. Print(((datetime)"12:34") % (24 * 3600)); // Результат: 1970.01.01 12:34:00. fxsaber 2021.01.15 15:40 #1945 この作品は、コンパイル時に定数になるのでしょうか? StrDate = StringSubstr(StrDate, StringLen(StrDate) - StringLen("00:00:00 - 00:00:00")); Alexey Viktorov 2021.01.15 15:42 #1946 fxsaber: これはバグなのか、それとも文字列から 時間への変換の チップなのでしょうか? 昔からそうなんです。でも、私ならもう少し違うやり方をしていたかも...。 Print(((datetime)"12:34") % PeriodSeconds(PERIOD_D1); // Результат: 1970.01.01 12:34:00. そして、今回プリントアウトするだけで、あとは Print(TimeToString(TimeCurrent(), TIME_SECONDS)); //Результат //2021.01.15 18:46:12.938 00 (EURRUB_TOD,H1) 18:31:18 fxsaber 2021.01.15 15:46 #1947 Alexey Viktorov:これは昔からそうでした。 それなら面白い結果ですね。 Print((datetime)""); // Текущая дата. 簡潔で驚きがある。なぜなら、コンパイラは定数と思われるものを定数に変換しないからです。 Alexey Viktorov 2021.01.15 15:49 #1948 fxsaber:それなら面白い結果ですね。簡潔で驚きがある。コンパイラは定数と思われるものを定数に変換しないため。空文字列は現在の日付か? ps; 意外と...確かに現在の日付ですが、時刻は1時です。 Aleksey Mavrin 2021.01.15 15:53 #1949 fxsaber:それなら、面白い結果ですね。簡潔で驚きがある。コンパイラは定数と思われるものを変換しないため。 TimeCurrentと TimeLocalのどちらを代用するのでしょうか?) ある言語では、日付型を作成すると、自動的にシステム時刻で初期化されることを覚えています。 Документация по MQL5: Дата и время / TimeCurrent www.mql5.com TimeCurrent - Дата и время - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 fxsaber 2021.01.15 16:00 #1950 Alexey Viktorov:現在の日付は確かにそうですが、時刻は午前1時です。 時間がどこから来ているのか、示唆がない(私も同じ)。おそらく、時間帯にも よるのでしょう。 これはもう、おもしろくないですね。 Print((datetime)"00:00"); // Текущая дата. 1...188189190191192193194195196197198199200201202...247 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
かつて 、サーバー時刻のGMTオフセットを決定する方法が提案されたことがある。必ずしも正確に動作するわけではありません。
以下は、その正確なバージョンと思われます。
取引履歴には、REJECTEDステータスの成行注文がたくさん残っていることがあります。原則として、これらを対象としています。
一部のサーバーでは、REJECTを受けた成行注文の特別な機能として、ステータスがCANCELEDに変更されます。
これはバグなのか、それとも文字列から 時間への変換の チップなのでしょうか?
昔からそうなんです。でも、私ならもう少し違うやり方をしていたかも...。
そして、今回プリントアウトするだけで、あとは
これは昔からそうでした。
それなら面白い結果ですね。
簡潔で驚きがある。なぜなら、コンパイラは定数と思われるものを定数に変換しないからです。
それなら面白い結果ですね。
簡潔で驚きがある。コンパイラは定数と思われるものを定数に変換しないため。
空文字列は現在の日付か?
ps; 意外と...確かに現在の日付ですが、時刻は1時です。それなら、面白い結果ですね。
簡潔で驚きがある。コンパイラは定数と思われるものを変換しないため。
TimeCurrentと TimeLocalのどちらを代用するのでしょうか?)
ある言語では、日付型を作成すると、自動的にシステム時刻で初期化されることを覚えています。
現在の日付は確かにそうですが、時刻は午前1時です。
時間がどこから来ているのか、示唆がない(私も同じ)。おそらく、時間帯にも よるのでしょう。
これはもう、おもしろくないですね。