以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教,关于买卖函数问题,急急  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=58588)

--  作者:chricel
--  发布时间:2013/11/11 0:29:19
--  请教,关于买卖函数问题,急急

INPUT:N(40,1,100,10),SS(1,1,10000,1);
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
手数:=SS;
MA1:REF(MA(((H+L+C)/3,N)),1);//三价平均线
浮动区间:=REF(MA(TR,N),1);//真实振幅的移动平均线
上轨:MA1+浮动区间;
下轨:MA1-浮动区间;

//交易条件
开多条件:=MA1>REF(MA1,1) AND C>上轨;
开空条件:=MA1<REF(MA1,1) AND C<下轨;
平多条件:=C<MA1;
平空条件:=C>MA1;
//交易系统

SELL(平多条件 AND HOLDING>0,手数,MARKET);
SELLSHORT(平空条件 AND HOLDING<0,手数,MARKET);
BUY(开多条件 AND HOLDING<=0,手数,MARKET);
BUYSHORT(开空条件 AND HOLDING>=0,手数,MARKET);

 

第一个问题:为什么我只开,BUY(开多条件 AND HOLDING<=0,手数,MARKET);
BUYSHORT(开空条件 AND HOLDING>=0,手数,MARKET);就是我把开空和平空(SELL(平多条件 AND HOLDING>0,手数,MARKET);
SELLSHORT(平空条件 AND HOLDING<0,手数,MARKET)
信号删除掉,那么在图表上,就没有显示出买多卖空信号了呢?请问BUY、BUYSHORT、

SELL、SELLSHORT这四个函数,要同时在程序里面出现吗,如果少一个,程序运行就信号就不正确了吗?

第二个问题:我把上面的程序SELL和BUY这个两个函数对换一下,写成BUY(平多条件 AND HOLDING>0,手数,MARKET);
SELL(开多条件 AND HOLDING<=0,手数,MARKET);整个程序运行起来,连信号都没有了,想不明白,请解释一下?

希望大家给个答案,谢谢了

 


--  作者:jinzhe
--  发布时间:2013/11/11 9:13:41
--  

金字塔买卖顺序是有固定的,你那样写有可能会造成有部分下单语句不触发

 

要这样写才可以

SELLSHORT(平空条件 AND HOLDING<0,手数,MARKET);
BUY(开多条件 AND HOLDING<=0,手数,MARKET);

SELL(平多条件 AND HOLDING>0,手数,MARKET);
BUYSHORT(开空条件 AND HOLDING>=0,手数,MARKET);