초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 608

 

new-rena :
Ок. В каком месте? В конце месяца? Я по календарику проверял...

 //+------------------------------------------------------------------+
//|                                                  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 );   
  }
//+------------------------------------------------------------------+

재미 없다
 
pako :
재미 없다

그렇게 대답하는 데 30분이 걸렸다고 생각했습니까?

이것은 답이 아닙니다. 특히 파코.

당신은 다른 것이 재미있지 않다는 것을 알고 있지만 이야기는 이것에 대해 침묵합니다 ...

 

모든 테스터는 오류를 포함해야 합니다.

내가 당신에게 설명하는 것이 아닙니다. 완료하려면 2-3 포인트. 0.1-1 포인트 커미션. 등.

그러나 다시 말하지만, 다른 매개 변수도 있다고 설명하는 것은 의미가 없습니다.

예를 들어 추세에 있다고 가정합니다. 예를 들어 EURUSD 의 경우. 예를 들어 올해 1월부터 다시!!! 오늘 우리는 얼마나 벌까요? 계산하기 쉽습니다. 근데 뭐? 정확히 같은 돈을 투자하는 경우. 며칠 만에 똑같은 이익을 얻을 수 있을까요? 이것은 상인이 꿈꾸는 것입니다!! 이제 본론으로 들어가겠습니다. 전략? 이것이 네이티브 코드에서 가능하다면?? 숙련된 트레이더의 전략과 유사하거나 가까운 일을 해야 합니다.

  한마디로, 당신의 창조물을보고 있습니다! 무엇을 말할 수 있습니까? 나는 아무 말도 할 수 없습니다. 모든 것이 얼마나 나쁜지! 모든 것이 그렇게 좋지 않습니다. 모든 것이 진정한 방향에서 멀리 떨어져 있습니다. 저는 그냥 텔레비전을 봅니다. 난 쉬고 있어, 그냥!!!

하지만 어쨌든 행운을 빕니다.

 
new-rena :

그렇게 대답하는 데 30분이 걸렸다고 생각했습니까?

이것은 답이 아닙니다. 특히 파코.

당신은 다른 것이 재미있지 않다는 것을 알고 있지만 이야기는 이것에 대해 침묵합니다 ...

장바구니에서 올바르게 계산됩니다 :)))
 
pako :
장바구니에서 올바르게 계산됩니다 :)))

어쨌든, 아이디어는 여기에 있고 나는 그것을 주었습니다(그래서 ....):

if (PrevMonth!=MonthOfYear && DayOfMonth== 1 )    {        Delta=DayOfWeeks;       Show= 1 ;    }

WeekOfMonth= MathCeil ((DayOfMonth +Delta )/ 7 ); 

 
new-rena :

월 1일이 주말인 경우에도 붙여야 합니다. 테스터는 주말을 돌리지 않습니다 ... 나는 전 모피 나무에 대해 보지 못했습니다.

글쎄, 몇 달 전부터 그리고 이번 달까지 초기화를 돌리려면 한 달 동안 주 번호 계산이 끝날 때까지 기다리지 않는 것이 나쁠 것입니다. 그러나 이것들은 모두 뉘앙스입니다 ....

이것이 MQL4를 아름답게 만드는 이유입니다. 코드가 짧고 이해하기 쉽습니다!

지금은 시간이 별로 없지만 날짜와 시간, 월초, 요일 찾는 기능은 다 김에 다 있고, 일반적으로 어디서 본거 다 봤어 - 기억이 안나.. 하지만 아마도 여기: https://forum.mql4.com /en/38949
 
Dmitry는 오랫동안 당신을 위해 시간, 일, 주, 월, 년에 대한 모든 것을 그렸습니다 ... 당신은 바퀴를 재발명하고 있습니까?
 

오. 년, 월 , 요일 . 시계??? 15 분??? 오. !5분 일하고 아. 아, 돈이 너무 많아. 아니면 20? 그리고 다시. 오.

 
Karputov Vladimir :

기본 창에 표시기를 추가해야 하는 경우

 int OnInit () 
  { 
   
//--- Создание кнопки 
   if ( ! ObjectCreate ( 0 , "Add_Indicator" , OBJ_BUTTON , 0 , 0 , 0 ) )
  {
  
     Print ( "Кнопка 'Добавить' не создана!" );
     return ( INIT_FAILED );
  }
   else
  {
     ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_CORNER , CORNER_RIGHT_LOWER );
     ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_XDISTANCE , 200 );             
     ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_YDISTANCE , 500 );
     ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_XSIZE , 80 );
     ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_YSIZE , 20 );

       ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_BGCOLOR , clrWhite );
       ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_STATE , true );
       ObjectSetString ( 0 , "Add_Indicator" , OBJPROP_TEXT , "Добавить" );
     
  }
    
MA_handle= iCustom ( NULL , 0 , "Examples\\Custom Moving Average" ,MA_Period,MA_Shift,MA_Method, PRICE_CLOSE );
   if (MA_handle== INVALID_HANDLE )
//--- попробуем добавить индикатор на график 
 Print ( __FUNCTION__ , ", first_start = " ,first_start);
//return(INIT_FAILED);
   return ( INIT_SUCCEEDED );
  } 
//+------------------------------------------------------------------+
//| Обработка события нажатия кнопок                                 |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,         // идентификатор события   
                   const long & lparam,   // параметр события типа long 
                   const double & dparam, // параметр события типа double 
                   const string & sparam   // параметр события типа string 
                  )                
  {
   long b_state;
   //---
   if (id== CHARTEVENT_OBJECT_CLICK ) // НАЖАТ ГРАФИЧЕСКИЙ ОБЪЕКТ       
         if ( sparam == "Add_Indicator" ) // Нажата кнопка
         {
       if ( ObjectGetInteger ( 0 , "Add_Indicator" , OBJPROP_STATE , 0 , b_state ) )
      {
         if ( b_state == 1 )
        {
          first_start= false ;
           ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_BGCOLOR , clrWhite );
           ObjectSetString ( 0 , "Add_Indicator" , OBJPROP_TEXT , "Добавить" );
        }
   }
}
 return ;
}

나는 또한 예제에서 버튼 코드를 가져 왔습니다 .... 버튼 누름이 고정되지 않도록하는 방법, 즉 기능을 실행 한 후 원래 상태로 돌아갑니다 ..

 
new-rena :
하나 이상의 표시기 번호를 추가할 수 있는 사용자 지정 제어판이 필요하십니까?

예, 필요한지 아닌지를 쉽게 만드는 방법을 모르겠습니다 ..

나중에 생각해볼게

사유: