文章 "本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。"

 

新文章 本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。已发布:

本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。

以下功能显示了以上述方式计算盈亏平衡的图表。基于这张流程图, 要预先计算三个数值: 激活, 失活和新的停止价位。如果当前价格水平大于或等于初始阶段所需的最低价位 (设定止损到盈亏平衡), 则先前计算出的新止损价位将被暂定用作交易的新止损价位。否则, 输出将为零。下一步是检查新的停止价位是否优于当前停止价位, 如果满足上一个条件, 则应始终返回 true, 并返回计算出的停止价位作为最终输出。


盈亏平衡

作者:Enrico Lambino

 

你好,恩里科。你的伟大工作仍在继续。不要疲倦,继续努力。

 

您好、

似乎无法为追踪止损设置特定的交易量(百分比)?

 

如何使用 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);

在这种情况下,盈亏平衡不起作用。如果我删除 跟踪止损(跟踪对象),盈亏平衡就能正常工作。

 
mbjen:

您好、

似乎无法为追踪止损设置特定的交易量(百分比)?

是的,无法设置。CTrail 和 CTrails 仅用于修改止损水平。对于交易量,您需要在 CStop 上进行设置。
mbjen:

如何使用 2 个或更多 TS?

这是我的代码:

在这种情况下,盈亏平衡不起作用。如果我删除跟踪止损(跟踪对象),盈亏平衡就会正常。

这取决于您为两者(盈亏平衡和跟踪)设置的激活和距离。但很可能是跟踪止损先于盈亏平衡触发。如果止损水平已经高于您设置的盈亏平衡价格,则不再适用盈亏平衡。
 
Enrico Lambino:
是的,这是不可能的。CTrail 和 CTrails 仅用于修改止损水平。至于交易量,您需要在 CStop 上进行设置。这取决于您为两者(盈亏平衡和追踪)设置的激活和距离。但很可能是追踪先于盈亏平衡触发。如果止损水平已经高于您设置的盈亏平衡价格,则盈亏平衡将不再适用。
以下是我使用的设置。盈亏平衡失效。根据我的理解,第二条线索必须在距离 500 时激活,对吗?所以盈亏平衡必须在此之前激活。那为什么不起作用呢?
   //--追踪止损
   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:

也行不通。

尝试降低您的盈亏平衡点/追踪启动目标。您设定了盈亏平衡点或追踪目标,但这并不意味着市场一定要达到这个目标。

 
Enrico Lambino:

尝试降低您的盈亏平衡点/追踪激活目标。您设置了盈亏平衡或追踪目标,并不意味着市场一定要达到这个目标。


我在回溯测试 中检查了同一市场历史时期。如果我同时启用 TS(常规跟踪止损)和 BE,只有 TS 起作用,BE不起作用(我看不到止损线)。如果禁用 TS,则 BE 运行正常。我在回溯测试中测试并检查止损线。

 
mbjen:

我在回溯测试 的同一市场历史时期进行检查。如果同时启用 TS(常规跟踪止损)和 BE,只有 TS 起作用,BE不起作用(看不到止损线)。如果禁用 TS,则 BE 运行正常。我在回溯测试中测试并检查止损线。

您的止盈值是多少?是否与 BE 的激活价格(以点为单位)相同或更大?
 
mbjen:

也不起作用。

您的第一个代码激活的是止盈,而不是止损。如果要进一步修改止损,应该是止盈。但是,如果您的止损点是 500 点,那么在 500 点时根本不会启动移动止损,因为此时交易已经离场。

您的第二个代码使用了追踪止损,但没有使用盈亏平衡。因为在应用盈亏平衡之前,止损价已经高于盈亏平衡价。