向鉴赏家提问 - 页 21

 
你好,我的工作仅限于以下功能:
bool isTradeTimeInt(int hb=0, int mb=0, int he=0, int me=0) {
  datetime db, de;         
  int      hc;              

  db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+hb+":"+mb);
  de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+he+":"+me);
  hc=TimeHour(TimeCurrent());
  if (db>=de) {
    if (hc>=he) de+=24*60*60; else db-=24*60*60;
  }

  if (TimeCurrent()>=db && TimeCurrent()<=de) return(True);
  else return(False);
}

然而,开放的订单却任由它们自行处理......。

我希望EA不要在某个时间下新的订单,而是伴随着未结订单。

我推测,你将能够在某一时刻禁用/禁止信号的形成。

请告知如何做到这一点。

 

我记得I.Kim有这样的时间功能:https://www.mql5.com/ru/forum/131859- p.9

isTradeTimeString- 返回允许按时间交易的标志。
isTradeTimeInt - 返回允许按时间交易的标志。

为了确保未平仓的订单不会 "任人宰割",条件if (isTradeTimeString()==false) { ... 只用于开仓。不要将此函数(此条件)用于所有其他动作(拖尾、修改、平仓)。

Vinin:
删除评论
谢谢你。
 

向大家问好。

我的指标在一个单独的窗口中画了几条线。例如--两种货币的MA。也是他们的区别线。

#property indicator_separate_window
#property indicator_buffers 4
... ...
// Буферы для отображения данных
double Buf1[];    // Первый инструмент ма1
double Buf2[];    // Второй инструмент ма2
double BufS[];    // Средняя линия (ма1+ма2)/2
double BufW[];    // разность ма1-ма2
double BufW_Up[]; // Восходящиая разность
double BufW_Dn[]; // Нисходящая разность

...
int init() {
 IndicatorBuffers(7);
  
  SetIndexStyle(0,DRAW_LINE);
  SetIndexBuffer(0,Buf1);
  SetIndexLabel(0, Symbol1); 

  SetIndexStyle(1,DRAW_LINE);
  SetIndexBuffer(1,Buf2);
  SetIndexLabel(1,Symbol2); 

  SetIndexStyle(2,DRAW_LINE);
  SetIndexBuffer(2,BufW_Up);
  SetIndexLabel(2,"Channel width Up");

  SetIndexStyle(3,DRAW_LINE);
  SetIndexBuffer(3,BufW_Dn);
  SetIndexLabel(3,"Channel width Down");
  
  SetIndexBuffer(4,BufW);
  SetIndexBuffer(5,BufS);

我在终端手动 "挂 "这个指标在 "第一个指标数据 "模式下,将另一个指标,例如债券或包络。

我需要这第二个指标准确地 "挂 "在差值线上--缓冲区BufW。

请指示--我如何在代码中以编程方式设置它?为了 "悬挂 "任何其他指标,在 "第一个指标数据 "模式下要严格选择缓冲区BufW中的差异行?

此刻,第二个指标不断 "挂 "在第一个符号Buf1的MA线上。