以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  帮我看看我这个代码出什么问题,为啥没有交易信号,谢谢  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=50200)

--  作者:BruceX
--  发布时间:2013/3/25 12:15:31
--  帮我看看我这个代码出什么问题,为啥没有交易信号,谢谢

//参数声明

Input : T20(20,15,60,1);
Input : T10(10,10,30,1);
Input : PosNum(1,1,20,1);

//声明变量

//准备需要的变量
T20HI := ref( HHV(high,T20),1);
T20LO := ref( LLV(LOW,T20),1);

T10HI := ref( HHV(high,T10),1);
T10LO := ref( LLV(LOW,T10),1);

VARIABLE : Position =0; //表示空仓

AvgTR : = ref(MA(Tr,20),1);

//如果当前没有持仓
If Position = 0 then Begin
 
   Long : = h > T20HI;
    //多头进场
   If Long then BEGIN
      MyEntryPrice : = IF(Open>T20HI+MINDIFF,Open,T20HI+MINDIFF);
      buy(1,PosNum,LIMITR,MyEntryPrice);
      Position : = 1;
      N : = AvgTR;
     
   END
END //If

//如果当前持有多头仓位时候

If Position = 1 then Begin
  
   //建立多头离场条件
   LongX1 : = Low < T10LO;
  
   If LongX1 then Begin
      MyExitPrice : = IF(Open<T10LO-MINDIFF,Open,T10LO-MINDIFF);
      sell(1,0,LIMITR,MyExitPrice);
      Postion : =0;
  
   End
  
   //建立多头止损条件
   LongX2 : = Low< MyEntryPrice - 2*N;
  
   If LongX2 then Begin
      MyExitPrice : = IF(Open<MyEntryPrice-2*N,Open,MyEntryPrice-2*N);
      MyExitPrice : = FLOOR(MyExitPrice/MINDIFF)*MINDIFF;   //波动值与最小变动价位不同,所以用Floor把它修正到最小变动价位
      sell(1,0,LIMITR,MyExitPrice);
      Postion : =0;
  
   End
      GOTO ContinueLine;


End //If


ContinueLine@ 资产: ASSET,LINETHICK0;


--  作者:BruceX
--  发布时间:2013/3/25 12:25:54
--  
帮忙看看吧,谢谢
--  作者:just
--  发布时间:2013/3/25 13:16:43
--  
工作人员在处理 ,请稍等


--  作者:just
--  发布时间:2013/3/25 13:24:15
--  
If LongX1 then Begin 
      MyExitPrice : = IF(Open<T10LO-MINDIFF,Open,T10LO-MINDIFF);
      sell(1,0,LIMITR,MyExitPrice);
      Postion : =0; 改为position=0 
   

   End
   
   //建立多头止损条件
   LongX2 : = Low< MyEntryPrice - 2*N;
   
   If LongX2 then Begin
      MyExitPrice : = IF(Open<MyEntryPrice-2*N,Open,MyEntryPrice-2*N);
      MyExitPrice : = FLOOR(MyExitPrice/MINDIFF)*MINDIFF;   //波动值与最小变动价位不同,所以用Floor把它修正到最小变动价位
      sell(1,0,LIMITR,MyExitPrice);
      Postion : =0;  改为position=0
   

   End 
      GOTO ContinueLine;
--  作者:BruceX
--  发布时间:2013/3/25 21:26:42
--  
谢谢