全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
已解决
请教怎么在参数优化里显示交易手数修改
wq3789 分享到
2023-12-15 11:38

请教大佬,我每次都必须在公式里修改交易手数,感觉很麻烦,怎么能在参数优化那里可以直接任意改手数呢?谢谢

Params

Numeric Ma_First_length(2);

Numeric Ma_Second_length(1);

Numeric Ma_Third_length(3);

Vars

Series<Numeric> Ma_First;

Series<Numeric> Ma_Second;

Series<Numeric> Ma_Third;


Bool dic_filter;

Series<Numeric> Vibration;

Series<Numeric> spread;Series<Bool> g;

Series<Bool> cro_over;

Series<Bool> cro_und;

Events

   OnInit()

{

   //=========除权换月相关设置==============

   AddDataFlag(Enum_Data_RolloverBackWard());    //设置后复权

   AddDataFlag(Enum_Data_RolloverRealPrice());    //设置映射真实价格

 

   //=========交易相关设置==============    

}                    

//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组

OnBar(ArrayRef<Integer> indexs)

{

 //

 IF(Date>=20240202)Return;

 Vibration = (Highest(High,Vibration_length)-Lowest(Low,Vibration_length))/Lowest(Low,Vibration_length);

 Commentary(\"Vibration\"+Text(Vibration));

 Ma_First = AverageFC(Close,Ma_First_length);

 Ma_Second = AverageFC(Close,Ma_Second_length);

 

       //PlotNumeric(\"Ma_First\",Ma_First);

       //PlotNumeric(\"Ma_Second\",Ma_Second);

       //PlotNumeric(\"Ma_Third\",Ma_Third);

 If (Time >= 155500*0.000001 And Time <= 200500*0.000001 or Time >= 032500*0.000001 And Time <= 080500*0.000001)

 {

  Commentary(\"时间过滤\");

  //PlotBool(\"aaa\",(Time >= 145500*0.000001 And Time <= 205500*0.000001));

  if(MarketPosition ==1)

  {

   Sell(0,Open);

  }

  if(MarketPosition ==-1)

  {

   BuyToCover(0,Open);

  }

  Return;

 }

 If (Close[1] > Ma_First[1]) dic_filter = True;

 Else dic_filter = False;

 If(MarketPosition == 0 And Vibration>Vibration_val)

 {

  If(dic_filter And cro_over[1])

  {

   Buy(1,Max(Open,Close[1]));

   buylasthigh=EntryPrice;

  }

  Else If(Not dic_filter And cro_und[1])

  {

   SellShort(1,Min(Open,Close[1]));

   selllastlow=EntryPrice;

  }

kyover

定义一个参数,然后在交易命令里填这个参数

比如 numeric lots(1);

然后

buy(lots,price);类似这样

2023-12-15 14:04
您未登录,请先 登录注册 后发表评论
顶部