| 以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 系统自带的完整交易系统范例代码中有几句不明白,请老师指点,谢谢 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=137629)  | 
    
| --  作者:郑庄公 -- 发布时间:2016/8/7 8:31:48 -- 系统自带的完整交易系统范例代码中有几句不明白,请老师指点,谢谢 //该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!! //此策略以当前价格突破为进场条件,进场之后记录价格变动的最高、最低,并计算回撤点数,当参数设置启动了回撤止盈时,符合条件就会平仓。 //有止损设置,赚钱超过3点时,如果价格回撤,系统会保留1.2点的盈利退出,这样至少可以保住手续费。 //作者:GUOTX2010  日期:2011-03-21 //参数定义 EMA13:EMA(C,10),COLORWHITE;  EMA21:=EMA(C,21),COLORYELLOW;  EMA34:=EMA(C,34),COLORFF00FF; EMA60:=MA(C,55),COLORFFCC66;  X1:(C+L+H)/3;  X2:EMA(X1,5);  X3:EMA(X2,4);  STICKLINE(X2>X3 AND C>EMA13,LOW,HIGH,0.1,1),COLORRED;  STICKLINE(X2>X3 AND C>EMA13,CLOSE,OPEN,3,1),COLORRED;  STICKLINE(X2<X3 AND C<EMA13,LOW,HIGH,0.1,1),COLORFFFF52; STICKLINE(X2<X3 AND C<EMA13,CLOSE,OPEN,3,0),COLORFFFF52; BUY1:=FILTER(X2>X3 AND C>EMA13,4); SELL1:=FILTER(X2<X3 AND C<EMA13,4); //使用逐K线模式时 VARIABLE:DUOKONG=0;   {这是什么意思?} TSFS:=0;     {停损反手,1-反手 0-不反手} ORDVOL:=1;     {开仓手数} ZSDS:=10;     {止损点数} //以下变量用于移动止盈,,移动止盈只能保证你尽可能稳健盈利,却不能保证盈利最大化,如果不想使用,可是将总开关设置为0 VARIABLE:YDZY=1;     {移动止盈总开关,1为开,0为关} VARIABLE:HIGHPRICE=0,LOWPRICE=0; {保存开仓后的最高价、最低价} VARIABLE:DHCDS=3,KHCDS=3;   {多、空单回撤点数} VARIABLE:DYLDS=7,KYLDS=7;   {多、空单盈利点数,当盈利点数达到这个标准后,如果回撤达到上面的参数值就平仓} VARIABLE:Z3B1:=1;     {赚3保1开关} DUOKONG:=1;    {这是什么意思?} //持有空单 IF HOLDING<0 THEN BEGIN  IF BUY1 THEN BEGIN   //平空单   空平:SELLSHORT(1,0,MARKET),ORDERQUEUE;  END  //止损  IF C-ENTERPRICE>=ZSDS THEN BEGIN   空损:SELLSHORT(1,0,MARKET),ORDERQUEUE;  END  //移动止盈  IF YDZY=1 THEN BEGIN   //每周期判断是否创新低   LOWPRICE:=ENTERPRICE;  
			   IF L<LOWPRICE THEN BEGIN       LOWPRICE:=L;   END    //如果盈利超过10点之后回撤达到3点,就平仓,保住盈利   IF ENTERPRICE-LOWPRICE>=KYLDS THEN BEGIN    IF L-LOWPRICE>=KHCDS THEN BEGIN  //回撤超过3点     空赢:SELLSHORT(1,0,MARKET);    END    END   END  //赚3保1  IF Z3B1=1 THEN BEGIN   IF ENTERPRICE-LOWPRICE>=3 THEN BEGIN    IF ENTERPRICE-L<=1.2 THEN BEGIN        空保:SELLSHORT(1,0,MARKET);    END   END  END END //开多单 IF HOLDING=0 THEN BEGIN  IF DUOKONG=1 OR DUOKONG=2 THEN BEGIN   {不懂加这一句是什么意思}   IF BUY1 THEN BEGIN    多开:BUY(1=1,ORDVOL,MARKET);    HIGHPRICE:=ENTERPRICE;  //将开仓价保存到最高价   END   END END //持有多单 IF HOLDING>0 THEN BEGIN  IF SELL1 THEN BEGIN  {平多单}   多平:SELL(1,0,MARKET),ORDERQUEUE;  END  //多单管理  //止损  IF ENTERPRICE-C>=ZSDS THEN BEGIN   多损:SELL(1,0,MARKET),ORDERQUEUE;  END  //移动止盈  IF YDZY=1 THEN BEGIN   //每周期判断是否创新高   IF H>HIGHPRICE THEN BEGIN    HIGHPRICE:=H;   END    //如果盈利超过10点之后回撤达到3点,就平仓,保住盈利   IF HIGHPRICE-ENTERPRICE>=DYLDS THEN BEGIN    IF HIGHPRICE-H>=DHCDS THEN BEGIN  //回撤超过3点     多赢:SELL(1,0,MARKET);    END    END   END  //赚3保1  IF Z3B1=1 THEN BEGIN   IF HIGHPRICE-ENTERPRICE>=3 THEN BEGIN    IF H-ENTERPRICE<=1.2 THEN BEGIN     多保:SELL(1,0,MARKET);    END   END  END END //开空单 IF HOLDING=0 THEN BEGIN  IF DUOKONG=1 OR DUOKONG=3 THEN BEGIN     {不懂加这一句是什么意思}   IF SELL1 THEN BEGIN    空开:BUYSHORT(1=1,ORDVOL,MARKET);    LOWPRICE:=ENTERPRICE;   END   END END 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY; 
         | 
    
| --  作者:郑庄公 -- 发布时间:2016/8/7 8:33:55 -- 就是那几个设置duokong=0还有duokong=1的语句是干嘛的? 还有后边涉及到这个duokong的逻辑判断语句是做什么的? 没见赋值给duokong为2或者3啊, 就前边有个赋值为0和1, 为什么要有判断它是不是2或者3这样的语句呢? 
         | 
    
| --  作者:郑庄公 -- 发布时间:2016/8/7 12:57:21 -- 不用老师回了. 等半天也没人理. 我发现这个duokong语句根本就没有任何作用,直接删了.  |