当然,它不))))不是SL、TP和TS应该被设置为最小值,而是Stop Level。而且不仅是在程序开始时一次,而是在每次打勾 时。
digits = (int) SymbolInfoInteger(symbol, SYMBOL_DIGITS); point = SymbolInfoDouble(symbol, SYMBOL_POINT); tickSize = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE); ask = SymbolInfoDouble(symbol, SYMBOL_ASK); bid = SymbolInfoDouble(symbol, SYMBOL_BID); spread = ask - bid; stopLevel = MarketInfo(symbol, MODE_STOPLEVEL) * point; if (stopLevel == 0) { if (!isECN) stopLevel = NormalizeDouble(2 * spread, digits); } else stopLevel = NormalizeDouble(stopLevel + tickSize, digits);isECN - 必须供用户设置。有一些账户,如 "真正的ECN",确实没有最小距离的限制,即止损/盈利/仓位可以设置在点差内。
StopLevel不会有帮助,因为它也会返回0,使用Ask-Bid差价,可以用一些乘数。
Alexander Bereznyak:
StopLevel没有帮助,因为它也返回0,我使用Ask-Bid差值
它是用于传播,但用于最小的停止?
StopLevel没有帮助,因为它也返回0,我使用Ask-Bid差值
也是为一分钟的停留
Alexander Bereznyak:
也是为了迷你型停车。
所以你让最小止损等于点差?
也是为了迷你型停车。
Vladislav Andruschenko:
朋友们,大家好
Marketplace有一个特殊的特点:我们需要检查min stop的所有值。
如果变量的值小于最小止损点,那么就指定一个最小止损点,这样就不会出现错误130。
目前90%的经纪商有浮动点差和最小STOP,收益率为0。
有一个代码结构,将所有的变量都分配给最小的停止。
但这在市场上已经不起作用了,因为现在到处都是minstop=0。
谁在处理这个问题?
作为一种选择,对最小停靠点的尺寸进行限制。例如,在OnInit()中,如果用户设置的止损点少于2点,则给出警告并返回代码INIT_PARAMETERS_INCORRECT。
另一个选择是不允许用户控制止损大小,而是根据交易条件在专家顾问中动态地计算它。
由于经纪商指出最小止损为零,所以没有别的办法,如果点差不够,你可以拿起乘数。
Vitalii Ananev:
或者,你可以引入最小止损规模的限制。例如,在OnInit()中,如果用户设置的止损点少于2个点,它会发出警告并返回代码INIT_PARAMETERS_INCORRECT。
另一个选择是不允许用户控制止损大小,而是根据交易条件在专家顾问中动态地计算它。
我同意--不给控制权,但你知道它是如何被类型要求的:我想设置自己的停止。
我会考虑信息输出的问题 - 谢谢你。
Alexander Bereznyak:
由于经纪人宣布最小止损为零,所以没有其他事情可做,如果点差不够,你可以拿起一个倍增器
由于经纪人宣布最小止损为零,所以没有其他事情可做,如果点差不够,你可以拿起一个倍增器
是的,这只是对市场而言--但对任何经纪人来说都没有普遍性。
它的工作方式是,你必须在3个价位上做一个最小的止损,以便被市场接受。
唯一的区别是市场接受它们--你必须做一个最小止损和3个点差,但事实上这是错误的--如果一个经纪人最小止损=1个点差--那么用户将不能放少于3个点差。
挡板。
朋友们,大家好
Marketplace有一个特殊的特点: 我们需要检查min stop的所有值。
如果变量的值小于最小止损点,那么就指定一个最小止损点,这样就不会出现错误130。
目前90%的经纪商有浮动点差和最小STOP,收益率为0。
有一个代码结构,将所有的变量都分配给最小的停止。
但它在市场上已经不起作用了,因为现在到处都是min.stop = 0。
谁在处理这个问题?