龙听期货论坛's Archiver

龙听 发表于 2022-5-18 14:58

【Dllr Risk Trailing】(最大获利回吐金额出场法)

【Dllr Risk Trailing】[code]Inputs: PositionBasis(True), Amount(0);

If PositionBasis Then SetStopPosition
Else
SetStopContract;
SetDollarTrailing(Amount);[/code]说明:若是positionbasis为true,则按头寸持仓统计风险金额,若positionbasis为false 则按每合约统计风险金额。 在信号的属性设置 里面可以设置TRUE或false,同时输入金额数值。

设置好后,当收益回撤 amount金额后启动出场动作。

龙听 发表于 2022-5-18 15:07

原理解析:

[img]http://p.algo2.net/2022/0518/7249dfac2f951.png[/img]

信号变量(Dllr风险跟踪)。


设置

这部分决定了Dllr风险追踪的计算是以头寸为基础还是以每个合约/股票为基础。如果PositionBasis输入为True,美元风险将以头寸为基础计算。如果PositionBasis被设置为False,美元风险将以每份合同/股为基础计算。[code]If PositionBasis Then
SetStopPosition
Else
SetStopContract;[/code]美元风险追踪退出

SetDollarTrailing语句计算多头或空头的美元风险追踪止损。[code]SetDollarTrailing(Amount);[/code]

龙听 发表于 2022-5-18 15:10

函数【SetDollarTrailing】:

SetDollarTrailing

当从仓位进场后的最大获利拉回到指定金额后,平仓部分或所有仓位。依仓位的多空不同,使用对应的停止单进行委托。
例如:若指定的金额为50元,而仓位曾出现的最大获利金额为120元;一旦获利回吐剩下70元时会平仓仓位。
由SetStopPosition 和 SetStopContract 或 SetStopShare 决定停损是所有仓位合并计算或是个别仓位分开计算,默认是有仓位合并计算。
SetDollarTrailing 指令是在Bar内就会即时触发,而不是仅仅在Bar结束时才执行,所以可以在进场的当根Bar马上出场。

用法
SetDollarTrailing(Amount)

参数说明: Amount —— 数值表达式,自最大获利高点拉回要停利的金额,即获利回吐金额

注意
此函数只能在信号中使用。

实际委托价格会考虑进场手续费及滑价成本。

范例

当整体仓位的最大获利回吐50元之后,产生平仓所有仓位的委托:[code]SetStopPosition;

SetDollarTrailing(50); [/code]当个别仓位的自最大获利回吐10元之后,产生平仓该进场仓位的委托:[code]
SetStopContract;

SetDollarTrailing(10); [/code]

页: [1]