以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请帮助修改一个动态突破策略交易系统  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=12503)

--  作者:Hongzhou
--  发布时间:2012/6/19 22:17:22
--  请帮助修改一个动态突破策略交易系统

请帮助修改一个动态突破策略交易系统,谢谢

 

这是我写的,请帮助修改,并加入头寸管理语句(最下面是策略的原型语句),谢谢!

variable:Lag=20;


Today_Jitter_ER:=STD(CLOSE,30);
Yestoday_Jitter_ER:REF(STD(CLOSE,30),1);
Jitter_Change_ER:=(Today_Jitter_ER - Yestoday_Jitter_ER) /  Today_Jitter_ER;

Lag := (1 + Jitter_Change_ER) * Lag;
MaxLag := HHV(Lag,20);
MinLag := LLV(Lag,60);

UpBand := MA(CLOSE,Lag) + STD(CLOSE,Lag) * 2;
DownBand := MA(CLOSE,Lag) - STD(CLOSE,Lag) * 2;

BuyPoint := HHV(HIGH,Lag);
BuyShortPoint := LLV(LOW,Lag);

SellPoint := MA(CLOSE,Lag);
SellShortPoint := MA(CLOSE,Lag);


BUY(REF(CLOSE,1) > UpBand AND CLOSE >= BuyPoint ,1 , MARKET);
BUYSHORT(REF(CLOSE,1) < DownBand AND CLOSE <= BuyShortPoint, 1, MARKET);

SELL(CLOSE <= SellPoint, 0, MARKET);
SELLSHORT(CLOSE >= SellShortPoint, 0, MARKET);

 

 

//该策略的原型自然语句

 

四 具体策略

   T=0(今日),滞后期K=20;

   今日市场波动率=stdDev(Close,30);

   昨日市场波动率= stdDev(Close(-1),30);

   波动率变化率=(今日市场波动率-昨日市场波动率)/今日市场波动率;

   T=1(第二天),滞后期K=(1+波动率变化率)*K;

   K=min(K,60);    K=max(K,20);

 

   Upband=Average(Close,K)+stdDev(close,K)*2;布林带上限

   Dnband=Average(Close,K)-stdDev(close,K)*2;布林带下限

 

   buyPoint = Highest(High,K)  /滞后期的最高价,为买入点

sellPoint = Lowest(Low,K)   /滞后期的最低价,为卖出点

longLiqPoint =Average(Close,K)     /做多平仓点

shortLiqPoint = Average(Close,K)   / 做空平仓点

 

If(Close of yesterday > upBand) then initiate a long position if today\'smarket action >= buyPoint   /如果昨日收盘价高于布林带上轨,今日市价高于买入点,则触发做多

If(Close of yesterday < dnBand) then initiate a short position if today\'smarket action <= sellPoint   /如果昨日收盘价低于布林带下轨,今日市价低于卖出点,则触发做空

Liquidate long position if today\'s market action <= longLiqPoint/回落至滞后期的移动平均价,卖出平仓

Liquidate short position if today\'s market action >= shortLiqPoint/回调至滞后期的移动平均价,买入平仓


--  作者:jinzhe
--  发布时间:2012/6/20 8:43:26
--  
 你的仓位想要如何管理?
--  作者:Hongzhou
--  发布时间:2012/6/20 9:44:23
--  

只要做到先开后平就好了


--  作者:rushtaotao
--  发布时间:2012/6/20 9:48:42
--  

if holding>0 and cond then sell();

if holding=0 then buy;

这个样子应该能做到,没平不开