| 以文本方式查看主题 
 -  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
 --  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
 ----  帮忙看看这个模型  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=25419)
 
 
 | 
    
    
      | --  作者:大灰狼 --  发布时间:2012/9/12 14:35:07
 --  帮忙看看这个模型
 
 A:=HHV(H,5);B:=LLV(L,5);
 MA1:=MA(CLOSE,5);
 KD:=CROSS(CLOSE,REF(A,1));
 KK:=CROSS(REF(B,1),CLOSE);
 IF(KD) THEN
 BEGIN
 if HOLDING = 0 then
 BEGIN
 buy(1,3,MARKET);
 MSGOUT(1,\'开多\');
 end
 if holding < 0 THEN
 begin
 sellshort(1,HOLDING,MARKET);
 buy(1,3,MARKET);
 MSGOUT(1,\'平空开多\');
 end
 End
 if (KK) thenbegin
 if HOLDING = 0 then
 begin
 buyshort(1,3,MARKET);
 MSGOUT(1,\'开空\');
 end;
 if holding > 0 THEN
 begin
 SELL(1,HOLDING,MARKET);
 buyshort(1,3,MARKET);
 MSGOUT(1,\'平多开空\');
 end
 end;
   在if1209 品种上,直接单步调试,上穿下穿返回的变量都为True
 
 | 
    
      | --  作者:大灰狼 --  发布时间:2012/9/12 14:39:15
 --
 
 
  此主题相关图片如下:qq截图20120912143805.jpg 
  
 
 | 
    
      | --  作者:jinzhe --  发布时间:2012/9/12 14:57:07
 --
 这个是有何思路?
 
 | 
    
      | --  作者:汪新博 --  发布时间:2012/9/12 15:00:51
 --
 
 思路:穿越前期高点,做多(有多仓不加仓,有空仓,先平空,再做多),反之同理 
 | 
    
      | --  作者:汪新博 --  发布时间:2012/9/12 15:03:18
 --
 
 A:=HHV(H,5); //5周期高点B:=LLV(L,5); //5周期低点
 MA1:=MA(CLOSE,5);//没用
 KD:=CROSS(CLOSE,REF(A,1));//收盘价(最新价) 向上穿越5周期高点
 KK:=CROSS(REF(B,1),CLOSE);//收盘价(最新价) 向下穿越5周期低点
 IF(KD=1) THEN
 BEGIN
 if HOLDING = 0 then
 BEGIN
 buy(1,3,MARKET);
 MSGOUT(1,\'开多\');
 end
 if holding < 0 THEN
 begin
 sellshort(1,HOLDING,MARKET);
 buy(1,3,MARKET);
 MSGOUT(1,\'平空开多\');
 end
 End
 if (KK=1) thenbegin
 if HOLDING = 0 then
 begin
 buyshort(1,3,MARKET);
 MSGOUT(1,\'开空\');
 end;
 if holding > 0 THEN
 begin
 SELL(1,HOLDING,MARKET);
 buyshort(1,3,MARKET);
 MSGOUT(1,\'平多开空\');
 end
 end;
 
 | 
    
      | --  作者:汪新博 --  发布时间:2012/9/12 15:12:39
 --
 在线等
 
 | 
    
      | --  作者:汪新博 --  发布时间:2012/9/12 15:12:50
 --
 在线等
 
 | 
    
      | --  作者:jinzhe --  发布时间:2012/9/12 15:16:31
 --
 
 穿越前期高点,做多(有多仓不加仓,有空仓,先平空,再做多),反之同理   基本思路是这样的,把条件填进去就行了   if 穿越前期高点  then begin sellshort(holding<0,0,market); buy(holding=0,1,market); end   if 反向操作 then begin sell(holding>0,0,market); buyshort(holding=0,1,market); end 
 | 
    
      | --  作者:汪新博 --  发布时间:2012/9/12 15:19:36
 --
 那我的写法有问题没
 
 | 
    
      | --  作者:王锋 --  发布时间:2012/9/12 15:36:33
 --
 
 没有找到具体哪根K线有问题的,经过一些修改,让公式输出划线,其实你自己就很容易通过十字光标的移动查出问题来的 A:HHV(H,5); //5周期高点B:LLV(L,5); //5周期低点
 MA1:=MA(CLOSE,5);//没用
 KD:CROSS(CLOSE,REF(A,1)),NODRAW;//收盘价(最新价) 向上穿越5周期高点
 KK:CROSS(REF(B,1),CLOSE),NODRAW;//收盘价(最新价) 向下穿越5周期低点
 IF(KD=1) THEN
 BEGIN
 if HOLDING = 0 then
 BEGIN
 buy(1,3,MARKET);
 MSGOUT(1,\'开多\');
 end
 if holding < 0 THEN
 begin
 sellshort(1,HOLDING,MARKET);
 buy(1,3,MARKET);
 MSGOUT(1,\'平空开多\');
 end
 End
 if (KK=1) thenbegin
 if HOLDING = 0 then
 begin
 buyshort(1,3,MARKET);
 MSGOUT(1,\'开空\');
 end;
 if holding > 0 THEN
 begin
 SELL(1,HOLDING,MARKET);
 buyshort(1,3,MARKET);
 MSGOUT(1,\'平多开空\');
 end
 end;
 
 
 |