画图和预想的不一样
//------------------------------------------------------------------------
// 简称: MACD_short
// 名称: MACD做空策略
// 类别: 策略应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
    
   
    Numeric ma_fast(5);
    Numeric ma_slow(10);
   
   
    Numeric FastLength(12);
    Numeric SlowLength(26);
    Numeric MACDlength(9);

Vars
    
    Series<Numeric> Nbar_lowest;
    Series<Numeric> Nbar_highest;
    
    Series<Numeric> MA5;
    Series<Numeric>MA10;
    
    Series <Numeric>MACDDiff;
    Series<Numeric> AvgMACD;
    Numeric MACDValue;
    
    Series<Bool> MACD_GC;  //MACD金叉
    Series<Bool> MACD_DC;  //MACD死叉
    Series<Bool> MA_GC;   //MA金叉
    Series<Bool> MA_DC;   //MA死叉
    
    Plot pen0;  //主图
    Plot pen1;  //子图

Defs
    //此处添加策略函数
    
Events
    //此处实现事件函数
    
    //初始化事件函数,策略运行期间,首先运行且只有一次
    OnInit()
    {
        pen1.figure(0);
    }


    //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
    OnBar(ArrayRef<Integer> indexs)
    {
        
        //绘图
        Range[0:DataSourceSize()-1]
        {
            Nbar_lowest = Lowest(L,10);
            Nbar_highest = Highest(H,10);
            
            pen0.line("10bar最低",Nbar_lowest);
            pen0.line("10bar最高",Nbar_highest);
            
            MA5 = AverageFC(Close,ma_fast);
            MA10 = AverageFC(Close,ma_slow);
            
            
            pen0.line("MA5",MA5);
            pen0.line("MA12",MA10);
            
            
            MACDDiff = XAverage(Close, FastLength) - XAverage(Close, SlowLength);
            AvgMACD = XAverage(MACDDiff, MACDlength);
            MACDValue = MACDDiff - AvgMACD;
        
            pen1.line("MACDDiff", MACDDiff);
            pen1.line("MACDDEA", AvgMACD);
        
            If(MACDValue > 0)
                pen1.setOption("MACD","color",Red);
            Else
                pen1.setOption("MACD","color",Blue);
                pen1.barv("MACD", MACDValue);
                pen1.barv("MACD", MACDValue);
                pen1.line("零线", 0); 
        }  
        //进出场条件
        
        MA_GC = CrossOver(MA5,MA10);
        MA_DC = CrossUnder(MA5,MA10);
        
        
        MACD_GC = CrossOver(MACDDiff,AvgMACD);
        MACD_DC = CrossUnder(AvgMACD,MACDDiff);
        //交易
        If(MA_DC[1] and MarketPosition == 0)
        {
            SellShort(1,O);
        }
        
        Else If(MACD_GC[1] and MarketPosition == -1)
        {
            BuyToCover(1,O);
        }
        
        
    }

//------------------------------------------------------------------------
// 编译版本    2025/5/7 85247
// 版权所有    hero_2024
// 更改声明    TradeBlazer Software保留对TradeBlazer平台
//            每一版本的TradeBlazer策略修改和重写的权利
//------------------------------------------------------------------------

我是菜鸟,请老师解惑,不胜感激:我把MACD指标写在我自己的策略里并在子图输出,可是为什么输出不显示,除非单独加载MACD,我试过,确实是我的代码可以控制,但明明是一个策略啊,为什么会分开成两个,晕

和其他平台的指数不一样,
PLOT画图变色问题
画图
如何新建窗口进行画图
偷价和信号闪烁是啥意思?和滑点有啥不一样
画图信号
为什么相同周期的辅K线和自定义K线不一样
为什么BU连续合约和BU06合约的涨跌幅不一样?
使用SetPremiseFormulas加载含有plotline函数的策略画图失效测试代码
请问净值曲线的画图依据是什么,25次交易画那么多节点

明天我也拷贝了学习一下👍

另外一个帖子的视频我看过了

我只能说把我难到了

复制代码以后显示是正常的,无法复现。

我建议你删除原公式策略,新建一个新的,再试试

有可能是历史操作hide掉了macde图线导致不显示,而你忘记了


遇到一个有点贴的梗图

你的截图体现不出你说的问题

不过说的问题我好像也没看懂

复制你的代码 MACD显示没有问题呀

哦,是我没说明白,你看一下我截图就明白了,在附件里。我的意思是明明我是写在一个策略,为什么在右键-策略应用设置里显示是两个公式,而且可以勾选掉MACD。

哎....你那个图....

如果我同时加载你的代码和系统MACD,显示出来的是这个样子

回复里不能发视频啊,感谢你如此认真的回复,我重新发一个贴,附我录屏的,你帮我看一下。

我看了你的视频

确实是意想不到的问题

只能等老师们或者其他更有经验的同学来了

没用过TBQ3

感觉好难

真的不难

比你研究的期权简单多了

反正迟早要迁移的

不过也不一定 或许等再过几年 直接迁移到下一代