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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 20.闪灵交易者系统-系统自带实例里面全局变量失效

   

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


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

主题:20.闪灵交易者系统-系统自带实例里面全局变量失效

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


加好友 发短信
等级:新手上路 帖子:15 积分:0 威望:0 精华:0 注册:2017/3/24 15:26:45
20.闪灵交易者系统-系统自带实例里面全局变量失效  发帖心情 Post By:2018/6/5 0:27:06    Post IP:112.28.174.4[显示全部帖子]

//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!

//策略:闪灵交易者系统
//版本:1.0
//修订时间:2012.11.24
//详情介绍网址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=34050&page=1&star=1
//DESIGNED BY ROGARZ

//中间变量
INPUT:N1(9,1,100,1),SS(1,1,100);
VARIABLE:该笔盈亏:=0;模拟持仓:=0,模拟开仓价:=0,模拟平仓价:=0,真实系统下单开关:=0;
LC := REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;//RSI指标默认N1为9
9日收盘价指数平均:REF(EMA(CLOSE,9),1);
19日最高价收盘价平均:REF(EMA(HIGH,19),1);
20日高点:=REF(HHV(H,20),1);
20日低点:=REF(LLV(L,20),1);
手数:=SS;
//交易条件
开多条件:=9日收盘价指数平均>=19日最高价收盘价平均 AND REF(RSI,1)<70;
开空条件:=9日收盘价指数平均<19日最高价收盘价平均 AND REF(RSI,1)>30;
平多条件:=C<20日低点;
平空条件:=C>=20日高点;


//交易系统
//模拟交易模块
IF 开多条件 AND 模拟持仓=0 THEN BEGIN
   模拟开仓价:=CLOSE;//记录开仓价
   模拟持仓:=1;//模拟持仓为1
END

IF 平多条件 AND 模拟持仓=1 THEN BEGIN
   模拟平仓价:=CLOSE;//记录平仓价
   该笔盈亏:=模拟平仓价-模拟开仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数
   模拟持仓:=0;//将全局变量*模拟持仓*初始化为0
   IF 该笔盈亏>0 THEN BEGIN
    真实系统下单开关:=0;//0代表模拟交易上一笔是赚钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0
   END
   IF 该笔盈亏<=0 THEN BEGIN
    真实系统下单开关:=1;//1代表模拟交易上一笔是亏钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟平仓价*初始化为0    
   END
 END
 
IF 开空条件 AND 模拟持仓=0 THEN BEGIN
   模拟开仓价:=CLOSE;//记录开仓价
   模拟持仓:=-1;//模拟持仓为-1
END

IF 平空条件 AND 模拟持仓=-1 THEN BEGIN
   模拟平仓价:=CLOSE;//记录平仓价
   该笔盈亏:=模拟开仓价-模拟平仓价;//在模拟交易模块中我们只需计算上一笔交易是赚还是亏,在这里我只计算盈亏最后的点数
   模拟持仓:=0;//将全局变量*模拟持仓*初始化为0
   IF 该笔盈亏>0 THEN BEGIN
    真实系统下单开关:=0;//0代表模拟交易上一笔是赚钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0
   END
   IF 该笔盈亏<=0 THEN BEGIN
    真实系统下单开关:=1;//1代表模拟交易上一笔是亏钱的。
    模拟开仓价:=0;//将全局变量*模拟开仓价*初始化为0
    模拟平仓价:=0;//将全局变量*模拟开仓价*初始化为0
   END
 END
 
//真实下单模块 
平空:SELLSHORT(平空条件 AND HOLDING<0,手数,MARKET);
平多:SELL(平多条件 AND HOLDING>0,手数,MARKET);
开多:BUY(开多条件 AND 真实系统下单开关=1 AND HOLDING=0,手数,MARKET);
开空:BUYSHORT(开空条件 AND 真实系统下单开关=1 AND HOLDING=0,手数,MARKET);


以上是系统自带的实例,我发现下单模块“真实系统下单开关=1”这个条件有没有,测试出来的结果几乎没变:
开多:BUY(开多条件  AND HOLDING=0,手数,MARKET);
开空:BUYSHORT(开空条件  AND HOLDING=0,手数,MARKET);
用以上条件下单,结果几乎没有变化,是我的电脑出问题了,还是用全局变量写的虚拟交易不起作用?


 回到顶部