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();
}
DrawLABEL("nextlot",1,5,0,Color1(),StringConcatenate("CURRENT LOT: ",DoubleToStr(LOT(),2)));
DrawLABEL("currentlot",1,5,0,Color2(),StringConcatenate("NEXT LOT: ",DoubleToStr(LOT(),2)));
TrailingOrders();
}
我明白了,谢谢你。
我只有一件小事要担心。 所有的订单都在不时地关闭(即全部和总是!),但有时,如果我打开3-4个订单,只有2或1个可能关闭。我想有一个特殊的i-check,也许你有线索。
不要忽视括号,试试这个
如何获得D'格式下ZZ的极值 2021.01.05
没有剧本?
没有剧本?
我们取一个之字形,在OnCalculace中检查其缓冲区的值通常大于0(这意味着缓冲区存储了一个极值,低或高)。我们用下面的方法循环浏览缓冲区
上面的循环(从右到左)是为MQL5准备的。
对于MQL4,循环将从左到右进行
上述例子首先给出了新的时间值。要想先得到时间上的高级值,可以使用ArraySetAsSeries或扭转循环方向。
可以使用iCustom、CopyTime或iTime以及iBars(代替rate_total)从脚本中获取数据。
我一定是误解了什么。
如果我把函数切换到
然后停止和外卖被瞬间转移了无数次
如果你不使用TrailingOrders();,就没有什么变化。
我的任务不是创造一个尾随的动作,而是将止损和取出的动作进行一次/两次。
我今天一整天都在 "发明 "东西,到目前为止,没有任何东西可以用。
我一定是误解了什么。
如果我把函数切换到
然后停止和外卖被瞬间 转移了无数次
如果你不使用TrailingOrders();,就没有什么变化。
我的任务不是创造一个尾随的动作,而是将止损和取出的动作做一/两次。
我整天都在 "发明 "东西,到目前为止,没有任何东西可以用。
如果价格向TP的方向移动,追踪止损应该起作用,如果价格回滚,它不应该做任何事情。SL水平应该只向TP的方向发展,而不是回滚。