策略交易启动策略,一直策略执行中

在策略交易中输入以下代码以后,就显示data-href=,没法开启自动交易。用的数据源是 玉米888 180分钟后复权,有效交易时间。请老师们帮忙诊断一下,谢谢

Params

Numeric Length(5); //周期

Numeric Length2(20);

Numeric Constt(0.8); // 通道倍数

Numeric qushi(10);

Vars


plot pen1;

plot pen2;

Series<Numeric> UpLine; //上轨

Series<Numeric> DownLine; //下轨

Series<Numeric> MidLine; //中间线

Series<Numeric> AvgRange;

Numeric thigh;

Numeric tlow;

Series<Numeric> TRange;

Series<Numeric> angle;

Series<Numeric> AvgValue1;

Series<Numeric> AvgValue2;

Series<Numeric> xielv;

Series<Numeric> avgxielv;

Series<Numeric> fcstup;

Series<Numeric> fcstdown;

Series<Numeric> fcstmid;

Numeric money;//开仓资金

Numeric myprice;//委托价格

Numeric lmrate;//多头保证金率

Numeric smrate;//空头保证金率

   Numeric lots;//委托数量

   Numeric lotsl;//委托数量

   Numeric lotss;//委托数量

   Global Numeric risk;//账户当前风险程度

   Series<Numeric> lposition(0);

   Series<Numeric> sposition(0);

   Series<Numeric> mylentry;

   Series<Numeric> mysentry;

   Series<Numeric> trendy(0);

Series<String> entr;

 

 

Events

OnInit()

   {

    AddDataFlag(Enum_Data_RolloverBackWard());      

    AddDataFlag(Enum_Data_RolloverRealPrice());

    AddDataFlag(Enum_Data_AutoSwapPosition());

    AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());  

    SetBeginBarMaxCount(10); //设置最大起始bar数为10

    pen1.figure(0);

    pen2.figure(0);

   }

   

   OnReady()

{

SetBackBarMaxCount(1+Max(Length,Length2));

}

OnBarOpen(ArrayRef<Integer> indexs)

{

Numeric slope;

       Numeric angle;

       Numeric intercept;

       Numeric val;

Bool ret = LinearReg(MidLine[1], Length, 0, slope, angle, intercept, val);//求线性回归

       xielv = slope;

       avgxielv = AverageFC(xielv,Length);

       fcstmid = val;  

       

}

OnBar(ArrayRef<Integer> indexs)

{

risk = A_totalMargin(0) / A_CurrentEquity(0);//定义risk为保证金占动态权益比例

Numeric a;

Numeric result = 1;

for a = 0 to DataSourceSize-1

{

result = result*data[a].BarExistStatus;

}

If (result <> 1) Return;//检查跨周期数据源是否闪烁


MarginRate mRate;//获取账户对应合约的保证金率

       A_GetMarginRate(Symbol, mRate);

       lmrate = mRate.longMarginRatio;

       smrate = mRate.shortMarginRatio;

       

       Position pos;//获取指定合约当前仓位

       A_GetPosition(pos, );

       lposition = pos.longCurrentVolume;

       sposition = pos.shortCurrentVolume;

       

Numeric slope;

       Numeric angle;

       Numeric intercept;

       Numeric val;

Bool ret = LinearReg(MidLine[1], 2, 0, slope, angle, intercept, val);//求线性回归

       pen2.setOption(中线斜率,color,blue);

       pen2.setOption(斜率均值,color,red);

       pen2.setOption(趋势下限,color,white);

       pen2.setOption(趋势上限,color,white);

       pen2.setOption(0,color,white);

pen2.line(中线斜率,xielv);

pen2.line(斜率均值, avgxielv);

pen2.line(0, 0);

pen2.line(趋势下限,- qushi);

pen2.line(趋势上限, qushi);

       

Range[0:0]

{

MidLine = AverageFC((high+low)/2,Length);

AvgRange = Average(TrueRange,Length); // 计算真实波动均值(atr)

UpLine = MidLine + AvgRange*Constt; // 计算通道上轨=均线+1.2倍的10周期真实波动值

DownLine = MidLine - AvgRange*Constt;// 计算通道下轨=均线-1.2倍的10周期真实波动值

Numeric slope;

Numeric angle;

Numeric intercept;

Numeric val;

Bool ret = LinearReg(upLine[1], Length, 0, slope, angle, intercept, val);//求线性回归

fcstup = val;

LinearReg(downLine[1], Length, 0, slope, angle, intercept, val);

fcstdown = val;

PlotNumeric(UpLine,fcstup);

PlotNumeric(DownLine,fcstdown);

PlotNumeric(midLine,fcstmid);

if(CurrentBar >= Max(Length,Length2))

           {

Commentary(始动态权益: + Text(A_CurrentEquity));

Commentary(始保证金占用: + Text(A_totalMargin));

Commentary(斜率: + Text(avgxielv));

Commentary(始风险度:+Text(risk));


If(CurrentTime < 0.09 ) Return;

If(CurrentTime < 0.1030 && CurrentTime > 0.1015) Return;

If(CurrentTime < 0.1330 && CurrentTime > 0.1130) Return;

If(CurrentTime < 0.21 && CurrentTime > 0.15) Return;

money =  A_CurrentEquity * 0.3;//默认为30%

myprice = Open;//这里使用open,更为精确的是使用委托价格

lotsl = IntPart(money/(myprice*contractunit*BigPointValue* lmrate)); //计算多头开仓手数

mylentry = lotsl;

lotss = IntPart(money/(myprice*contractunit*BigPointValue* smRate)); //计算空头开仓手数

mysentry = lotss;

If(risk <= 0.4 && lPosition == 0 && abs(avgxielv) <=  qushi && Q_AskPrice <= fcstmid && trendy >= 0 && BarStatus == 2)//震荡多头开仓1

{

Buy(0,Max(low,fcstmid));//震荡低线做多

Array<Integer> orderids;

A_SendOrderEx(enum_Buy, Enum_Entry, mylentry,Q_AskPrice/rollover(), orderids,,);//低线做多

entr = dl;

}

           }

}

}

//------------------------------------------------------------------------

// 编译版本 2024/06/20 220532

// 版权所有 xingn1991

// 更改声明 TradeBlazer Software保留对TradeBlazer平台

// 每一版本的TradeBlazer公式修改和重写的权利

//------------------------------------------------------------------------

请问,策略执行中一直停止在初始化中,是怎么回事呢
策略启动自动交易后,带入历史信号,如何从新k线上运行策略?
策略运行管理重新启动策略单元时,是只启动onbar,还是全启动,包括oninit?
策略运行管理重新启动策略单元时,是只启动onbar,还是全启动,包括oninit?
选择的策略单元未加载交易策略,不能启动自动交易!
开盘后策略启动问题求助
新建策略公式,但是交易执行不全
如何启动策略报警呢?
策略中如何获取交易数据
如何设置定时启动策略以及软件定时退出?

我的也出现策略执行到95%,就一直停止在这儿了

这是原来正常运行过的代码,不知道出什么故障了

找到原因了,

MarginRate mRate;//获取账户对应合约的保证金率

      A_GetMarginRate(Symbol, mRate);

应该改成

MarginRate mRate;//获取账户对应合约的保证金率

      A_GetMarginRate(relativeSymbol, mRate);

怎么联系你,我的微信是 q56223481