求一个TB指标公式

各位大神,能不能帮忙写个代码公式啊?

要求:

1、当K线收盘价格站上60均线时开多单,随后K线收盘价跌破10均线,平仓多单。随后收盘价再次站上10均线,开多单,K线收盘价跌破10均线,平仓多单。

2、当K线收盘价格跌破60均线时开空单,随后K线收盘价站上10均线,平仓空单。随后收盘价再次跌破10均线,开空单,随后K线收盘价再次站上10均线,平仓空单。

TB账户绑定公式
求大单异动DDX指标的TB代码
【求助】指标迁移到TB
请高手帮忙把一个文华指标转变为TB指标
adx 指标公式
求唐奇安指标
求小心走平公式算法
文华指标如何编程为TB指标
如何利用PLot函数在一个公式中同时显示主图指标和副图指标
如何引用公式应用里的指标线数据?

这个策略代码很简单,只需看官基网视频双均线教程就能照葫芦画瓢写出来。今帮您写了基础代码仅供学习参考,切切不可实盘否则后悔终生。

//------------------------------------------------------------------------
// 简称: jimi101811
// 名称: 
// 类别: 策略应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
    Numeric FastLength(10);  // 短期均线参数(10周期)
    Numeric SlowLength(60);  // 长期均线参数(60周期)
Vars
    Series<Numeric> AvgValue1;  // 10周期指数均线值
    Series<Numeric> AvgValue2;  // 60周期指数均线值
Events
    OnReady()
    {
        // 确保均线计算有足够数据
        SetBackBarMaxCount(1 + Max(FastLength, SlowLength));
        
        Range[0:DataSourceSize() - 1]
        {
            setPlotOption("MA10", "begin-bar", FastLength);  // 10均线绘制
            setPlotOption("MA60", "begin-bar", SlowLength);  // 60均线绘制
        }
    }
    OnBar(ArrayRef<Integer> indexs)
    {
        // 计算10周期和60周期指数均线
        AvgValue1 = AverageFC(Close, FastLength);  // 10均线
        AvgValue2 = AverageFC(Close, SlowLength);  // 60均线
    
        // 绘制均线
        PlotNumeric("MA10", AvgValue1);
        PlotNumeric("MA60", AvgValue2);
    
        // ---------------------- 多头策略逻辑 ----------------------
        // 1. 首次开多:收盘价站上60均线,且当前无多头持仓
        If(MarketPosition != 1  // 无多头持仓
                && CrossOver(Close[1], AvgValue2 [1])// 收盘价站上60均线
          )
        {
            Buy(1, Open);  // 以当前K线开盘价开多
        }
    
        // 2. 多单平仓:持有多头时,收盘价跌破10均线
        If(MarketPosition == 1  // 持有多头
                && CrossUnder(Close[1], AvgValue1[1])  // 收盘价跌破10均线
          )
        {
            Sell(0, Open);  // 以当前K线开盘价平多
        }
    
        // 3. 后续开多:收盘价再次站上10均线,且无多头持仓
        If(MarketPosition != 1  // 无多头持仓(确保已平仓)
                && AvgValue1[1] > AvgValue2[1] // 10均线>60均线
                && CrossOver(Close[1], AvgValue1 [1]) // 收盘价站上10均线
          )
        { 
            Buy(1, Open);  // 以当前K线开盘价再次开多
        }
    
        // ---------------------- 空头策略逻辑 ----------------------
        // 1. 首次开空:收盘价跌破60均线,且当前无空头持仓
        If(MarketPosition != -1  // 无空头持仓
                && CrossUnder(Close[1], AvgValue2[1]) // 收盘价跌破60均线
          )
        {
            SellShort(0, Open);  // 以当前K线开盘价开空(0表示全仓)
        }
    
        // 2. 空单平仓:持有空头时,收盘价站上10均线
        If(MarketPosition == -1  // 持有空头
                &&  CrossOver(Close[1], AvgValue1[1])   // 收盘价站上10均线
          )
        {
            BuyToCover(0, Open);  // 以当前K线开盘价平空(0表示全平)
        }
    
        // 3. 后续开空:平仓后,收盘价再次跌破10均线,且无空头持仓
        If(MarketPosition != -1  // 无空头持仓(确保已平仓)
        && AvgValue1[1] < AvgValue2[1] // 10均线<60均线
                && CrossUnder(Close[1], AvgValue1[1])   // 收盘价跌破10均线

          )
        {
            SellShort(0, Open);  // 以当前K线开盘价再次开空
        }
    }

//------------------------------------------------------------------------
// 编译版本    2025/10/19 162800
// 版权所有    kunger
// 更改声明    TradeBlazer Software保留对TradeBlazer平台
//            每一版本的TradeBlazer策略修改和重写的权利
//------------------------------------------------------------------------

代码运行如下图: