全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版)
932 1
2014-12-18

这一篇,提一个还算是简单的范例,解释如何利用变数来做为进场的"开关",去达成交易策略的部位出场后,有的时候即使仍在突破价外(这会出场马上再进场),而不要马上再进场的控制。透过"开关"设计,就可以让交易策略的设计上更多元变化。


策略描述:以每周周一日K的高低点,作为关键价突破追进的策略。但是止损/止盈出场后,必须等到价格再回到突破价以内之后,才做突破再度进场。


通常,如果你只是很简单的订出两个关键价,去做突破追进的话,直观描述出来就会如下这样。 (止损50点、止盈100点)


var:BB(99999),SS(0);var:MP(0),lastWay(0);var:toDO(true);if dayofweek(D)=1 and sessionlastbar then begin  BB= highD(0);  SS= lowD(0);end;MP= marketposition;if MP<=0 then  buy next bar BB stop;if MP>=0 then  sellshort next bar SS stop;if MP<>0 then begin  setstoploss(50*bigpointvalue);  setprofittarget(100*bigpointvalue);end;

你就会看到图表上面出现这样的讯号,获利出场后下一根马上再进场,弄得好像出场的动作是做好玩的?这通常就不是做”突破”的人想要的状况




所以,我们就得对要不要进场的判断,在除了是否突破关键价外,加上一个”开关”来做控制:让出场之后把进场开关关掉,必须等待价格回到突破价以内,才把进场的开关再度打开。


下面程序码中的 toDO 就是进场开关

var:BB(99999),SS(0);var:MP(0),lastWay(0);var:toDO(true);if dayofweek(D)=1 and sessionlastbar then begin  BB= highD(0);  SS= lowD(0);end;MP= marketposition;

if MP[1]<>0 and MP=0 then begin  toDo= false;  if MP[1]>0 then lastWay=1;  if MP[1]<0 then lastWay=-1;end;

if C<BB and lastWay>0 then  toDO= true;if C>SS and lastWay<0 then  toDO= true;


if MP<=0 and toDO=true then  buy next bar BB stop;if MP>=0 and toDO=true then  sellshort next bar SS stop;if MP<>0 then begin  setstoploss(50*bigpointvalue);  setprofittarget(100*bigpointvalue);end;

代码皆可至官方论坛下载


我想,上图跟下图做个比较,你就可以体会这有什么差异了。


量化易-微信二维码.jpg (策略知识分享)




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-12-18 15:38:18
学习了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群