求一个1分钟调用5分钟MACD三大指标的源代码

求一个1分钟调用5分钟MACD三大指标的源代码 老课程视频实在是看不完 每个视频最多看10分钟就完全卡住了 看了一个星期还没看完半个视频 请哪位老师分享一个完整的代码 只需在1分钟周期比较5分钟周期是否Diff>Diff[1] MACD>MACD[1] 如果还能比较30分钟周期MACD指标更好

经多位同事测试,视频观看没有任何问题,请换浏览器或者电脑解决观看问题。

//------------------------------------------------------------------------// 简称: TB_zs578040916// 名称: // 类别: 策略应用// 类型: 用户应用// 输出: Void//------------------------------------------------------------------------//在1分钟周期比较5分钟周期是否Diff>Diff[1] MACD>MACD[1] 如果还能比较30分钟周期MACD指标更好Params //此处添加参数 Numeric Fastlength(12); //macd短周期值 Numeric Slowlength(26); //macd长周期值 Numeric Macdlength(9); //MACD慢线周期值 Numeric Lots(1); //交易手数 Vars //此处添加变量 Bool Isrollover(true);//是否后复权 Bool Isrolloverrealprice(true);//是否映射真实价格 Bool IsautoSwapposition(true);//是否自动换仓 Series<Numeric> Macddiff; //macd快线 Series<Numeric> Avgmacd;//macd慢线 Series<Numeric> Macdvalue;//macdDefs //此处添加公式函数Events //此处实现事件函数 OnInit() //设置周期 { SubscribeBar(data0.Symbol,"3m",Data0.BeginDateTime); //1:3分钟K线 SubscribeBar(data0.Symbol,"5m",data0.BeginDateTime); //2:5分钟K线 SubscribeBar(data0.Symbol,"10m",data0.BeginDateTime); //3:10分钟K线 SubscribeBar(data0.Symbol,"15m",data0.BeginDateTime); //4:15分钟K线 SubscribeBar(data0.Symbol,"30m",data0.BeginDateTime); //5:30分钟K线 SubscribeBar(data0.Symbol,"1h",data0.BeginDateTime); //6:1小时K线 SubscribeBar(data0.Symbol,"2h",data0.BeginDateTime); //7:2小时K线 SubscribeBar(data0.Symbol,"3h",data0.BeginDateTime); //7:3小时K线 SubscribeBar(data0.Symbol,"4h",data0.BeginDateTime); //8:4小时K线 SubscribeBar(data0.Symbol,"1d",data0.BeginDateTime); //9:1日K线 SubscribeBar(data0.Symbol,"1w",data0.BeginDateTime); //10:1周K线 SubscribeBar(data0.Symbol,"1mon",data0.BeginDateTime); //11:1月K线 //交易设置 Range[0:DataCount-1] { If(IsRollover) { AddDataFlag(Enum_Data_RolloverBackWard());//设置后复权 } If(IsRolloverRealPrice) { AddDataFlag(Enum_Data_RolloverRealPrice());//是否映射真实价格 } If(IsAutoSwapPosition) { AddDataFlag(Enum_Data_AutoSwapPosition());//设置自动换仓 } } } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer>indexs) { Range [0:Datacount - 1] { //计算macd MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; AvgMACD = XAverage(MACDDiff, MACDLength); MACDValue = 2 * (MACDDiff - AvgMACD); }//在1分钟周期比较5分钟周期是否Diff>Diff[1] MACD>MACD[1] 如果还能比较30分钟周期MACD指标更好//开多单 If(MarketPosition<=0 and (data[2].MACDDiff>data[2].MACDDiff[1] And data[2].MACDValue>data[2].MACDValue[1]) And (data[5].MACDDiff>data[5].MACDDiff[1] And data[5].MACDValue>data[5].MACDValue[1])) { Buy(Lots,Open);//平空开多 Commentary("平空开多"); }//开空单 If(MarketPosition>=0 And (data[2].MACDDiff<data[2].MACDDiff[1] And data[2].MACDValue<data[2].MACDValue[1]) And (data[5].MACDDiff<data[5].MACDDiff[1] And data[5].MACDValue<data[5].MACDValue[1])) { SellShort(Lots,Open);//平多开空 Commentary("平多开空"); } } //------------------------------------------------------------------------// 编译版本 2025/10/17 1396/1762/277// 版权所有 jswxyfx// 更改声明 TradeBlazer Software保留对TradeBlazer平台// 每一版本的TradeBlazer策略修改和重写的权利//------------------------------------------------------------------------

回复:感谢大佬 祝福大佬财源滚滚如江河不绝

回复:MACD信号会闪烁可用data[2].MACDDiff[1]>data[2].MACDDiff[2],或要拆解MACD计算代码改Close的取值,可用数组来计算取Close,Buy(Lots,Open);Open会偷价,策略报告会不正确,可用data[2].MACDDiff=data[2].MACDDiff[1]来推算出一个价格值作为开仓价,这样计算出来的策略报告相对正确。

回复:大佬你好,可否帮我编写一个策略,有没有 联 系 方 式

回复:简单的可以试试,你发贴呀😉