Roman Shiredchenko 项目 中类比使用其中包含的文件。
不客气。很快就会有一篇关于尾随类的文章--作为这个主题的逻辑结论。
可以说,它们的使用会更加正确,对我来说也会更加方便。
感谢您的文章、
但我希望你能修改一下,以避免 fp 数字的截断错误:
pos_profit_pt= int ((tick.bid - pos_open) / Point ()); // 计算仓位利润(点数
致
pos_profit_pt= (int) MathRound((tick.bid - pos_open) / Point ()); // 计算仓位利润(点数
文章写得很透彻,但对于一个相对较小的主题来说,篇幅过长。不是每个人都能应付自如。
但一切都从头到尾解释清楚了...可以为拖网连接其他指标,例如 MA。
我正在研究这样一个主题....
//+------------------------------------------------------------------+ //| 管理未结头寸:追踪止损 //+------------------------------------------------------------------+ void ManageOpenPositions(string Sym, int mn) { if(TrailingStop > 0) for(int i = 0; i < PositionsTotal(); i++) { if(PositionGetSymbol(i)==Sym) // 选择并检查位置是否在当前符号上 if(PositionGetString(POSITION_SYMBOL) == Sym) if(PositionGetInteger(POSITION_MAGIC)==mn || mn == -1) { ulong ticket = (ulong)PositionGetInteger(POSITION_TICKET); // 获取位置票 ...
我也会在工作中研究您提出的变体:
//+------------------------------------------------------------------+ //| StopLoss 跟踪功能由 StopLoss 价格值决定。 //+------------------------------------------------------------------+ void TrailingStopByValue(const double value_sl, const long magic=-1, const int trailing_step_pt=0, const int trailing_start_pt=0) { //--- 价格结构 MqlTick tick={}; //---------------------在周期内,按开放职位总数 int total=PositionsTotal(); for(int i=total-1; i>=0; i--) { //--- 获取下一张位置票 ulong pos_ticket=PositionGetTicket(i); if(pos_ticket==0) continue; //--- 获取符号和位置魔力 string pos_symbol = PositionGetString(POSITION_SYMBOL); long pos_magic = PositionGetInteger(POSITION_MAGIC); //--- 跳过与符号和魔法过滤器不匹配的位置 if((magic!=-1 && pos_magic!=magic) || pos_symbol!=Symbol()) continue; //--- 如果未获得价格 - 继续 if(!SymbolInfoTick(Symbol(), tick)) continue; ...
有谁能详细解释一下,或者贴出这样一个 EA 的现成代码(或文件)?
WITHOUT ROBOT! 在手动打开的所有仓位上不断移动 sl。
新文章 如何使用抛物线转向(Parabolic SAR)指标设置跟踪止损(Trailing Stop)已发布:
在创建交易策略时,我们需要测试多种多样的保护性止损。这时,一个随着价格变动而动态调整止损位的想法浮现在我的脑海中。抛物线转向(Parabolic SAR)指标无疑是最佳选择。很难想到有比这更简单且视觉上更清晰的指标了。
追踪止损(Trailing Stop)是一种自动调整止损位置以跟随价格变动的机制,它确保保护性止损始终与价格保持一定距离。这种方法允许交易者在不过早平仓的情况下,保护部分已累积的利润。每当市场价格远离开仓价格时,追踪止损会自动收紧止损位,使其与当前价格保持指定的距离。然而,如果价格接近开仓价格,止损价位则保持不变。这为交易者提供了保护,使其避免遭受由于市场波动而导致的损失。
但是,如果你需要一个更专业的滑动止损程序版本,你可以使用MQL5编写一个函数来扩展标准工具的功能。
有一个程序函数,它接收所需的价格来设置止损价。该程序会检查一些禁止性因素,如“StopLevel”水平——即止损不能设置得比最小允许距离更近,或“FreezeLevel”水平——即在此距离内不能修改持仓或挂单。换句话说,如果价格已经接近持仓订单的止损位置,且距离小于“FreezeLevel”水平,那么将会触发止损,并且禁止修改。追踪止损还有一些其他参数设置,这些参数设置在移动止损水平到指定价格之前也会被检查,例如仓位的交易品种和magic数字(一种用于识别和管理仓位或订单的标识符)。所有这些标准都在将止损位置移动到指定水平之前立即进行检查。
抛物线转向(Parabolic SAR)指标可完美地作为止损位置的“指示”。
作者:Artyom Trishkin