MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1116 1...110911101111111211131114111511161117111811191120112111221123...1953 新しいコメント Artyom Trishkin 2020.04.09 19:47 #11151 Roman: ヘルプには、EnumToString() で変換した識別子ではなく、タイムフレームの値を 返すように書かれています。 変数_Periodは、intを返します。 ENUM_TIMEFRAMES Period() は int が返されることを意味する。 それを暗示しているのは、あなただけなのです。実際には、Period()はENUM_TIMEFRAMES 列挙の値を返します。 この列挙の中の定数の値をプリントアウトすると、すでに見慣れた数字が表示される。 そして、いつもこんな感じです。MQL5が誕生したときからそうだったんです。 そして、何が返却されるかはヘルプに明記されています。 Value は、 ENUM_TIMEFRAMES列挙型の値のいずれか である。 Документация по MQL5: Проверка состояния / Period www.mql5.com Проверка состояния / Period - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Roman 2020.04.09 20:00 #11152 Artyom Trishkin: これを暗示しているのは、あなただけです。実際、Period()はENUM_TIMEFRAMES 列挙の値を返す。 この列挙の中の定数の値をプリントアウトすると、すでに見慣れた数字が表示される。 そして、いつもこんな感じです。MQL5が誕生したときからそうだったんです。 そして、ヘルプには、返却されるものが明確に書かれています。 ENUM列挙型はどのような型を返すのでしょうか?) そして、参考文献にははっきりとこう書かれています。現在のチャートのタイムフレーム値を 返します。 自分で印刷する Print(PERIOD_M30); Print(PERIOD_H1); Artyom Trishkin 2020.04.09 20:11 #11153 Roman: そして、ENUM列挙はどのような型を返すと思いますか?) そして、参考文献にははっきりとこう書かれています。現在のチャートのタイムフレーム値を 返します。 自分でプリントする 何を証明したいんだ? いつ、どこで、何が印刷され、どんなデータが返されるのか、完璧に把握しています。 現在の期間の分数を知りたいのですか? このように取得します。 PeriodSeconds(Period())/60; とか、こんな感じ。 PeriodSeconds(PERIOD_CURRENT)/60; あるいはこんな感じ。 PeriodSeconds()/60; Roman 2020.04.09 20:14 #11154 Artyom Trishkin: 何を証明したいんだ? 何もあなたに、この問題について書いたのではなく、開発者に書いたのです。 M30、H1と印刷を重ね、その違いを実感してください。 Print(_Period); Artyom Trishkin 2020.04.09 20:16 #11155 Roman: どうでもいいんだろ、不具合について書き込んだんじゃなくて、開発者に書き込んだんだから。 M30、H1と印刷を重ね、その違いを実感してください。 問題ないです。今までもそうでした。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム バグ、バグ、質問 アルチョム・トリシキン, 2020.04.09 22:11 何を証明したいのですか? いつ、どこで、何を印刷し、どんなデータを返すのか、よく理解しています。 現在の期間の分数を知りたいのですか? この方法で取得します。 PeriodSeconds(Period())/60; とか、こんな感じ。 PeriodSeconds(PERIOD_CURRENT)/60; とか、こんな感じ。 PeriodSeconds()/60; Artyom Trishkin 2020.04.09 20:19 #11156 Roman: その必要はありません、私はあなたに問題を書いたのではなく、開発者に書いたのです。 M30とH1に増刷し、その違いをご覧ください。 MQL4から脱却できないのか? こんな感じでMQL4でやってください。 PeriodSeconds(Period())/60; とか、こんな感じ。 PeriodSeconds(PERIOD_CURRENT)/60; あるいはこんな感じ。 PeriodSeconds()/60; そして、結果の値をプリントアウトする。 Roman 2020.04.09 20:24 #11157 Artyom Trishkin: MQL4から脱却できないのか? こんな感じでMQL4でやってください。 とか、こんな感じ。 とか、こんな感じ。 を実行し、結果の値をプリントアウトします。 mql4 )) を使っていなかったので、慣れませんでした。 なぜ、さらに60で割る必要があるのですか? ヘルプのどこにそんなことが書いてあるんだ? バグを迂回するのは、すでにあなたの松葉杖です。 今度は、すべてのタイムフレームで、あなたの松葉杖をチェックしてみてください。 Print(_Period / 60); Artyom Trishkin 2020.04.09 20:26 #11158 Roman: mql4 )) を使っていなかったので、慣れませんでした。 なぜ、さらに60で割る必要があるのですか? ヘルプのどこにそんなことが書いてあるんだ? バグを迂回するのは、すでにあなたの松葉杖です。 面目躍如 Igor Makanu 2020.04.09 20:41 #11159 Roman: 変数_PeriodおよびM30までのPeriod()関数は、値を分単位で表示します。 期間M1なら1 期間M2なら2... 期間M30なら30 1時間当たりの回転数が60回転になるのは理にかなっています。 二時限目 120 三時百八十分 など しかし、H1以降は間違った値が表示されます。 プログラムが「間違った値」を出力した場合、プログラムが「何を考えているか」を確認する必要があるが、プログラムはバイナリ形式でしか考えることができない 確認したら、そうだった。 void OnStart() { ENUM_TIMEFRAMES allperiod[] = {PERIOD_CURRENT, PERIOD_M1, PERIOD_M2, PERIOD_M3, PERIOD_M4, PERIOD_M5, PERIOD_M6, PERIOD_M10, PERIOD_M12, PERIOD_M15, PERIOD_M20, PERIOD_M30, PERIOD_H1, PERIOD_H2, PERIOD_H3, PERIOD_H4, PERIOD_H6, PERIOD_H8, PERIOD_H12, PERIOD_D1, PERIOD_W1, PERIOD_MN1 }; for(int i = 0; i < ArraySize(allperiod); i++) Print(UintToBinary((uint)allperiod[i])); } //+------------------------------------------------------------------+ string UintToBinary(uint n) { string r = ""; if(n == 0) return("0"); while(n != 0) { r = (n % 2 == 0 ? "0" : "1") + r; n /= 2; } return(r); } //+------------------------------------------------------------------ 2020.04.10 00:38:57.118 tst (EURUSD,H1) 0 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1 2020.04.10 00:38:57.118 tst (EURUSD,H1) 10 2020.04.10 00:38:57.118 tst (EURUSD,H1) 11 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100 2020.04.10 00:38:57.118 tst (EURUSD,H1) 101 2020.04.10 00:38:57.118 tst (EURUSD,H1) 110 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1010 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1100 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1111 2020.04.10 00:38:57.118 tst (EURUSD,H1) 10100 2020.04.10 00:38:57.118 tst (EURUSD,H1) 11110 2020.04.10 00:38:57.118 tst (EURUSD,H1) 10000000001 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000010 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000011 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000100 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000110 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000001000 2020.04.10 00:38:57.118 tst (EURUSD,H1) 1000000001100 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000011000 2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000001 2020.04.10 00:38:57.118 tst (EURUSD,H1) 11000000000001 Any questions from newcomers Questions on OOP in MQL5におけるOOPに関する質問 Roman 2020.04.09 20:43 #11160 Artyom Trishkin: 面目躍如 本当にスリーブ... 異なる時間軸で印刷する。 Print(_Period); 2020.04.09 23:39:49.963 VP (EPM20,M1) 1 2020.04.09 23:39:53.135 VP (EPM20,M3) 3 2020.04.09 23:39:53.758 VP (EPM20,M5) 5 2020.04.09 23:39:54.377 VP (EPM20,M10) 10 2020.04.09 23:39:55.094 VP (EPM20,M15) 15 2020.04.09 23:39:55.679 VP (EPM20,M30) 30 2020.04.09 23:39:56.384 VP (EPM20,H1) 16385 //Почему не 60 ? 2020.04.09 23:39:57.071 VP (EPM20,H4) 16388 //Почему не 240 ? 2020.04.09 23:39:57.641 VP (EPM20,D1) 16408 //Почему не 1440 ? 2020.04.09 23:39:58.181 VP (EPM20,W1) 32769 и т.д. 2020.04.09 23:39:58.768 VP (EPM20,MN1) 49153 1...110911101111111211131114111511161117111811191120112111221123...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ヘルプには、EnumToString() で変換した識別子ではなく、タイムフレームの値を 返すように書かれています。
変数_Periodは、intを返します。
ENUM_TIMEFRAMES Period() は int が返されることを意味する。
それを暗示しているのは、あなただけなのです。実際には、Period()はENUM_TIMEFRAMES 列挙の値を返します。
この列挙の中の定数の値をプリントアウトすると、すでに見慣れた数字が表示される。
そして、いつもこんな感じです。MQL5が誕生したときからそうだったんです。
そして、何が返却されるかはヘルプに明記されています。
Value は、 ENUM_TIMEFRAMES列挙型の値のいずれか である。
これを暗示しているのは、あなただけです。実際、Period()はENUM_TIMEFRAMES 列挙の値を返す。
この列挙の中の定数の値をプリントアウトすると、すでに見慣れた数字が表示される。
そして、いつもこんな感じです。MQL5が誕生したときからそうだったんです。
そして、ヘルプには、返却されるものが明確に書かれています。
ENUM列挙型はどのような型を返すのでしょうか?)
そして、参考文献にははっきりとこう書かれています。
現在のチャートのタイムフレーム値を 返します。
自分で印刷する
そして、ENUM列挙はどのような型を返すと思いますか?)
そして、参考文献にははっきりとこう書かれています。
現在のチャートのタイムフレーム値を 返します。
自分でプリントする
何を証明したいんだ?
いつ、どこで、何が印刷され、どんなデータが返されるのか、完璧に把握しています。
現在の期間の分数を知りたいのですか?
このように取得します。
とか、こんな感じ。
あるいはこんな感じ。
何を証明したいんだ?
何もあなたに、この問題について書いたのではなく、開発者に書いたのです。
M30、H1と印刷を重ね、その違いを実感してください。
どうでもいいんだろ、不具合について書き込んだんじゃなくて、開発者に書き込んだんだから。
M30、H1と印刷を重ね、その違いを実感してください。
問題ないです。今までもそうでした。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
アルチョム・トリシキン, 2020.04.09 22:11
何を証明したいのですか?
いつ、どこで、何を印刷し、どんなデータを返すのか、よく理解しています。
現在の期間の分数を知りたいのですか?
この方法で取得します。
とか、こんな感じ。
とか、こんな感じ。
その必要はありません、私はあなたに問題を書いたのではなく、開発者に書いたのです。
M30とH1に増刷し、その違いをご覧ください。
MQL4から脱却できないのか?
こんな感じでMQL4でやってください。
とか、こんな感じ。
あるいはこんな感じ。
そして、結果の値をプリントアウトする。
MQL4から脱却できないのか?
こんな感じでMQL4でやってください。
とか、こんな感じ。
とか、こんな感じ。
を実行し、結果の値をプリントアウトします。
mql4 )) を使っていなかったので、慣れませんでした。
なぜ、さらに60で割る必要があるのですか?
ヘルプのどこにそんなことが書いてあるんだ?
バグを迂回するのは、すでにあなたの松葉杖です。
今度は、すべてのタイムフレームで、あなたの松葉杖をチェックしてみてください。
mql4 )) を使っていなかったので、慣れませんでした。
なぜ、さらに60で割る必要があるのですか?
ヘルプのどこにそんなことが書いてあるんだ?
バグを迂回するのは、すでにあなたの松葉杖です。
変数_PeriodおよびM30までのPeriod()関数は、値を分単位で表示します。
期間M1なら1
期間M2なら2
...
期間M30なら30
1時間当たりの回転数が60回転になるのは理にかなっています。
二時限目 120
三時百八十分
など
しかし、H1以降は間違った値が表示されます。
プログラムが「間違った値」を出力した場合、プログラムが「何を考えているか」を確認する必要があるが、プログラムはバイナリ形式でしか考えることができない
確認したら、そうだった。
2020.04.10 00:38:57.118 tst (EURUSD,H1) 0
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1
2020.04.10 00:38:57.118 tst (EURUSD,H1) 10
2020.04.10 00:38:57.118 tst (EURUSD,H1) 11
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100
2020.04.10 00:38:57.118 tst (EURUSD,H1) 101
2020.04.10 00:38:57.118 tst (EURUSD,H1) 110
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1010
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1100
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1111
2020.04.10 00:38:57.118 tst (EURUSD,H1) 10100
2020.04.10 00:38:57.118 tst (EURUSD,H1) 11110
2020.04.10 00:38:57.118 tst (EURUSD,H1) 10000000001
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000010
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000011
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000100
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000000110
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000001000
2020.04.10 00:38:57.118 tst (EURUSD,H1) 1000000001100
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000011000
2020.04.10 00:38:57.118 tst (EURUSD,H1) 100000000001
2020.04.10 00:38:57.118 tst (EURUSD,H1) 11000000000001
面目躍如
本当にスリーブ...
異なる時間軸で印刷する。