voidOnTick()
{
// Получим значение индикатора
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();
}
inputint HourPause = 1; // Пауза в часахdatetime Start = 0;
//----------------------------------------------------
// выключаем торговлюif (OrderLots()>=Lotcontrol)
{
Start=TimeCurrent()+(HourPause*60*60));
}
// Если нет открытых ордеров, то входим в условиеif(CountOrders()==0&&Start<=TimeCurrent())
也祝你新年快乐。你自己做了什么事情是不成功的?
我已经组装了一个提示器,并且正在工作。
问题是是否要停止或暂停。 我刚刚开始朝这个方向挖掘。
我的理解是这样的。
专家顾问在任何时候都会启动。
进一步。
事实证明,只要CountOrders()==0&& (OrderLots()>=Lotcontrol)--"已达到设定的批量"。
我需要在N小时/天内 停止发送bSignalBuy/bSignalSell 信号。
事实证明,我需要将TimeCurrent()与一些参数 进行比较,比如TimeControl(名称并不重要)。
如果TimeCurrent()>=TimeControl- 那么bSignalBuy/bSignalSell 又开始了。
我已经问过(睡眠)我被告知,不建议停止这个过程。
问题不是我不能做什么,而是我的想法是否正确,我应该用什么函数来描述TimeControl?
我已经组装了一个提示器,并且正在工作。
Tretyakov Rostyslav #:
谢谢你。
我开始这样想。
如果(TimeCurrent() >=(OrderCloseTime() + (Pause*60*60))
这是错误的吗?
谢谢你。
我开始这样想。
如果(TimeCurrent() >=(OrderCloseTime() + (Pause*60*60))
这是错误的吗?
这也是可能的
但首先你必须通过if(OrderSelect()) 选择最后一个订单,对吗?
但首先你必须通过if(OrderSelect()) 选择最后一个订单,对吗?
你能告诉我是否有任何现成的FIFO关闭的解决方案?我发现只有MT5。
对于MT4的开放时间待定等于其激活或安装时间?
你能告诉我是否有任何现成的FIFO关闭的解决方案?我发现只有MT5。
对于MT4的开放时间待定等于其激活或安装时间?
激活后,它就不存在了。
什么是FIFO?
一旦激活,它就不再是待定的。
什么是FIFO?
FIFO = 拳头输入 拳头输出 - 先入先出 按进入顺序退出 = 队列
FILO=先输入后输出--先入后出 逆序退出=堆栈
FIFO = 拳头输入 拳头输出 - 先入先出 按进入顺序退出 = 队列
FILO=先输入后输出--先入后出 逆序退出=堆栈