初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1379

 
User_mt5 #:

説明してください...

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

TFの_Periodの 実際の値です。

М1 = 1

М5 = 5

М15 = 15

М30 = 30

H1 =16385

H4 =16388

H6 =16390

説明してください。60、120などの数字は...もう流行っていないのですか?

知っているならば、せめてここのトリックのヒントを教えてください。

そして今、私は尋ねることを恐れている......私たちの神秘的なMQLの他のどこにそのようなトリックがあるのでしょうか?:(

以下、期間https://www.mql5.com/ru/docs/constants/chartconstants/enum_timeframes

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

数字の代わりにピリオドを書きます。

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Периоды графиков
  • www.mql5.com
Периоды графиков - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
User_mt5 #:

説明してください...

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

TFの_Periodの 実際の値です。

М1 = 1

М5 = 5

М15 = 15

М30 = 30

H1 =16385

H4 =16388

H6 =16390

説明してください。60、120などの数字は...もう流行っていないのですか?

知っているならば、せめてここのトリックのヒントを教えてください。

そして今、私は尋ねることを恐れている......私たちの神秘的なMQLの他のどこにそのようなトリックがあるのでしょうか?:(

ヘルプを全部読んでみてください。

現在のチャートのタイムフレームの値が格納されている_Period 変数の内容。ENUM_TIMEFRAMES列挙の値の いずれかを指定する。 キーワードは「...ENUM_TIMEFRAMES 列挙」である。

そして、列挙のENUMENTSを使用しなければならない。例えば PERIOD_H1, PERIOD_M15 ....また、列挙項目がどのような内部値を持つかを知る必要はない。

Документация по MQL5: Предопределенные переменные / _Period
Документация по MQL5: Предопределенные переменные / _Period
  • www.mql5.com
_Period - Предопределенные переменные - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
User_mt5 #:

説明してください...

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

TFの_Periodの 実際の値です。

М1 = 1

М5 = 5

М15 = 15

М30 = 30

H1 =16385

H4 =16388

H6 =16390

説明してください。60、120などの数字は...もう流行っていないのですか?

知っているならば、せめてここのトリックのヒントを教えてください。

そして今、私は尋ねることを恐れている......私たちの神秘的なMQLの他のどこにそのようなトリックがあるのでしょうか?:(

どのようにして手に入れたのですか?

 
SanAlex #:

ここに期間がありますhttps://www.mql5.com/ru/docs/constants/chartconstants/enum_timeframes

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

数字の代わりにピリオドを書きます。

アドバイスありがとうございました。

機能がわかっていれば、それを考慮するのは難しいことではありません。私はPeriodSeconds()を使っています。

問題は、これらの機能がどこから来るのか、事前にわからないことです。

 
Vladimir Karputov #:

ヘルプは全文を読む必要があります。

現在のチャートのタイムフレーム値を格納する_Period 変数の内容。値はENUM_TIMEFRAMES列挙値の いずれかを指定する。 ここでのキーは"...ENUM_TIMEFRAMES enumeration" である。

そして、列挙のENUMENTSを使用しなければならない。例えば PERIOD_H1, PERIOD_M15 ....また、列挙項目がどのような内部値を持つかを知る必要はない。

ご参加ありがとうございました。

しかし、困ったことに、私は読むことさえできないのです:(

そして、一般的に、私は自分が何をしなければならないかを言われることを期待していません。私のくだらない質問に答えてくれることを期待していたのです。

 
Сергей Таболин #:

どのようにして手に入れたのですか?

Print("_Period = ", _Period );
 
User_mt5 #:

これでよしとする。列挙された値を取得します。

User_mt5#:

...

機能がわかっていれば、それを考慮するのは難しいことではありません。私はPeriodSeconds()を使って います。

...

使って いれば、疑問は生じない。

 
User_mt5 #:

説明してください...

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

TFの_Periodの 実測値です。

М1 = 1

М5 = 5

М15 = 15

М30 = 30

H1 =16385

H4 =16388

H6 =16390

説明してください。60、120などの数字は...もう流行っていないのですか?

知っているならば、せめてここのトリックのヒントを教えてください。

そして今、私は尋ねることを恐れている......私たちの神秘的なMQLの他のどこにそのようなトリックがあるのでしょうか?:(

出典

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

MQL5におけるタイムフレームの隠れた意味

セルヒイ・シェフチュク さん 2017.02.27 01:53

はい、でも遅いです。比較のためにちょっとしたスクリプトをスケッチしてみました:

#property script_show_inputs

input long              InpCycles=1000000000;

ENUM_TIMEFRAMES TF_list[32]={
PERIOD_MN1, PERIOD_W1,  PERIOD_D1,  PERIOD_H12,
PERIOD_H8,  PERIOD_H6,  PERIOD_H4,  PERIOD_H3,  
PERIOD_H2,  PERIOD_H1,  PERIOD_M30, PERIOD_M20,
PERIOD_M15, PERIOD_M12, PERIOD_M10, PERIOD_M6,  
PERIOD_M5,  PERIOD_M4,  PERIOD_M3,  PERIOD_M2,  
PERIOD_M1,  PERIOD_MN1, PERIOD_W1,  PERIOD_D1,
PERIOD_M5,  PERIOD_M4,  PERIOD_M3,  PERIOD_M2,
PERIOD_H2,  PERIOD_H1,  PERIOD_M30, PERIOD_M20
};

int PeriodMinutes(ENUM_TIMEFRAMES tf)
{
      uint t = uint(tf);
      uint f = 0xc000&t;
      uint min = 0x00FF&t;
      if(f==0x4000) min*= 60;
      else if(f==0x8000) min*= 10080;
      else if(f==0xc000)  min*= 43200;
      return(int(min));  
}

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   ulong tmp = 0;
   //
   uint idx = 0;
   ulong t0 = GetMicrosecondCount();
   for(long i=0;i<InpCycles;i++)
      tmp+= PeriodMinutes(TF_list[0x1f&(idx++)]);  
   ulong t1 = GetMicrosecondCount();
   Print("1) tmp = ",tmp,"... dT = ",t1-t0);
//---
   tmp = 0;
   idx = 0;
   t0 = GetMicrosecondCount();
   for(long i=0;i<InpCycles;i++)
      tmp+= PeriodSeconds(TF_list[0x1f&(idx++)])/60;
   t1 = GetMicrosecondCount();
   Print("2) tmp = ",tmp,"... dT = ",t1-t0);
//---
  }    
//+------------------------------------------------------------------+
ご覧の通り、if-unitsの 約半分の速度です:



и

 
Сергей Таболин #:

これでよしとする。列挙された値を取得しています。

そう であれば、この質問は出てこないはずです。

私はそうは思いません。

言い訳にも説明にもなっていないのでしょうね。

定義済み変数の一般的なロジックは、直接アクセスが可能で、その値を与えるというものです。

そうすることで、例えば、 _Point、_Digitsなどを 参照することができるのです。 それでいいんです。

直感的には、他のすべての定義済み変数が同様の特性を持つことが期待される。

しかし、_Periodの 場合はそうではありません。

--

皆さん、本当にありがとうございました。この問題は解決したと考えましょう。
皆さん、良い週末をお過ごしください!)

 
Fast235 #:

mqlに内蔵されている暗号化装置は何のためにあるのでしょうか? 適当な使い道が見つかりません。

自分から暗号化するのは意味がなく、グローバル変数の 端末だけがセカンドユーザーから見えている

その状態をディスクに保存し、インターネット上でデータを交換する。

理由: