以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  这样的策略 如果用金字塔 怎么写  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=94946)

--  作者:hhm0212
--  发布时间:2016/3/20 20:48:06
--  这样的策略 如果用金字塔 怎么写
  1. 1.允许连续买入2次
  2. 2.突破20周期高点买入1次,该仓位命名为\'Buy1\'
  3. 3.突破50周期高点买入1次,该仓位命名为\'Buy2\'
  4. 4.跌破10周期低点卖出\'Buy1\'的仓位
  5. 5.跌破25周期低点卖出\'Buy2\'的仓位

  6. Buy1: HHV(H,20),Shift1;
  7. Buy2: HHV(H,50),Shift1;
  8. Sell1: LLV(L,10),Shift1; 
  9. Sell2: LLV(L,25),Shift1; 
  10. AllowSameEntries(2);
  11. //if EntryName <> \'Buy1\' then 
  12.   Buy(\'\',1,Buy1+MinDiff,-1,OT_STOP,OB_NEXTBAR,\'Buy1\');
  13. //if EntryName <> \'Buy2\' then 
  14.   Buy(\'\',1,Buy2+MinDiff,-1,OT_STOP,OB_NEXTBAR,\'Buy2\');
  15. Sell(\'\',1,Sell1,-1,OT_STOP,OB_NEXTBAR,\'Sell1\') from \'Buy1\';
  16. Sell(\'\',1,Sell2,-1,OT_STOP,OB_NEXTBAR,\'Sell2\') from \'Buy2\';


这样的策略 如果用金字塔 怎么编写

--  作者:hhm0212
--  发布时间:2016/3/20 21:37:27
--  
variable:n1=0,n2=0;
hh1:ref(hhv(c,20),1);
hh2:ref(hhv(c,50),1);
LL1:ref(LLv(c,10),1);
LL2:ref(LLv(c,25),1);
if cross(c,hh1) THEN 
BUY (1,20%,MARKET);
n1:=1;
if cross(c,hh2) THEN 
BUY (1,10%,MARKET);
n2:=1;

if cross(LL1,C) and n1=1 THEN  
SELL(1,HODLING,MARKET);
n1=0;

if cross(LL2,C) and n2=1 THEN  
SELL(1,HODLING,MARKET);
n2=0;
理论上应该是这样

但是实际上并不行 
因为我只跌破LL1的时候会把单子全平了 而不是只平我突破HH1时开的那20%
所以我想问的是全局变量具体怎么解决指令分组的问题






--  作者:netfox
--  发布时间:2016/3/20 22:25:41
--  

拆成2个程序,不然你除非给2个仓位

 

1,X1:=4

2,  X2:=8

 

平仓时候  X1  平常时候X2

 

这样各自就不会错了,但是。。。容易会浆糊,所以你可以拆成2个啊

 

   我连同一个系统拆成多空各自开,各自优化。