Board logo

标题: 【MultiCharts(MC)程序化(量化)网上培训学习系列】第143节:持仓管理系列之一:目标止盈/损、时间止盈/损 [打印本页]

作者: 龙听    时间: 2021-3-16 06:31     标题: 【MultiCharts(MC)程序化(量化)网上培训学习系列】第143节:持仓管理系列之一:目标止盈/损、时间止盈/损



【MultiCharts(MC)程序化(量化)网上培训学习系列】第143节:持仓管理系列之一:目标止盈/损、时间止盈/损

1、注册论坛会员免费看公开课视频源码;升级至付费会员免回复查看策略源码、文档;升级至prime会员无阻碍畅游全站期货策略、源码、回测、优化、视频、教程、图书、文档,参考:http://www.qhlt.cn/thread-37840-1-1.html

2、通过期货论坛推荐新开立期货账号,可免费获得付费会员或prime会员资格并享受账户特惠政策,参考:http://www.qhlt.cn/thread-25049-1-1.html

3、通过期货论坛开立期货账号并绑定MC享受专属优惠政策:http://www.qhlt.cn/thread-80442-1-1.html

4、代写与求助:http://www.qhlt.cn/forum-109-1.html

5、期货论坛策略源码区:http://www.qhlt.cn/forum-109-1.html ;策略精选推荐优化区:http://www.qhlt.cn/forum-874-1.html

6、期货论坛官方MC量化策略群,对视频中策略有想法、建议、优化以结交量化好友,动动手,扫二维码加入微信群,跟一众量化好友切磋吧:http://www.qhlt.cn/thread-262-1-1.html

图片附件: 微信截图_20210316062942.png (2021-3-16 06:30, 50.64 KB) / 下载次数 66
http://www.qhlt.cn/attachment.php?aid=27643&k=6d3d8114fa81a0042cc16ed6187541f2&t=1715633521&sid=c7p7IP


作者: 龙听    时间: 2021-3-16 06:40

视频地址:[mp4]http://mp4.qhlt.club/Rec%200143.mp4[/mp4]


程式码部分:

第一部分:进场我将一直使用四周规则来进场,为了方便日后的写码,这里加上四周的进场规则:trading system

本帖隐藏的内容需要回复才可以浏览



另写一个持仓管理策略:position manage-1 target exit
目标金额止盈程式码:
  1. //target dollar amount exit
  2. SetStopContract;
  3. SetProfitTarget(1000);
复制代码
若是用目标止盈会有一个问题,若是刚进入就亏损,就会理论上一直持有,实现实盘中会因为换合约强制平掉。我进行两个方面的限制就可以了,也就是加入了强行出场的办法,一是时间出场,二是止损也场;

时间出场:【进场后10个BAR强制出场】

本帖隐藏的内容需要回复才可以浏览

整体资金管理程式码:

本帖隐藏的内容需要回复才可以浏览
关注程序化课程微信公众号(每天上架新策略、跟着视频学编程)

作者: 龙听    时间: 2021-3-16 06:42

附效果图:【因为设置了10个BAR强制出玚,导致大趋势频繁进场,明天我将优化一下,在趋势中持有】

作者: 龙听    时间: 2021-3-16 06:45

这里是今天用到的关键词。
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);


作者: 未来货    时间: 2021-3-16 09:11

Thank you very much
作者: 晓东    时间: 2021-5-21 13:06

回复
作者: 下次了    时间: 2021-8-7 03:46

学习
作者: 腾云日记    时间: 2022-1-3 04:12


作者: 毒吻仔    时间: 2022-5-4 02:34

谢谢风向 
作者: 本来周    时间: 2022-7-24 11:34

多谢分享
作者: 顺顺顺    时间: 2022-8-24 14:21

支持一下
作者: 大鸟怪    时间: 2023-6-28 16:48

谢谢老师




欢迎光临 龙听期货论坛 (http://www.qhlt.cn/) Powered by Discuz! 7.2