任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 992

 
001:

该代码将使EA在某些时候 "沉默"。

将此代码粘贴到你的EA中。

extern HourStart=0; // 要跳过的会话开始的时间。

///

extern HourEnd=0; // 必须跳过的会议结束。
//+------------------------------------------------------------------+
int start()
{
如果(Hour()>=HourStart)
{
{ 如果(Hour()<=HourEnd)
{
return(0);

}

//将这段代码(上面)粘贴在你的EA前面。

}
//你的EA机构
}
//+------------------------------------------------------------------+

非常感谢您!

它还将关闭订单...

 
Vinin:
你想得到什么?
一般来说,结果是一个指标,按时间累计显示出拉动和降低的数量。 例如,在这一年中,03:00有20次拉动,05:00有30次降低,类似于市场概况,但按时间达到高峰。该指标在一个单独的窗口中。
 
SAnd7:

非常感谢您!

我希望认股权证也能关闭......。

如果按照时间,我们应该找到一个函数

OrderClose()

并把它放在它的前面。

if(Hour()>=HourClose)

一句话。

extern int    HourClose=0;          // Вставить там где вставили extern int    HourStart=0;  Это час закрытия

//+------------------------------------------------------------------+



//+------------------------------------------------------------------+
if(Hour()>=HourClose) OrderClose(...............);// Найти функцию OrderClose и поставить передней if(Hour()>=HourClose)


 

谢谢你!!!。

我想我已经得到了。

 
SAnd7:

谢谢你!!!。

我想我明白了。

我们仍然可以用几分钟的时间来玩。

  Minute()
 
SAnd7:

你好!

我找到了一个好的专家顾问(根据测试者的说法),并在演示中运行,它在日本时段是亏钱的。

如果你知道代码,如何让它在某个时间运行,在某个时间关闭我所有的订单,然后退出。

还有一个地方可以插入这个代码。

提前感谢您!

在开始时做2个变量。

extern int    Start    = 2,
              End      = 8;
//-----------------------------------
  int hour = TimeHour(TimeCurrent()); // в начале основной части советника

然后在开盘和收盘的条件下,万一有剩余的仓位!

     if(hour >= Start && hour < End) // можно открывать
//-----------------------------------------------------
     if(hour < Start || hour >= End) // закрыть, если есть
 

你好!

目前,该函数与当前图表(double High[])相连。我如何修改函数,使我能得到不同时间段的价格 High_Lim(PERIOD_H4,10,1) High_Lim(PERIOD_M15,10,1)?

double High_Lim(ENUM_TIMEFRAMES GrafPeriod, int Bari_atp, int Bari_shift)
{
double HighLim=0; 
       HighLim = (High[iHighest(NULL,GrafPeriod,MODE_HIGH,Bari_atp,Bari_shift)]);
          
return(HighLim);
}

void OnTick()
  {
//---
Print("::::::::::::::::::::::::: High_Lim(PERIOD_M15,10,1) = ", High_Lim(PERIOD_M15,10,1));  
Print("::::::::::::::::::::::::: High_Lim(PERIOD_H4,10,1) = ", High_Lim(PERIOD_H4,10,1));     
  }
 
abeiks:

你好!

目前,该函数与当前图表(double High[])相连。我如何修改函数,使我能得到不同时间段的价格 High_Lim(PERIOD_H4,10,1) High_Lim(PERIOD_M15,10,1)?

要找到另一个符号的最高价格值,使用iHighest。在1个参数的位置上写上符号名称,例如。"欧元兑美元"。在你的函数中,你写的是NULL,也就是说,它搜索的是当前图表。
 
paladin80:
要找到另一个符号的最高价格值,使用iHighest。在这里,写上符号的名称,代替1个参数,比如说"欧元兑美元"。在你的函数中,你写的是NULL,也就是说,它搜索的是当前图表。
"......获得不同时间段的价格......"
 
abeiks:
"......获得不同时间段的价格......"

iHighest 中,第二个参数是时间框架。

   double val;
//--- расчет максимального значения цены на 20 последовательных барах
//--- с индекса 4 по индекс 23 включительно на графике  EURUSD на М30 
   int val_index=iHighest("EURUSD",PERIOD_M30,MODE_HIGH,20,4);
   if(val_index!=-1) val=High[val_index];
   else PrintFormat("Ошибка вызова iHighest. Код ошибки=%d",GetLastError());