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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [原创]固定轮训模式下优化止损止赢的优化

   

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


  共有5758人关注过本帖平板打印复制链接

主题:[原创]固定轮训模式下优化止损止赢的优化

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


加好友 发短信
等级:新手上路 帖子:43 积分:341 威望:0 精华:1 注册:2010/7/23 11:18:28
[原创]固定轮训模式下优化止损止赢的优化  发帖心情 Post By:2011/5/11 9:15:03    Post IP:60.183.54.30[只看该作者]

INPUT:P1(2,0,50,1){初始止损幅度},P2(5,2,100,1){止盈幅度};
VARIABLE:MAXPROFIT=0,{有仓位时最大获利幅度}VMIN = 090000;{用于隔夜高开或低开时间差}                
WIN1:=0;                                                           
WIN2:=0;//止盈、止损、回撤控制
 //信号模块:该模块主用于多空头及平仓信号的量化
{示例如下:开多:当MA10上穿MA20时,发出买入开仓交易指令; 平空:当MA10
上穿MA5时,发出卖出平仓交易指令;平多:当MA5上穿MA10时,发出买入平仓交
易指令;开空:当MA10下穿MA20时,发出开空交易指令;}
MA5: MA(o,5);                                                  
MA10:MA(o,10);                                                 
MA20:MA(o,20);                                                 
                                                                   
开多:=CROSS(MA10,MA20);                                            
平多:=CROSS(MA5,MA10);                                             
开空:=CROSS(MA20,MA10);                                            
平空:=CROSS(MA10,MA5);                                             
交易时间:=TIME>VMIN AND TIME<151430;
//图表日内交易模块:

 IF HOLDING=0 THEN BEGIN
     //多头开仓
     IF 交易时间 AND 开多 THEN BEGIN
         BUY(1,1,mkt);
         MAXPROFIT:=0;
     END
     
     //空头开仓
     IF 交易时间 AND 开空 THEN BEGIN
         BUYSHORT(1,1,mkt);
         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:=(l-ENTERPRICE)/ENTERPRICE*100;
         win2:=(h-ENTERPRICE)/ENTERPRICE*100;
         end

//这样算出来测试的时候虽然是K线走完了的,但是只要知道最高最低到过那里就可以了
    //多头初始浮亏 P1% 止损
     IF WIN1<-P1 THEN
         SELL(1,HOLDING,LIMITR,(ENTERPRICE(1-p1)));
 //这样写价格可以吗
     //多头利润大于 P2% 止盈
     IF WIN2>P2 THEN
         SELL(1,HOLDING,LIMITR,(ENTERPRICE(1+p1)));
      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-h)/ENTERPRICE*100;
         WIN2:=(ENTERPRICE-l)/ENTERPRICE*100; 
     END
 
     //空头初始浮亏超过 P1% 止损
     IF WIN1<-P1 THEN
         SELLSHORT(1,HOLDING,LIMITR,(ENTERPRICE(1+p1)));
 
     //空头利润大于 P2%止盈
     IF WIN1>P2 THEN
         SELLSHORT(1,HOLDING,LIMITR,(ENTERPRICE(1-p1)));
 
 END

//在固定轮训模式下的测试优化,请仔细看看我的盈亏计算和止损止赢价格,如果不 对请高手指正


版主评定:好评,获得1个金币奖励好评,获得1个金币奖励
(理由:好文章)
 回到顶部