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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 怎么统计当日开盘到现在的总盈利?

   

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


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

主题:怎么统计当日开盘到现在的总盈利?

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


加好友 发短信
等级:新手上路 帖子:3 积分:25 威望:0 精华:0 注册:2012/7/25 8:39:58
怎么统计当日开盘到现在的总盈利?  发帖心情 Post By:2012/11/29 20:19:45    Post IP:220.178.4.245[只看该作者]

怎么统计当天开盘到现在的总盈利啊??我用循环做的貌似有点问题,算的不准确,甚至出现图表上的交易与测试明细里不对应。求解

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


加好友 发短信
等级:新手上路 帖子:3 积分:25 威望:0 精华:0 注册:2012/7/25 8:39:58
  发帖心情 Post By:2012/11/29 20:22:58    Post IP:220.178.4.245[只看该作者]

以下是我写的代码:版主大神以及各位大侠帮忙看下

 

 

 

VARIABLE:laststat=0;

//下面2个复制到定义部分
I:=TOTALDAYTRADE; //今日交易次数
YL:=0; //平仓盈亏


AVV1:=MA(VOL,50);
AVV2:=MA(VOL,10);//10周期移动平均
AVV3:=MA(VOL,3);

//控制部分

if  laststat !=100 and TIME>=091500 and TIME<=151359  then
begin
 
 if I>0 then  //有交易次数
 begin
 FOR K=1 TO I DO YL:=YL+NUMPROFIT(K); //计算本日内总平仓盈亏
 end
 
   IF (YL+OPENPROFIT)>3000   then  //在有交易情况下平仓亏损到一定执行操作,如果一次都没交易一样可以用这个计算,因为YL在无交易时值为0
       begin
         SELLSHORT( HOLDING<0,0,THISCLOSE),ORDERQUEUE; //平空
         SELL( HOLDING>0,0,THISCLOSE),ORDERQUEUE; //平多
        
         laststat:=100;
         EXIT;
       end
      
      
      
      
      if holding>=0 and VOL>AVV3*1.4 THEN  //为了开仓,无实际意义
      begin
          //平多开空
        SELL( true , 1 , THISCLOSE ) , ORDERQUEUE;
        BUYSHORT( true , 1, THISCLOSE ) , ORDERQUEUE;
           exit;
      end
     
      if holding<=0 and VOL>AVV2*2 then   //为了开仓,无实际意义
      begin
          //平空开多
        SELLSHORT( true , 1 , THISCLOSE ) , ORDERQUEUE;
        BUY( true , 1, THISCLOSE ) , ORDERQUEUE;
           exit;
      end 
      
end

 

 if time>151259 then  //每天结束时全局变量初始化
 begin
 laststat:=0;
 end
    
//防止隔夜仓

SELL(TIME>=151359 AND HOLDING>0,0,THISCLOSE); //股指期货时间大于15点13分59秒,平多

SELLSHORT(TIME>=151359 AND HOLDING<0,0,THISCLOSE); //股指期货时间大于15点13分59秒,平空


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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/11/29 20:37:21    Post IP:123.115.15.154[只看该作者]

根本就不要那么麻烦,只要通过计算开盘时的Asset资产和现在的资产进行对比就知道了。

 

VARIABLE:x=ASSET; //记录最开始资产

 

//下面的代码判断当出现日期更换后就将资产恢复到今日的开盘位置
if ref(date,1) <> date then
   x:=ASSET;
  
ma3:=ma(c,3);
ma5:=ma(c,5);

buy(cross(ma3,ma5),1,THISCLOSE);
sell(cross(ma5,ma3),0,THISCLOSE);

 

今日盈亏:ASSET - x,nodraw;



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部