文华财经含有未来函数指标能在TBQ使用吗?可以帮忙编译下吗?

VR1:=SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),25); VAR2:=HIGH-REF(HIGH,1); VAR3:=REF(LOW,1)-LOW; VAR4:=SUM(IF(VAR2>0 AND VAR2>VAR3,VAR2,0),25); VAR5:=SUM(IF(VAR3>0 AND VAR3>VAR2,VAR3,0),25); VAR6:=VAR4*100/VR1; VAR7:=VAR5*100/VR1; VAR8:=MA(ABS(VAR7-VAR6)/(VAR7+VAR6)*100,15); VAR9:=(VAR8+REF(VAR8,15))/2; BUY1:=ZIGZAG(C,10,1); SELL1:=MA(BUY1,2); DRAWICON(CROSS( BUY1,SELL1),L-0.1,95); DRAWICON(CROSS(SELL1,BUY1),H+0.1,'ICO96'); STICKLINE1(CROSS(BUY1,SELL1),H,L,3,0),COLORWHITE; STICKLINE1(CROSS(SELL1,BUY1),H,L,3,0),COLORYELLOW;

需要代编发代编区 https://bbs.tbquant.net/thread/20241205162315158864

这是文华的这是TB的//------------------------------------------------------------------------// 简称: TB_wmr8684413// 名称: // 类别: 策略应用// 类型: 用户应用// 输出: Void//------------------------------------------------------------------------// 将文华财经代码转换为开拓者TBQuant V3版本Params Numeric SwingDepth(1); // 寻找高低点的周期范围 Numeric RetracePct(10); // 转向百分比阈值Vars Series<Numeric> SwingPrice; Numeric SwingHighPrice; Numeric SwingLowPrice; Series<Numeric> UpDn(0); Bool Isrollover(true);//是否后复权 Bool Isrolloverrealprice(true);//是否映射真实价格 Bool IsautoSwapposition(true);//是否自动换仓Defs //此处添加公式函数Events //此处实现事件函数 OnInit() //设置周期 { //交易设置 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) { SwingHighPrice = SwingHigh(1, High, SwingDepth, 2); SwingLowPrice = SwingLow(1, Low, SwingDepth, 2); //ZigZag逻辑判断趋势转折 If (SwingHighPrice != -1) { If (UpDn <= 0 && SwingHighPrice >= SwingPrice * (1 + RetracePct * 0.01)And MarketPosition>=0 ) { UpDn = 1; SwingPrice = SwingHighPrice; SellShort (1,Open); } Else If (UpDn == 1 && SwingHighPrice >= SwingPrice And MarketPosition>=0 ) { SwingPrice = SwingHighPrice; SellShort (1,Open); } } Else If (SwingLowPrice != -1) { If (UpDn >= 0 && SwingLowPrice <= SwingPrice * (1 - RetracePct * 0.01) And MarketPosition<=0) { UpDn = -1; SwingPrice = SwingLowPrice; Buy(1,Open); } Else If (UpDn == -1 && SwingLowPrice <= SwingPrice And MarketPosition<=0) { SwingPrice = SwingLowPrice; Buy(1,Open); } } }//------------------------------------------------------------------------// 编译版本 2025/10/23 1396/1762/277// 版权所有 jswxyfx// 更改声明 TradeBlazer Software保留对TradeBlazer平台// 每一版本的TradeBlazer策略修改和重写的权利//------------------------------------------------------------------------

回复:谢谢大佬!

有偿

回复:TB这个ZIGZAG没有,你让TB代写: https://bbs.tbquant.net/thread/20241205162315158864

回复:用ZigZag做交易策略我认为不可取,从静态看高底点信号很好看,都是开在最高或最底点,因为交易策略固有的信号闪烁都很难消除,ZigZag是在一定周期内有了新高或新底,它是有新的用新的同时删了旧的高底点的结果,图表上看上去信号都 在高点和底点,实盘中就不是了。