以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 交易策略发布专区 (http://www.weistock.com/bbs/list.asp?boardid=10) ---- 【另类策略】闪灵交易者策略 (http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=34050) |
-- 作者:RogarZ -- 发布时间:2012/12/26 13:25:58 -- 【另类策略】闪灵交易者策略 闪灵交易者策略 (The Ghost Trader Trading Stategy) 在交易中,特别是突破类模型,成功率并不高,若碰上反复的假突破,更是一种灾难。那有没有方法来减少这种情形的发生呢?本文介绍的闪灵交易者策略(The Ghost Trader Trading Stategy)为大家提供了一种方式。 闪灵交易者策略源自于交易者的观察,一些交易者从自己的交易记录中发现,若上一次交易是盈利的,那么下一笔交易是亏损的概率比较大。因此在设计策略时,希望能跳过这些我们认为会亏损的交易。具体到策略中,我们将引入模拟交易的概念(这个概念仅指此策略中代码部分,请勿与金字塔模拟交易混淆), 与之对应的是真实下单模块。模拟交易始终在运行交易条件。而真实下单模块直到上一笔模拟交易是亏损的情况下才执行。 本文的例子,将忠于原策略,建立在一个指数移动平均和RSI指标上。默认只考虑一次亏损的情况,周期为日线,运行模式为走完K线(在小周期运行此策略,效果更明显些)。 开多:9日收盘价指数平均大于等于19日最高价的指数平均并且9日收盘价的RSI指标下穿70。 开空:9日收盘价指数平均小于19日最高价的指数平均并且9日收盘价的RSI指标上穿30。 平多:最新价下穿20日低点。 平空:最新价上穿20日高点。 以上进出场点并不是这个策略的要点,重在如何记录模拟交易的状况,在金字塔软件中,我们将使用全局变量来构建这个部分。具体的见代码,我会多做些注释。若您完全理解后,移动止盈止损的代码也应不在话下。 代码:
IF 平多条件 AND 模拟持仓=1 THEN BEGIN IF 平空条件 AND 模拟持仓=-1 THEN BEGIN
这个策略虽说是一个完整的策略,但个人觉得更像是一个模板。大家理解后,应很容易修改这个模板,任意发挥,默认只计算一次亏损策略的效果并不明显。若改成比如连亏3次后再交易的情形,交易次数和效果很明显。 |
-- 作者:ackvz -- 发布时间:2012/12/26 17:13:51 -- ![]() |
-- 作者:shy508 -- 发布时间:2012/12/26 18:03:58 -- ![]() |
-- 作者:翻手为云 -- 发布时间:2013/1/9 22:28:20 -- 感觉很实用, 我想把这个东西用在我的趋势模型里面,估计能效果会更好呵呵, |
-- 作者:gwczhwt -- 发布时间:2013/2/17 11:45:15 -- rogarz老师,请问如果连亏3次才交易该怎么修改? |
-- 作者:RogarZ -- 发布时间:2013/2/18 9:53:24 -- 以下是引用gwczhwt在2013-2-17 11:45:15的发言:
rogarz老师,请问如果连亏3次才交易该怎么修改? 思路,在设个全局变量记录次数 然后判断 是否打开 真实系统下单开关
新增 全局变量 盈亏记录
IF 该笔盈亏>0 THEN BEGIN 模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0 |
-- 作者:free_chase -- 发布时间:2013/4/3 22:51:57 -- 这段代码我实在是不会理解。。。
IF 该笔盈亏<=0 THEN BEGIN \\\\代表这次模拟交易亏损 模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
|
-- 作者:dwjgwsm -- 发布时间:2013/4/4 21:56:01 -- 他这个应该用 if 盈亏记录=0 then 盈亏记录:=1; else if 盈亏记录=1 then else 盈亏记录:=2; ...... end 这样的来解决。 如果有vba 的 case语句就更明了了
|
-- 作者:free_chase -- 发布时间:2013/4/5 23:33:29 -- 还是不太理解。。。 if 盈亏记录=0 then
盈亏记录:=1;
else
if 盈亏记录=1 then
//这里执行什么语句?能让程序再进行一次盈亏计算呢??
else
盈亏记录:=2;
......
end
求高手再指点下,谢谢。。。
|
-- 作者:RogarZ -- 发布时间:2013/4/6 10:14:49 -- 上面的写的有问题,只是给个思路
如果 原来盈亏记录=0 那么赋值盈亏记录=1 如果 原来盈亏记录=1 那么赋值盈亏记录=2 如果 原来盈亏记录>=2 那么赋值盈亏记录=3 如果 原来盈亏记录=3 那么 真实下单开关=1 (0代表未启动,1代表启动) |