MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1117

 
Roman:

本当に便利です...

異なる時間軸で印刷する。

なぜなら、定義済み変数_Periodは、その値を出力するからです。

変数_Periodには、現在のチャートのタイムフレームの値が格納されます。

そして、このタイムフレームは、チャートの周期に対応するENUM_TIMEFRAMES 列挙からの定数の値によって定義されます。

よし、うまくやれよ。

//+------------------------------------------------------------------+
//|                                         TestTimeframe_Period.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                             https://mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://mql5.com/ru/users/artmedia70"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print
     (
      "Значение предопределённой переменной _Period на графике ",TimeframeDescription(Period())," = ",(string)(int)_Period,"\n",
      "Значение константы перечисления ENUM_TIMEFRAMES ",EnumToString(Period())," = ",(string)(int)Period(),"\n",
      "Период графика, соответствующий константе перечисления ENUM_TIMEFRAMES ",EnumToString(Period()),", со значением ",(string)(int)Period()," = ",TimeframeDescription(Period())
     );
  }
//+------------------------------------------------------------------+
//| Возвращает описание таймфрейма                                   |
//+------------------------------------------------------------------+
string TimeframeDescription(const ENUM_TIMEFRAMES timeframe)
  {
   return StringSubstr(EnumToString((timeframe>PERIOD_CURRENT ? timeframe : (ENUM_TIMEFRAMES)Period())),7);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Предопределенные переменные / _Period
Документация по MQL5: Предопределенные переменные / _Period
  • www.mql5.com
Предопределенные переменные / _Period - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Roman:

mql4 )) を使っていなかったので、慣れませんでした。
なぜ、さらに60で割らなければならないのか?
参考文献のどこにそう書いてあるんだ?
バグを 迂回するのは、すでにあなたの松葉杖です。
今度は、すべてのタイムフレームで、あなたの松葉杖をチェックしてみてください。

バグ?では、タイムフレームがM1、M2、M3、M4、M5、M6、そしてM10とあるのもバグだとお考えですか?

時間軸がずれる バグを なくすよう、開発者にお願いしてみてはいかがでしょうか

m7、m8、m9、m11、m13、m14、m16、m17、m18、m19、m21、m22、m23、m24、m25、m26、m27、m28、m29、m31 - m59, n1_m1, n1_m2, n1_m3, --- , ---, hundreds_years ?

なぜ、いきなり転送定数の内部表現が バグって いるのか?

300ルーブル紙幣がないのは気にならないのか?

 
Artyom Trishkin:

バグ?では、タイムフレームがM1、M2、M3、M4、M5、M6、そしてM10とあるのもバグだとお考えですか?

時間軸がずれる バグを なくすよう、開発者にお願いしてみてはいかがでしょうか

m7、m8、m9、m11、m13、m14、m16、m17、m18、m19、m21、m22、m23、m24、m25、m26、m27、m28、m29、m31 - m59, n1_m1, n1_m2, n1_m3, --- , ---, hundreds_years ?

enum定数の内部表現が突然 バグ るのはなぜ?

300ルーブル紙幣がないのは困らないか?

16385という値は、H1チャートのピリオド 値に相当するのかどうか教えてください。
また、H1以上の他のすべての期間値。
イゴールはバイナリ形式まで見せてくれましたが、私の次の投稿も同じで、別の形式です。

全然違う方向に行ってるじゃん、言ってないことを持ち出すな。
気になるのは、司会者が松葉杖で虫を口寄せすること!?
淘汰に貢献しない。

ここで、もう一つのバグを紹介します。

Print(PeriodSeconds(PERIOD_MN1)*1000);

そして、MNのグラフでも同じことが言える。

Print(PeriodSeconds(PERIOD_CURRENT)*1000);
 
Roman:

16385という値は、H1チャートの期間 値に相当するのでしょうか?
また、H1以上の他のすべての期間値。

全然方向性が違うだろ、話題になってないものを持ち出してくるなよ。
気になるのは、司会者が松葉杖で虫を洗い流していること!?
そして、その淘汰に貢献しないこと。
ここで、もう一つのバグを紹介します。

ヘルプを勉強する時間はないのですか?

わからないことは、開発者が直すべきバグだと思うのですが?

それともこの際、司会者に責任転嫁するのではなく、読解力を身につけたらどうでしょうか?

Print((string)(uint)PeriodSeconds(PERIOD_MN1)*1000)

なぜ、intを オーバーフローさせるのですか?

だから、自分でプリントアウトしてください。

Print
  (
   "(int)PeriodSeconds(PERIOD_MN1) = ",(int)PeriodSeconds(PERIOD_MN1),
   ", (ulong)PeriodSeconds(PERIOD_MN1)*1000 = ",(ulong)PeriodSeconds(PERIOD_MN1)*1000,
   ", INT_MAX = ",INT_MAX
  );

と、ご自身の考え方のバグを修正してください。

また、ミリ秒が必要な場合は、ulongで表現する。

 
Artyom Trishkin:

ヘルプを勉強する時間はないのですか?

わからないことは、開発者が直すべきバグだと?

それとも、この際、司会者に責任転嫁するのではなく、読解力を身につけた方がいいのでは?

なぜ、intを オーバーフローさせるのですか?

だから、自分でプリントアウトしてください。

と、ご自身の考え方のバグを修正してください。

過密状態、そうですね、それは見落としがありました、考慮に入れていませんでした。ありがとうございました。
しかし、あなたのサンプルはコンパイルできません。

うまく印刷されるので、文字列が必要なときと必要でないときを推測してください ))

Print((uint)PeriodSeconds(PERIOD_MN1)*1000);


また、_Period変数については、H1より上の部分がおかしいです。

 
Roman:

16385という値は、H1チャートのperiodの 値に対応するのでしょうか?
また、H1以上の他のすべての期間値。
Igorはバイナリ形式の値も見せて くれましたし、次は私の投稿で、同じ値を別の形式で見ることができます。

全然違う方向に行ってるじゃん、言っ てないことを持ち出すな。
気になるのは、司会者が松葉杖で虫を口寄せすること!?
淘汰に貢献しない。

ここで、もう一つのバグを紹介します。

そして、MNチャートでも同様です。

1.はい、定数の 値に対応します。

2.そして、その他はすべて定数の 値に対応する。

プリントアウトしてみてください。

Print("SYMBOL_BID=",SYMBOL_BID); 

現在のBid価格がプリントアウトされるのか、それとも別のものか?

それなのに、なぜあなたは

Print("PERIOD_H1=",PERIOD_H1);

H1や60のようなものを渡されること?

そしてIgorは 私のためにプリントアウトしたのではなく、ENUM_TIMEFRAMES列挙の定数値の内部表現をバイナリ形式で見せて くれた。

あなたが示した列挙定数の値はバグ であり、私の説明は屁理屈であると主張しました。これはそうではなく、あなたが簡単な基本を知らないだけなのです。

私は今、私の休暇を取る - 基本を学び、バグや開発者の松葉杖であなたの無知を示すことはありませんしてください - それは空白を投げることは良いことではありません。そう、そして、自分が何も知らないということを忘れて、「きつい言葉」を選んでしまうのです。

あなたはそれを理解するでしょうが、あなたのスケッチは、同じように「知識が豊富」な他の人のために残ります。害虫だ...。

 
Roman:

オーバーフローで、はい、過剰反応しました、この点を考慮していませんでした。ありがとうございます。
しかし、あなたのサンプルはコンパイルされません。

しかし、正常に印刷されるので、文字列が必要なときと必要でないときを推測してください ))


また、_Period変数に関してですが、H1より上の部分で何か問題があるのではと思います。

というか、「コンパイルされない」ってどういうこと?フォーラムからスクリプトにコピーしてコンパイル。


また、_Period変数は、現在のグラフのENUM_TIMEFRAMES列挙定数の値をintで 返します。 つまり、分数でも秒数でもなく、現在のグラフに対応するENUM_TIMEFRAMESの定数の値である。

 
Roman:

でも、ちゃんとプリントされるので、文字列が必要なときと必要でないときを考えてみてください ))

当てなくていいんです。何が何のために行われているのかを考え、理解しなければならない。何かを書く必要があるとき、書く必要がないとき。

 
Artyom Trishkin:

では、なぜ期待するのでしょうか?

H1や60のようなものが出てくるということですか?

H1以下の分足は正しい値を返すからです。
ヘルプにあるように、ランダムな定数ではなく、時間枠の 値を返します。

Print("PERIOD_M1=",PERIOD_M1);
Print("PERIOD_M5=",PERIOD_M5);
Print("PERIOD_M30=",PERIOD_M30);
Print("PERIOD_H1=",PERIOD_H1);
2020.04.10 03:19:50.600 VP (EPM20,H4)   PERIOD_M1=1
2020.04.10 03:19:50.600 VP (EPM20,H4)   PERIOD_M5=5
2020.04.10 03:19:50.600 VP (EPM20,H4)   PERIOD_M30=30
2020.04.10 03:19:50.600 VP (EPM20,H4)   PERIOD_H1=16385

このため、分単位でシーケンスを継続し、より高いタイムフレームから期待することが論理的である。
PERIOD_H1=60

など

 
Roman:

H1以下の分足は正しい値を返すからです。
ヘルプに記載されているように、任意の定数ではなく、タイムフレームの 値を返します。

このため、より高いタイムフレームから、分単位でシーケンスを続けながら予想するのが理にかなっている。
PERIOD_H1=60

など

...悪の歌を詠み続け、共産主義に期待し、トレンチブランディングをし、○○を集め...。

期待される「論理的」な値を返すことを期待して定数値を使用しないのは論理的である。

もう一度(最後に)、SYMBOL_BID定数のことを思い出してください。何らかの理由で1ではなく、現在のBid価格の値を期待するのは「論理的」ですよね?それとも違うのでしょうか?

それだけです。酒鬼薔薇は飽きたし、さすがに教職は取らなかったけど。