新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1837

 
Andrey Sokolov #:

也祝你新年快乐。你自己做了什么事情是不成功的?

我已经组装了一个提示器,并且正在工作。

问题是是否要停止或暂停。 我刚刚开始朝这个方向挖掘。

我的理解是这样的。

int OnInit()
  {
Start          = TimeCurrent();
MaxMartinLot   = Lot*MathPow(1.4,OrdersClose);
MaxMartinLot2  = Lot*MathPow(K_Martin2,OrdersClose2);

专家顾问在任何时候都会启动。

进一步。

void OnTick()
  {
// Получим значение индикатора
   dMA = iMA(Symbol(), 0,PeriodMA, MovingShift, MODE_SMA, PRICE_CLOSE, 0); // MODE_SMA - простое усреднение , значение 0. PRICE_CLOSE- цена закрытия, значение 0.

// Если нет открытых ордеров, то входим в условие
      if(CountOrders()==0)
     {
// Если появился сигнал на покупку, то откроем ордер на покупку
      if(bSignalBuy() == true)
         vOrderOpenBuy();

// Если появился сигнал на продажу, то откроем ордер на продажу
      if(bSignalSell() == true)
         vOrderOpenSell();
     }

事实证明,只要CountOrders()==0&& (OrderLots()>=Lotcontrol)--"已达到设定的批量"

我需要在N小时/天内 停止发送bSignalBuy/bSignalSell 信号。

事实证明,我需要将TimeCurrent()与一些参数 进行比较,比如TimeControl(名称并不重要)

如果TimeCurrent()>=TimeControl- 那么bSignalBuy/bSignalSell 又开始了

我已经问过(睡眠)我被告知,不建议停止这个过程。

问题不是我不能做什么,而是我的想法是否正确,我应该用什么函数来描述TimeControl?

 
законопослушный гражданин #:

我已经组装了一个提示器,并且正在工作。


   input int HourPause  = 1;        // Пауза в часах
   datetime  Start      = 0;
//----------------------------------------------------
   // выключаем торговлю
   if (OrderLots()>=Lotcontrol)
     {
      Start=TimeCurrent()+(HourPause*60*60));
     }
// Если нет открытых ордеров, то входим в условие
      if(CountOrders()==0&&Start<=TimeCurrent())
 

Tretyakov Rostyslav #:

谢谢你。

我开始这样想。

如果(TimeCurrent() >=(OrderCloseTime() + (Pause*60*60))

这是错误的吗?

 
законопослушный гражданин #:

谢谢你。

我开始这样想。

如果(TimeCurrent() >=(OrderCloseTime() + (Pause*60*60))

这是错误的吗?

你也可以这样做。
 
Tretyakov Rostyslav #:
这也是可能的

但首先你必须通过if(OrderSelect()) 选择最后一个订单,对吗?

 
законопослушный гражданин #:

但首先你必须通过if(OrderSelect()) 选择最后一个订单,对吗?

 

你能告诉我是否有任何现成的FIFO关闭的解决方案?我发现只有MT5。

对于MT4的开放时间待定等于其激活或安装时间?

 
leonerd #:

你能告诉我是否有任何现成的FIFO关闭的解决方案?我发现只有MT5。

对于MT4的开放时间待定等于其激活或安装时间?

激活后,它就不存在了。

什么是FIFO?

 
Tretyakov Rostyslav #:

一旦激活,它就不再是待定的。

什么是FIFO?

FIFO = 拳头输入 拳头输出 - 先入先出 按进入顺序退出 = 队列

FILO=先输入后输出--先入后出 逆序退出=堆栈

 
a007 #:

FIFO = 拳头输入 拳头输出 - 先入先出 按进入顺序退出 = 队列

FILO=先输入后输出--先入后出 逆序退出=堆栈

甚至没有听说过它...