初学者的问题 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分的佣金。 以此类推。

但是,我再一次向你解释还有其他参数是没有意义的。

例如,让我们假设我们遇到了一个趋势。例如,在欧元兑美元。例如,从今年1月起,再次!那么到目前为止我们已经赚了多少钱?这很容易计算。但是什么?如果我们投资的资金量完全相同。我们将在几天内获得完全相同的利润?这就是一个交易员应该梦想的东西!!现在,让我们进入正题。战略?如果在机器代码中可以做到这一点?它必须做一些类似的事情,或者接近于有经验的交易员的策略。

一句话,看你的创作!。你能说什么呢?我不能说什么。多么糟糕啊!一切都那么不对劲。一切都离真正的方向那么远。我只是在看电视。我在休息,我只是在休息!!。

不过,祝你好运。

 
new-rena:

你有没有想过要这样回答30分钟?

这不是一个答案。说得更具体些,帕科。

你知道这一点都不好笑,但历史上对此没有任何说法......

在手推车里也算吧:)))
 
pako:
在购物车中正确计数:)))

这里还是一个想法,我给了它(so....)。

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

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

 
new-rena:

我们还应该把每月1号在周末的时候放进去,因为测试者不转周末......没有看到关于excel的信息。

那么,从几个月前的初始化滚动到当前的月份也无妨,这样就不用等待一整个月的周数计算结束。但这些都是细微的差别....

这就是MQL4的魅力所在--代码短小而清晰!这就是MQL4的魅力所在。

我现在没有时间,但金有所有的功能,可以搜索日期和时间,有月初和周号,总的来说,我已经看到了所有的东西,我不记得我在哪里看到过,但也许在这里:https://forum.mql4.com/ru/38949
 
迪米特里早就为你写好 了关于时间的一切,日、周、月、年......。你在重新发明车轮吗?
 

啊。几年、几个月、几周的日子。小时?15分钟?啊。!"5分钟的工作和阿。啊多少钱。还是二十个?然后再来。啊。

 
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:
你是否需要一个自定义的控制面板,允许你从一个或多个指标中添加任何数量的指标?

我不知道如何让它更简单,是否有必要......

我以后再考虑这个问题。