欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 系统模板更改的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2719人关注过本帖树形打印复制链接

主题:系统模板更改的问题

帅哥哟,离线,有人找我吗?
lty9055
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2014/12/18 21:14:50
系统模板更改的问题  发帖心情 Post By:2015/1/11 11:32:04    Post IP:220.173.18.17[只看该作者]

我在系统自带的图表日内交易模板中加入红色部分,怎么老是显示不行了,版主帮忙纠正一下,感谢!

///////////////////////////////////////////////////////////////////////
//参数设置:
INPUT:P(1,0,200,1){建仓量},P1(2,0,50,1){初始止损幅度},P2(5,2,100,1){止盈幅度},P3(30,5,60,5){回撤止盈};
VARIABLE:MAXPROFIT=0,{有仓位时最大获利幅度}VMIN = 090000;{用于隔夜高开或低开时间差}                
WIN1:=0;                                                           
WIN2:=0;//止盈、止损、回撤控制
 
////////////////////////////////////////////////////////////////////////
//账户信息:
资产:ASSET,PRECISION0,NOAXIS,COLORFF00FF;
可用现金:CASH(0),PRECISION0,LINETHICK0;
持仓:HOLDING,LINETHICK0;
胜率:PERCENTWIN,LINETHICK0;
交易次数:TOTALTRADE,LINETHICK0;
////////////////////////////////////////////////////////////////////////
//主程序
/////////////////
//信号模块:该模块主用于多空头及平仓信号的量化

buycond:=count(c>o,2)=2;
sellcond:=count(c<o,2)=2;                                             
                                                                   
开多:=if holding=0 and buycond then buy(1,1,thisclose);                                       
平多:=if holding>0 and sellcond then sell(1,1,thisclose);                                        
开空:=if holding=0 and sellcond then buyshort(1,1,thisclose);                                            
平空:=if holding<0 and buycond then sellshort(1,1,thisclose);  
                                          
交易时间:=TIME>VMIN AND TIME<150000;
                             
                                                                   
////////////////
//图表日内交易模块:
 
  IF HOLDING=0 THEN BEGIN
     //多头开仓
     IF 交易时间 AND 开多 THEN BEGIN
         BUY(1,P,LIMITR,CLOSE);
         MAXPROFIT:=0;
     END
     
     //空头开仓
     IF 交易时间 AND 开空 THEN BEGIN
         BUYSHORT(1,P,LIMITR,CLOSE);
         MAXPROFIT:=0;
     END
 END
 
 IF HOLDING>0 THEN BEGIN
     //多头平仓
     IF 平多 THEN
         SELL(1,HOLDING,LIMITR,CLOSE);
 
     //多头收盘平仓
     IF NOT(交易时间) THEN
         SELL(1,HOLDING,LIMITR,CLOSE);
 
     //盈亏计算
     IF ENTERBARS>0 THEN BEGIN
         WIN1:=(C-ENTERPRICE)/ENTERPRICE*100;
         IF WIN1>MAXPROFIT THEN
             MAXPROFIT:=WIN1;
         WIN2:=(MAXPROFIT-WIN1)/MAXPROFIT*100;
     END
 
     //多头初始浮亏 P1% 止损
     IF WIN1<-P1 THEN
         SELL(1,HOLDING,LIMITR,CLOSE);
 
     //多头利润大于 P2% 止盈
     IF WIN1>P2 THEN
         SELL(1,HOLDING,LIMITR,CLOSE);
     
     //多头获利后回撤 P3%止盈
     IF WIN2>P3 AND OPENPROFIT>0 THEN
         SELL(1,HOLDING,LIMITR,CLOSE);
 END
 
 IF HOLDING<0 THEN BEGIN
    
     //空头平仓
     IF 平空 THEN
         SELLSHORT(1,HOLDING,LIMITR,CLOSE);
 
     //空头收盘平仓
     IF NOT(交易时间) THEN
         SELLSHORT(1,HOLDING,LIMITR,CLOSE);
     
     //盈亏计算
     IF ENTERBARS>0 THEN BEGIN
         WIN1:=(ENTERPRICE-C)/ENTERPRICE*100;
         IF WIN1>MAXPROFIT THEN
             MAXPROFIT:=WIN1;
         WIN2:=(MAXPROFIT-WIN1)/MAXPROFIT*100;
     END
 
     //空头初始浮亏超过 P1% 止损
     IF WIN1<-P1 THEN
         SELLSHORT(1,HOLDING,LIMITR,CLOSE);
 
     //空头利润大于 P2%止盈
     IF WIN1>P2 THEN
         SELLSHORT(1,HOLDING,LIMITR,CLOSE);
     
     //空头回撤 P3% 止盈
     IF WIN2>P3 AND OPENPROFIT>0 THEN
         SELLSHORT(1,HOLDING,LIMITR,CLOSE);
 END


 回到顶部
帅哥哟,离线,有人找我吗?
netfox
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2015/1/11 11:40:14    Post IP:101.67.130.78[只看该作者]

写错了吧

 

buycond:=count(c>o,2);
                     
开多:=if holding=0 and buycond=2 then buy(1,1,thisclose);  

 

这样才执行


 回到顶部
帅哥哟,离线,有人找我吗?
lty9055
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2014/12/18 21:14:50
  发帖心情 Post By:2015/1/11 20:31:11    Post IP:220.173.18.17[只看该作者]

buycond:=count(c>o,2);
sellcond:=count(c<o,2);                                              
                                                                   
开多:=if holding=0 and buycond=2 then buy(1,1);                                       

平多:=if holding>0 and sellcond=2 then sell(1,1);                                        

开空:=if holding=0 and sellcond=2 then buyshort(1,1);                                            

平空:=if holding<0 and buycond=2 then sellshort(1,1)

 

改成这样也没有执行,哎,搞不懂

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
netfox
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2015/1/11 22:41:37    Post IP:101.67.130.78[只看该作者]

那就单步追踪看看 buycond 数值变化成什么了

 回到顶部
帅哥哟,离线,有人找我吗?
netfox
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搬砖的
等级:小飞侠 帖子:1670 积分:397 威望:0 精华:0 注册:2012/3/19 20:34:34
  发帖心情 Post By:2015/1/11 22:44:52    Post IP:101.67.130.78[只看该作者]

图片点击可在新窗口打开查看  我说你这写法不对啊。。。。 下面 变量 “开多”  你自己用 开多:=xxx  最后代入了 buy 函数 。 这样不是等于0了呢 ,那不是false

 

直接写成

 

开多:=buycond=2 ;  就可以了


 回到顶部