你好,恩里科。你的伟大工作仍在继续。不要疲倦,继续努力。
如何使用 2 个或更多 TS?
这是我的代码:
//--追踪止损 CTrails *trails=new CTrails(); //--- 设定盈亏平衡点 CTrail *trail_be=new CTrail(); trail_be.Set(BELevel,BEOpenPriceDist,0); trails.Add(trail_be); //--- 设置追踪止损 CTrail *trail=new CTrail(); trail.Set(trail_value,trail_start,trail_step); trails.Add(trail); //--- main.Add(trails);
在这种情况下,盈亏平衡不起作用。如果我删除 跟踪止损(跟踪对象),盈亏平衡就能正常工作。
Enrico Lambino:
是的,这是不可能的。CTrail 和 CTrails 仅用于修改止损水平。至于交易量,您需要在 CStop 上进行设置。这取决于您为两者(盈亏平衡和追踪)设置的激活和距离。但很可能是追踪先于盈亏平衡触发。如果止损水平已经高于您设置的盈亏平衡价格,则盈亏平衡将不再适用。
以下是我使用的设置。盈亏平衡失效。根据我的理解,第二条线索必须在距离 500 时激活,对吗?所以盈亏平衡必须在此之前激活。那为什么不起作用呢?是的,这是不可能的。CTrail 和 CTrails 仅用于修改止损水平。至于交易量,您需要在 CStop 上进行设置。这取决于您为两者(盈亏平衡和追踪)设置的激活和距离。但很可能是追踪先于盈亏平衡触发。如果止损水平已经高于您设置的盈亏平衡价格,则盈亏平衡将不再适用。
//--追踪止损 CTrails *trails=new CTrails(); //--- 设定盈亏平衡点 CTrail *trail_be=new CTrail(); //trail_be.Set(BELevel,BEOpenPriceDist,0); trail_be.Set(230,250,0); trails.Add(trail_be); //--- 设置追踪止损 CTrail *trail=new CTrail(); //trail.Set(trail_value,trail_start,trail_step); trail.Set(200,500,10); trails.Add(trail); //--- main.Add(trails);
//--追踪止损 CTrails *trails=new CTrails(); //--- 设定盈亏平衡点 CTrail *trail_be=new CTrail(); //trail_be.Set(BELevel,BEOpenPriceDist,0); trail_be.Set(230,250,0); trails.Add(trail_be); //--- 设置追踪止损 CTrail *trail=new CTrail(); //trail.Set(trail_value,trail_start,trail_step); trail.Set(400,500,10); trails.Add(trail); //--- main.Add(trails);
也不起作用。
mbjen:
也行不通。
尝试降低您的盈亏平衡点/追踪启动目标。您设定了盈亏平衡点或追踪目标,但这并不意味着市场一定要达到这个目标。
mbjen:
也不起作用。
您的第一个代码激活的是止盈,而不是止损。如果要进一步修改止损,应该是止盈。但是,如果您的止损点是 500 点,那么在 500 点时根本不会启动移动止损,因为此时交易已经离场。
您的第二个代码使用了追踪止损,但没有使用盈亏平衡。因为在应用盈亏平衡之前,止损价已经高于盈亏平衡价。
新文章 本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。已发布:
本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。
以下功能显示了以上述方式计算盈亏平衡的图表。基于这张流程图, 要预先计算三个数值: 激活, 失活和新的停止价位。如果当前价格水平大于或等于初始阶段所需的最低价位 (设定止损到盈亏平衡), 则先前计算出的新止损价位将被暂定用作交易的新止损价位。否则, 输出将为零。下一步是检查新的停止价位是否优于当前停止价位, 如果满足上一个条件, 则应始终返回 true, 并返回计算出的停止价位作为最终输出。
作者:Enrico Lambino