建议均线名称后增加均线参数值的显示
是要这样吗?自己动手呀。

自建一个均线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”的输出颜色设置为紫色
}
😉