辛苦老师帮忙把TB修改文化8 (文华财经)

投资者咨询:辛苦老师帮忙把TB修改文化8 (文华财经)
来源:文华财经  日期:2020-10-15 22:26
 


Params
 Numeric Kai_No(1);//开仓的数量
 Numeric DaoDian_KaiGuan(1);// 到点平仓的开关  1 为执行  0为不执行
 Numeric length(23);
  
     Numeric n(1);
 
    Numeric loss_yuan(520);
 
    Numeric win_bili1(1);
    Numeric win_bili2(2);
 
 
 Numeric KP_PC_Time(9.30);//开盘 N 分钟可以平仓
    Numeric kaipan_N_M_win_bili(2); //开盘后,N分钟止盈的比例
 
 
 
 Numeric KaiCang_Time(9.01);//开盘开始时间
 Numeric KaiCang_Time1(21.01);//开盘开始时间
 
 Numeric StopOpen(14.55); //收盘前 N分钟不开单
 Numeric StopOpen1(22.55);//收盘前 N分钟不开单
 
 
 Numeric PingCang_Time(14.55);//收盘前平仓
 Numeric PingCang_Time1(22.55);//收盘前平仓
Vars

 

 //************************ 
 Numeric MinPoint;       
    BoolSeries con_Time;//
 
    BoolSeries ye_time_kz;//
    BoolSeries ye_time_kz1;//
 
 NumericSeries B_xinhao;
 NumericSeries S_xinhao;
 //**********************************
 

 
 
 Numeric myhigh;
        Numeric mylow;
        Numeric MyEntryPrice;
        Numeric MyExitPrice;

Begin


 //If( currentdate>20200313){Return;}  

 // 集合竞价和小节休息过滤
 If(!CallAuctionFilter()) Return;
 MinPoint = MinMove*PriceScale; 
  
  
    if(KaiCang_Time1 <StopOpen1  && StopOpen1<=24)
   {
    ye_time_kz = Time>KaiCang_Time1/100 && time<StopOpen1/100 ;
   }
   Else if(KaiCang_Time  > StopOpen1  && StopOpen1>=0)
   {
    ye_time_kz = ( Time>KaiCang_Time1/100 && time<=23.59/100) ||(Time>=0 && time<StopOpen1/100) ;
   
   }Else
   {
    ye_time_kz = False;
   }
  
  
  
  
  
  
 con_Time =(Time>=KaiCang_Time/100  && time<StopOpen/100) || ye_time_kz  ;
  
  /*
     Commentary("Time?="+Text(  Time  ));
 
     
     Commentary("StopOpen/100?="+Text(  StopOpen/100  ));
 
     
     Commentary(" StopOpen1/100?="+Text(   StopOpen1/100  ));
      Commentary("bai=?"+IIFString( Time>=KaiCang_Time/100  && time<StopOpen/100,"ok","没有")     );
      Commentary("ye_time_kz=?"+IIFString( ye_time_kz,"ok","没有")     );
   //*/
//*********************************************************************

//***********************************************【到点平仓】************************************** 
  
     
 
  
      If(MarketPosition==1 && (Time==PingCang_Time/100 || Time==PingCang_Time1/100)  && DaoDian_KaiGuan == 1  )
      {
       Sell(0,Open);
       PlotString("信号","到点平仓",Low,-1,0);
       
      }
      
   
      
      
      If(MarketPosition==-1 && (Time==PingCang_Time/100 || Time==PingCang_Time1/100)  && DaoDian_KaiGuan == 1 )
      {
       buytocover(0,Open);
       PlotString("信号","到点平仓",Low,-1,0);
       
      }
     
//*********************************************************************
//********************************************************************* 
                        
       myhigh = Highest(High[1],length);
        mylow = Lowest(Low[1],length);
              PlotNumeric("myhigh",myhigh);
              PlotNumeric("mylow",mylow);
    
        if (MarketPosition<>1 && High>myhigh && open<=myhigh && con_Time)
        {
    Buy(Kai_No,myhigh+n*MinMove*pricescale);
    PlotString("信号","开多1",Low,-1,0);
    B_xinhao = 1;
    S_xinhao = 0;
        }
  
        if (MarketPosition<>1 && open>myhigh && con_Time)
        {
    Buy(Kai_No,open);
    PlotString("信号","开多2",Low,-1,0);
    B_xinhao = 1;
    S_xinhao = 0;
        }
  
        if (MarketPosition<>-1 && Low<mylow && open>=mylow && con_Time)
        {
                SellShort(Kai_No,mylow-n*MinMove*pricescale);
    PlotString("信号","开空1",Low,-1,0);
    B_xinhao = 0;
    S_xinhao = 1;
        }
  
        if (MarketPosition<>-1 && open<mylow && con_Time)
        {
                SellShort(Kai_No,open);
    PlotString("信号","开空2",Low,-1,0);
    B_xinhao = 0;
    S_xinhao = 1;
        }
 
   
 //***************************************************************************************************************
 //平仓

   //多单
  If(MarketPosition == 1 && BarsSinceEntry >= 1 && Time == KP_PC_Time &&   High >AvgEntryPrice*(1+kaipan_N_M_win_bili/100) ) 
 { 
  Sell(0,Max(open, AvgEntryPrice*(1+win_bili1/100) ));
  PlotString("信号","开盘N分钟止盈",Low,-1,0);
  B_xinhao = 0;
 }
   
 
  //*****************************

 
 //空单
  If(MarketPosition == -1 && BarsSinceEntry >= 1  && Time == KP_PC_Time &&  Low<  AvgEntryPrice*(1-kaipan_N_M_win_bili/100)  ) 
 { 
  BuyToCover(0,Min(open,AvgEntryPrice*(1-win_bili1/100)));
  PlotString("信号","开盘N分钟止盈",Low,-1,0);
  S_xinhao = 0;  
 }
 
 //*********************************************************************
 //********************************************************************* 

 //***********************************************
 //平仓

   //多单
  If(MarketPosition == 1 && BarsSinceEntry >= 1 &&  High >AvgEntryPrice*(1+win_bili1/100) && B_xinhao == 1) 
 { 
  Sell(Kai_No/2,Max(open, AvgEntryPrice*(1+win_bili1/100) ));
  PlotString("信号","多单止盈1",Low,-1,0);
  B_xinhao = 2;
 }
   
   //多单
  If(MarketPosition == 1 && BarsSinceEntry >= 1 &&  High >AvgEntryPrice*(1+win_bili2/100) && B_xinhao == 2 ) 
 { 
  Sell(Kai_No/4,Max(open, AvgEntryPrice*(1+win_bili2/100) ));
  PlotString("信号","多单止盈2",Low,-1,0);  
  B_xinhao = 3;
 }
  //*****************************

 
 //空单
  If(MarketPosition == -1 && BarsSinceEntry >= 1 &&  Low<  AvgEntryPrice*(1-win_bili1/100) && S_xinhao == 1 ) 
 { 
  BuyToCover(Kai_No/2,Min(open,AvgEntryPrice*(1-win_bili1/100)));
  PlotString("信号","空单止盈1",Low,-1,0);
  S_xinhao = 2;  
 }
 
 //空单
  If(MarketPosition == -1 && BarsSinceEntry >= 1 &&  Low<  AvgEntryPrice*(1-win_bili2/100) && S_xinhao == 2 ) 
 { 
  BuyToCover(Kai_No/4,Min(open,AvgEntryPrice*(1-win_bili2/100)));
  PlotString("信号","空单止盈2",Low,-1,0);
  S_xinhao = 3;  
 }
 

 
 //*********************************************************************
 //*********************************************************************  
//平仓

 Commentary("设置止损点数?="+ text(loss_yuan/(ContractUnit*BigPointValue)));
   //多单止损
  If(MarketPosition == 1 && BarsSinceEntry >= 1 &&  Low<= AvgEntryPrice - loss_yuan/(ContractUnit*BigPointValue)  ) 
 { 
  Sell(0,Min(open, AvgEntryPrice - loss_yuan/(ContractUnit*BigPointValue)));
  PlotString("信号","多单止损",Low,-1,0);  
  B_xinhao = 0;
 }
 
 //空单止损
  If(MarketPosition == -1 && BarsSinceEntry >= 1 &&  High>=  AvgEntryPrice + loss_yuan/(ContractUnit*BigPointValue) ) 
 { 
  BuyToCover(0,Max(open,AvgEntryPrice + loss_yuan/(ContractUnit*BigPointValue)));
  PlotString("信号","空单止损",Low,-1,0);  
  S_xinhao = 0;
 }
 

 
 
 
 
 
 
End

 

 

 

技术人员回复
日期:2020-10-15 22:28
您需要加载至wh9使用

WH9兼容了TB的语法,文华官网下载