修改建议

建议均线名称后增加均线参数值的显示

经常的头寸不一致,需要手动的进行更新,严重影响策略执行,请教问题原因。
功能建议
建议TB修改一下【PlotKline】函数
【建议】建议在软件中增加截屏功能
建议增加K线风格设置
功能建议
setOption函数建议改进
关于监控的建议
软件优化建议
建议你们增加止盈

是要这样吗?自己动手呀。

自建一个均线TB_Myma,把系统的MA全复过来,把MA1改成MA5......。

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

// 简称: TB_Myma

// 名称:

// 类别: 策略应用

// 类型: 用户应用

// 输出: Void

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

Params

   Numeric Length1(5);

   Numeric Length2(10);

   Numeric Length3(20);

   Numeric Length4(30);

   Numeric Length5(60);    //股票使用

   Numeric Length6(120);   //股票使用

   Numeric Length7(240);    //股票使用

Vars

Events

   OnReady()

   {

       Range[0:DataSourceSize() - 1]

       {

           CodeProperty codePro;

           GetProperty(codePro);

           if(codePro.bigCategory == Enum_CategoryStocks() || codePro.bigCategory == Enum_CategoryForeignStocks())

           {

               SetBackBarMaxCount(1+Max(Max(Max(Max(Max(Max(Length1,length2),Length3),Length4),Length5),Length6),Length7));

           }

           else

           {

               SetBackBarMaxCount(1+Max(Max(Max(Length1,length2),Length3),Length4));

           }

           setPlotOption("MA5", "begin-bar", Length1);

           setPlotOption("MA10", "begin-bar", Length2);

           setPlotOption("MA20", "begin-bar", Length3);

           setPlotOption("MA30", "begin-bar", Length4);

           setPlotOption("MA60", "begin-bar", Length5);

           setPlotOption("MA120", "begin-bar", Length6);

           setPlotOption("MA240", "begin-bar", Length7);

           setPlotOption("MA60", "hide", true);

           setPlotOption("MA120", "hide", true);

           setPlotOption("MA240", "hide", true);    

       }

   }

   

   OnBar(ArrayRef<Integer> indexs)

   {

       Range[0:DataSourceSize() - 1]

       {

           If(Length1 > 0)

           {

               PlotNumeric("MA5",AverageFC(Close,Length1));

           }

           If(Length2 > 0)

           {

               PlotNumeric("MA10",AverageFC(Close,Length2));

           }

           If(Length3 > 0)

           {

               PlotNumeric("MA20",AverageFC(Close,Length3));

           }

           If(Length4 > 0)

           {

               PlotNumeric("MA30",AverageFC(Close,Length4));

           }

           If(Length5 > 0)

           {

               PlotNumeric("MA60",AverageFC(Close,Length5));

           }

           If(Length6 > 0)

           {

               PlotNumeric("MA120",AverageFC(Close,Length6));

           }

           If(Length7 > 0)

           {

               PlotNumeric("MA240",AverageFC(Close,Length7));

           }

       }

   }

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

// 编译版本    2025/10/26 1396/1762/277

// 版权所有    jswxyfx

// 更改声明    TradeBlazer Software保留对TradeBlazer平台

//            每一版本的TradeBlazer策略修改和重写的权利

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

这么写是固定死的,均线参数不能变,均线参数一变,均线参数和均线名称就不符了。

MA30的均线,后面参数是30没有问题,如果把参数30改成20,

MA30的均线名称和均线参数就不符了。

我试过用变量,不行必须是常量

plot可以用变量

不是plotnumeric 而是plot.line这种

plot可以用变量

不是plotnumeric 而是plot.line这种

写下代码呢🤝

用这个plot.line方法可以编出来,谢谢!

Params

   //此处添加参数

   numeric N1(12);//均线参数(短)

   numeric N2(26);//均线参数(长)

Vars

   //此处添加变量

   Plot plt1;

   Plot plt2;

   series<numeric>  MA1;

   series<numeric>  MA2;

Defs

   //此处添加策略函数

   

Events

   //此处实现事件函数

   

   //初始化事件函数,策略运行期间,首先运行且只有一次

   OnInit()

   {

       

   }



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

   OnBar(ArrayRef<Integer> indexs)

   {

       MA1 = averagefc(Close[0], N1);

       MA2 = averagefc(Close[0], N2);

       plt1.line("MA1("+text(N1)+")",MA1);

       plt2.line("MA2("+text(N2)+")",MA2);

       plt1.setOption("MA1("+text(N1)+")","color",Green);//将指标“MA1”的输出颜色设置为绿色

       plt2.setOption("MA2("+text(N2)+")","color",Magenta);//将指标“MA2”的输出颜色设置为紫色

               

   }

😉