以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  确定,浮动赢亏(OPENPROFIT)函数有问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=52684)

--  作者:wide
--  发布时间:2013/6/1 18:39:38
--  确定,浮动赢亏(OPENPROFIT)函数有问题
当前浮动盈亏(当前持仓市值与持仓成本之差)

用法:OPENPROFIT
-------------------------------------------------

问题是,如果您只是一次开仓,一次平仓,没有问题。但是,如果您是两次以上同向开仓,就出问题,会出现如下问题:

如: 10:00 开多1手,到 10:30,赢利10点,此时的浮动赢亏(OPENPROFIT)=10*300;
       10:30,再开多1手(注意,此时全部仓位是2手了),10:31分,从K线上看,又赢1个点。
但是,此时的浮动赢亏(OPENPROFIT)=1*300,上1手的3000利润丢了。

也就是说浮动赢亏(OPENPROFIT)只能记得最近一次的开仓赢利。以前的同向仓位,是记不住的。

//===================================================================

请明确告诉我,这种情况下,浮动赢亏(OPENPROFIT)函数是否正确。  如果就是这样,我只有自写程序处理,如果是问题,那我就期待尽快更正。

谢谢。









--  作者:王锋
--  发布时间:2013/6/1 20:59:34
--  
最好能附带上测试公式,这样我们便于对问题进行核实和修正
--  作者:wide
--  发布时间:2013/6/1 21:18:24
--  



浮动赢亏:OPENPROFIT,LINETHICK0;

   
//====空头进场====

//首次开仓
    BSHORT1:=time=140000  ;
   
    BSHORT2:=time=143000  ;

//----------------------------------------------------------------------------------------------------

     BSHORT:= ( BSHORT1 or BSHORT2  )  ;          

    IF  BSHORT  THEN BUYSHORT(C>0,OPEN_N,LIMITR,CLOSE ),ORDERQUEUE;

//====收盘平仓===========================================================



    IF (TIME=151400 and time<151500 )  THEN                                                                                             //15:14分平仓
   
        BEGIN
        SELL(HOLDING>0,0,LIMITR,CLOSE );
        SELLSHORT(HOLDING<0,0,LIMITR,CLOSE );
        END


--  作者:wide
--  发布时间:2013/6/1 21:19:48
--  
开仓时间,可以随意改动

浮动赢亏的输出,就知道问题了。

谢谢

--  作者:金字塔
--  发布时间:2013/6/1 21:25:25
--  
以下是引用wide在2013-6-1 18:39:38的发言:
当前浮动盈亏(当前持仓市值与持仓成本之差)

用法:OPENPROFIT
-------------------------------------------------

问题是,如果您只是一次开仓,一次平仓,没有问题。但是,如果您是两次以上同向开仓,就出问题,会出现如下问题:

如: 10:00 开多1手,到 10:30,赢利10点,此时的浮动赢亏(OPENPROFIT)=10*300;
       10:30,再开多1手(注意,此时全部仓位是2手了),10:31分,从K线上看,又赢1个点。
但是,此时的浮动赢亏(OPENPROFIT)=1*300,上1手的3000利润丢了。

也就是说浮动赢亏(OPENPROFIT)只能记得最近一次的开仓赢利。以前的同向仓位,是记不住的。

//===================================================================

请明确告诉我,这种情况下,浮动赢亏(OPENPROFIT)函数是否正确。  如果就是这样,我只有自写程序处理,如果是问题,那我就期待尽快更正。

谢谢。





就应该是这样的,浮动赢亏(OPENPROFIT)只是最近一次的开仓而未平仓的盈亏,日内盈亏自己可以编写。