[求助]wh9的money出现负数,怎么处理? (文华财经)

投资者咨询:[求助]wh9的money出现负数,怎么处理? (文华财经)
来源:文华财经  日期:2020-10-16 13:36

 

老师好!

 

我在编写策略回测的时候,发现我的资金管理用money函数的时候,

 

在有很大的浮盈进行加仓多次的情况下, Money是负数,

 

如果Money是可用资金,为何它会是负数呢?  

技术人员回复
日期:2020-10-16 13:40

 是因为持仓有浮亏,您入金就可以了

 

监控K线图下方-》出入金

投资者咨询:[求助]wh9的money出现负数,怎么处理? (文华财经)
来源:文华财经  日期:2020-10-16 13:36

 

没有浮亏,我在同一个k线上显示,代码如下

 


    plotline("可用资金:",money,Yellow,NODRAW);
    plotline("浮盈:",PositionProfit,Yellow,NODRAW);

 

money是负数,PositionProfit是正数, 这种情况是怎么发生的?

 

谢谢老师!

技术人员回复
日期:2020-10-16 14:06

您是加载到主图上回测?正常不会出现这种情况的

 

您提供下源码和回测报告上半部分截图,我们加载看下

 
投资者咨询:[求助]wh9的money出现负数,怎么处理? (文华财经)
来源:文华财经  日期:2020-10-16 13:36
 是加载在主图回测。
技术人员回复
日期:2020-10-16 14:46
 您提供下源码和回测报告上半部分截图,我们加载看下
投资者咨询:[求助]wh9的money出现负数,怎么处理? (文华财经)
来源:文华财经  日期:2020-10-16 13:36
 

Data
    //此处添加合约信息
Setting
    //此处添加公式运行参数
    AddTimes:1000;
   //MultSig:0,0,2,5;//5秒钟计算一次行情,出信号立即下单,不进行复核,一根K线最多可以出现2个信号
ImPort
Params
Vars
    Numeric var1;
    Numeric ma1;    //均线1
    Numeric ma2;    //均线2
    NumericSeries K;  //仓位计算

Begin
     var1 = (High+Low)/2;
     ma1 = Sma(var1,20,1) ;
     ma2 = Sma(var1,240,1) ;
    
     k=money*0.5/(ref(close,1)*ContractUnit*MarginRatio);
    
    plotline("开仓K:",k,Yellow,NODRAW);
    plotline("可用资金:",money,Yellow,NODRAW);
    plotline("浮盈:",PositionProfit,Yellow,NODRAW);
    plotline("当前占用:",MoneyTot-Money,Yellow,NODRAW);
    plotline("开仓资金:",(money -PositionProfit)*0.5,Yellow,NODRAW);

    PlotNumeric("ma1", ma1);
    PlotNumeric("ma2", ma2);

    //确定方向
// //------------------------信号发出------------------------//
//   //信号发出
//   if (1)
//   { 
       //多头开仓:
         If(MarketPosition == 0 && crossup(ma1,ma2))
         {
            BK(k,open);
         }
   
        //空头开仓:
         If(MarketPosition == 0 && crossdown(ma1,ma2))
         {
            SK(k,open);
         }
 
   //持仓时计算是否需要平仓,或者加仓
      if (MarketPosition!=0)
      {  
        //多单平仓加仓
          if (MarketPosition==1 )
          {  
            //均线未转为多头前以最近一个2小时分形低点为反手点
           IF(crossdown(ma1,ma2))
           {
             SPK(k,open);
           }         
          
           //加仓
            
           If(ref(isup,2)==1 && ref(isup,1)==1)
              {
               if (PositionProfit*0.5/(ref(close,1)*ContractUnit*MarginRatio)>1)  
                {
                  k=PositionProfit*0.5/(ref(close,1)*ContractUnit*MarginRatio);  //浮盈的一半                
                  BK(k,open);
                
              }

            
            
            }
       }
        //空单平仓加仓或反手
          if (MarketPosition==-1 )
           {
          //反手点
           IF(crossup(ma1,ma2))
           {
             BPK(k,open);
           }
         
          
           //加仓
             
           If(ref(isdown,1)==1 && ref(isdown,2)==1)
              {   
             if (PositionProfit*0.5/(ref(close,1)*ContractUnit*MarginRatio)>1)  
                {
                   k=PositionProfit*0.5/(ref(close,1)*ContractUnit*MarginRatio);  //浮盈的一半                
                  SK(k,open);
              }
 
              }
            }   
       }  

 

End



图片点击可在新窗口打开查看
图片点击可在新窗口打开查看 文件名:微信图片_20201016145421.png
技术人员回复
日期:2020-10-16 15:04

我们和相关同事核实一下,有结果在此回复

投资者咨询:[求助]wh9的money出现负数,怎么处理? (文华财经)
来源:文华财经  日期:2020-10-16 13:36

 老师好

 

结果出来了吗?  

技术人员回复
日期:2020-10-16 21:06
 
您的问题已经转交技术部门核实了,有结果会及时为您回复的,请您耐心等待