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

 
new-rena:

問題ありません。アルゴリズムを投げてしまったグラフのない冒頭部分のみ、つまりこんな感じです。

НомерДНЯвМесяце=str.day;
その月の週番号が必要です :)
 
pako:
月の週番号を教えてほしい :)

5ではできないし、4ではここの習慣がない。

もし許されるなら、コードを書いて投稿します。

 
pako:
4も5も関係ないでしょ、時間は同じなんだから :)))
パコ、5のやり方がわからないし、もう意味がわからないよ :)
 
new-rena:
パコ、5でどう書けばいいのかわからないし、もう意味がわからない:)
4に書き込む。
 
pako:
ライトオン4

おそらく、正しいものではないのでしょう。これは始まりであり、批判は歓迎され、我々は必要なことを行うだろう。

EAをテスターに入れ、ビジュアルモードをオンにし、TF D1を選択し、ログのプリントを見ます。

//+------------------------------------------------------------------+
//|                                                  WeekOfMonth.mq4 |
//|                                                         new-rena |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "new-rena"
#property link      ""
#property version   "1.00"
#property strict
//--------------------------
double DayOfMonth,WeekOfMonth;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//---
//--- init
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//--- deinit
      return(0);   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {
      DayOfMonth=TimeDay(TimeLocal());
      Print("DayOfMonth N "+DoubleToStr(DayOfMonth,0));
      WeekOfMonth=MathCeil(DayOfMonth/7);
      Print("WeekOfMonth N "+DoubleToStr(WeekOfMonth,0));
      
//--- start
      return(0);   
  }
//+------------------------------------------------------------------+
 
new-rena:

おそらく、正しいものではないのでしょう。これは始まりであり、批判は歓迎され、我々は必要なことを行うだろう。

テスターでEAを起動し、ビジュアルモードをオンにし、TF D1を選択し、ログのプリントを見てみましょう。

//+------------------------------------------------------------------+
//|                                                  WeekOfMonth.mq4 |
//|                                                         new-rena |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "new-rena"
#property link      ""
#property version   "1.00"
#property strict
//--------------------------
double DayOfMonth,WeekOfMonth;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//---
//--- init
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//--- deinit
      return(0);   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {
      DayOfMonth=TimeDay(TimeLocal());
      Print("DayOfMonth N "+DoubleToStr(DayOfMonth,0));
      WeekOfMonth=MathCeil(DayOfMonth/7);
      Print("WeekOfMonth N "+DoubleToStr(WeekOfMonth,0));
      
//--- start
      return(0);   
  }
//+------------------------------------------------------------------+

正しく表示されない

3週目が表示され、今日は4週目です 2016.08.22

 
pako:
Excelでは、週=1+INT((A1-DATE(YEAR(A1+4-WEEKDAY(A1+6));1;5)+WEEKDAY(DATE(YEAR(A1+4-WEEKDAY(A1+6));1;3))/7) です。

//+------------------------------------------------------------------+ //|                                                  WeekOfMonth.mq4 | //|                                                         new-rena | //|                                                                  | //+------------------------------------------------------------------+ #property copyright "new-rena" #property link      "" #property version   "1.00" #property strict //-------------------------- double DayOfMonth,WeekOfMonth; int DayOfWeeks,MonthOfYear,PrevMonth,Delta=0,Show=0; //+------------------------------------------------------------------+ //| Expert initialization function                                   | //+------------------------------------------------------------------+ int init()   { //--- PrevMonth=TimeMonth(TimeLocal()); DayOfMonth=TimeDay(TimeLocal()); if(DayOfMonth==1)    {       Delta=TimeDayOfWeek(TimeLocal());       Show=1;    } //--- init    return(0);   } //+------------------------------------------------------------------+ //| Expert deinitialization function                                 | //+------------------------------------------------------------------+ int deinit()   { //--- deinit       return(0);     } //+------------------------------------------------------------------+ //| Expert tick function                                             | //+------------------------------------------------------------------+ int start()   { //---   MonthOfYear=TimeMonth(TimeLocal()); DayOfMonth=TimeDay(TimeLocal()); DayOfWeeks=TimeDayOfWeek(TimeLocal()); if(PrevMonth!=MonthOfYear && DayOfMonth==1)    {       Delta=DayOfWeeks;       Show=1;    } if(Show==1)    {       WeekOfMonth=MathCeil((DayOfMonth+Delta)/7);             Print("DayOfMonth N "+DoubleToStr(DayOfMonth,0));       Print("WeekOfMonth N "+DoubleToStr(WeekOfMonth,0));    }

PrevMonth=MonthOfYear; //--- start       return(0);     } //+------------------------------------------------------------------+

 

テスターが土日を回さないので、月の1日が週末にあたるときも入れたほうがいいのでは...。エクセルについては見ませんでした。

さて、そして数ヶ月前からの初期化と現在の月にロールバックすることは、全体の月の週数の計算の終わりを待たないように、傷つけることはないだろう。しかし、これらはすべてニュアンスです.

それがMQL4の魅力で、コードが短くて明快なのです

 
new-rena:

テスターが土日を回さないので、月の1日が週末にあたるときも入れた方がいいのでは...。エクセルについては見ませんでした。

さて、そして数ヶ月前からの初期化と現在の月にロールバックすることは、全体の月の週数の計算の終わりを待たないように、傷つけることはないだろう。しかし、これらはすべてニュアンスです.

それがMQL4の魅力で、コードが短くて明快なのです

正しく計算されない
 
pako:
正しくカウントされない
なるほど。どの時点で?月末に?カレンダーを確認すると...
理由: