【MultiCharts(MC)程序化(量化)网上培训学习系列】第143节:持仓管理系列之一:目标止盈/损、时间止盈/损
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
【MultiCharts(MC)程序化(量化)网上培训学习系列】第143节:持仓管理系列之一:目标止盈/损、时间止盈/损
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
视频地址:
程式码部分:
第一部分:进场我将一直使用四周规则来进场,为了方便日后的写码,这里加上四周的进场规则:trading system
本帖隐藏的内容需要回复才可以浏览
另写一个持仓管理策略:position manage-1 target exit
目标金额止盈程式码:- //target dollar amount exit
- SetStopContract;
- SetProfitTarget(1000);
复制代码 若是用目标止盈会有一个问题,若是刚进入就亏损,就会理论上一直持有,实现实盘中会因为换合约强制平掉。我进行两个方面的限制就可以了,也就是加入了强行出场的办法,一是时间出场,二是止损也场;
时间出场:【进场后10个BAR强制出场】
本帖隐藏的内容需要回复才可以浏览
整体资金管理程式码:
本帖隐藏的内容需要回复才可以浏览 关注程序化课程微信公众号(每天上架新策略、跟着视频学编程)
|
|
|
|
|
|
|
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
附效果图:【因为设置了10个BAR强制出玚,导致大趋势频繁进场,明天我将优化一下,在趋势中持有】
|
|
|
|
|
|
|
- UID
- 2
- 积分
- 2868965
- 威望
- 1384510 布
- 龙e币
- 1484455 刀
- 在线时间
- 13082 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-14
|
这里是今天用到的关键词。
SetProfitTarget
当从仓位进场后的最大获利达到特定金额时,平仓部分或所有仓位。依仓位的多空不同使用对应的限价单进行委托。
由 SetStopPosition 和 SetStopContract 或 SetStopShare 决定停损是所有仓位合并计算或是个别仓位分开计算;默认是所有仓位合并计算。
指令是在Bar内就会即时触发,而不是仅仅在Bar结束时才执行,所以可以在进场的当根Bar马上出场。
用法
SetProfitTarget(Amount)
参数说明: Amount —— 数值表达式,要停利的获利金额
注意
实际委托价格会考虑进场及出场的手续费和滑价成本。
范例
当整体仓位的最大获利达到100元时,产生平仓所有仓位的委托:
SetStopPosition;
SetProfitTarget(100);
当个别仓位的最大获利达到10元时,产生平仓该进场仓位的委托:
SetStopContract;
SetProfitTarget(10);
------------------------------------------------------------------------------------------------
SetStopContract
指定策略出场函数
个别仓位分开计算: SetStopLoss , SetProfitTarget , SetBreakEven , SetDollarTrailing , and SetPercentTrailing.
用法
SetStopContract
注意
若 SetStopPositon, SetStopContract, 和 SetStopShare 未被声明,默认出场函数,是所有仓位合并计算。
若 SetStopPositon, SetStopContract, 和 SetStopShare 被多次声明,或是在同一个图表上的不同信号分别声明,会以最后一次的声明状态为最后状态。
范例
指定SetStopLoss策略出场函数是个别仓位分开计算,当个别仓位损失达10元时,产生平仓委托:
SetStopContract;
SetStopLoss(10);
----------------------------------------------------------------------------------
Highest
返回一定柱状线范围内的最高价格。
语法
Highest(Price, Length)
返回(双精度数)
Length 条柱状线范围内出现的最高 Price。
参数
名称
类型
说明
Price
数值
指定要评估的柱状线值(价格、函数或公式)。
Length
数值
设置要考虑的柱状线数量。
备注
输入参数 Price 可以是一个柱状线值,如 Close、High、Low、Open 或 Volume。也可以是任何数学计算,如 (High + Low) / 2 或一个数值函数,如 RSI、Stochastic 或 ADX。
示例
以下将最后 20 根柱状线中计算 Close + Open 得到的最高值赋予 Value1:
Value1 = Highest(Close + Open, 20);
----------------------------------------------------------------------------------
Lowest
返回一定柱状线范围内的最低价格。语法Lowest(Price, Length) 返回(双精度数)
过去 Length 条柱状线范围内出现的最低 Price。参数名称 | 类型 | 说明 |
Price |
数值 |
指定要评估的柱状线值(价格、函数或公式)。 |
Length |
数值 |
设置要考虑的柱状线数量。 | 备注
输入参数 Price 可以是一个柱状线值,如 Close、High、Low、Open 或 Volume。也可以是任何数学计算,如 (High + Low) / 2 或一个数值函数,如 RSI、Stochastic 或 ADX。示例
以下将最后 20 根柱状线中的最低 Close 值赋予 Value1:Value1 = Lowest(Close, 20); |
|
|
|
|
|
|
- UID
- 21338
- 积分
- 770
- 威望
- 385 布
- 龙e币
- 385 刀
- 在线时间
- 40 小时
- 注册时间
- 2020-9-16
- 最后登录
- 2024-9-6
|
|
|
|
|
|
|
- UID
- 21774
- 积分
- 750
- 威望
- 375 布
- 龙e币
- 375 刀
- 在线时间
- 8 小时
- 注册时间
- 2021-5-19
- 最后登录
- 2021-6-1
|
|
|
|
|
|
|
- UID
- 21650
- 积分
- 790
- 威望
- 395 布
- 龙e币
- 395 刀
- 在线时间
- 19 小时
- 注册时间
- 2021-3-4
- 最后登录
- 2024-10-7
|
|
|
|
|
|
|
- UID
- 21350
- 积分
- 878
- 威望
- 439 布
- 龙e币
- 439 刀
- 在线时间
- 117 小时
- 注册时间
- 2020-9-23
- 最后登录
- 2022-6-14
|
|
|
|
|
|
|
- UID
- 22411
- 积分
- 746
- 威望
- 373 布
- 龙e币
- 373 刀
- 在线时间
- 79 小时
- 注册时间
- 2022-4-9
- 最后登录
- 2024-8-26
|
|
|
|
|
|
|
- UID
- 21467
- 积分
- 3124
- 威望
- 1562 布
- 龙e币
- 1562 刀
- 在线时间
- 37 小时
- 注册时间
- 2020-11-28
- 最后登录
- 2022-10-22
|
|
好好
|
|
|
|
|
- UID
- 22610
- 积分
- 440
- 威望
- 220 布
- 龙e币
- 220 刀
- 在线时间
- 14 小时
- 注册时间
- 2022-8-21
- 最后登录
- 2023-2-24
|
|
|
|
|
|
|
- UID
- 22967
- 积分
- 380
- 威望
- 190 布
- 龙e币
- 190 刀
- 在线时间
- 61 小时
- 注册时间
- 2023-6-23
- 最后登录
- 2023-8-28
|
|
|
|
|
|
|