代码如下,逻辑循环已做好
实时环境下单再另外测一次
//------------------------------------------------------------------------
// 简称: ttlesson_0220_2025
// 名称:
// 类别: 指标应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
//此处添加参数
Vars
//此处添加变量
global Numeric my_sw(0);// 0表示没仓,1是开仓过了
global Numeric mindiff;
global Array<Integer> ordid;
global Numeric g_tick(0);
global Numeric first_tick(0);
Defs
//此处添加策略函数
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次
OnInit()
{
//SubscribeBar(Symbol , "tick", BeginDateTime);
//SubscribeBar(Symbol , "tick", BeginDateTime);
}
OnReady()
{
mindiff = minmove * PriceScale * BigPointValue;
print("mindiff="+text(mindiff));
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
tick a;
if(CurrentBar%10 == 9)
{
GetTick(a);
Numeric askv_sum = a.bidask1.askV + a.bidask2.askV + a.bidask3.askv + a.bidask4.askV +a.bidask5.askv;
Numeric bidv_sum = a.bidask1.bidv + a.bidask2.bidv + a.bidask3.bidv + a.bidask4.bidv +a.bidask5.bidv;
// a.bidask1.askP 卖一
// a.bidask1.bidP 买一
if(BarStatus !=2 )
{
buy(1, open);
//A_Buy(Symbol,1,open,ordid);
}
else if(BarStatus == 2 and my_sw==0)
{
if(a.bidask1.askP - a.bidask1.bidP > mindiff )
{
//buy(1 , a.bidask1.bidP + mindiff );
A_Buy(Symbol,1,a.bidask1.bidP + mindiff,ordid);
if(first_tick == 0)//0表示还没开仓
first_tick = g_tick;//有值,代表有下单
}
else if(askv_sum*5 < a.bidask1.bidv)//追的
{
//buy(1 , a.bidask5.askP );
A_Buy(Symbol,1,a.bidask5.askP,ordid);
if(first_tick == 0)
first_tick = g_tick;
}
Else//例外
{
//buy(1, open);
A_Buy(Symbol,1,open,ordid);
if(first_tick == 0)
first_tick = g_tick;
}
my_sw = 1;
}
}
if(BarStatus ==2 )
{
g_tick = g_tick +1;
if(first_tick + 30 < g_tick and my_sw == 1)
{
print("超时");
order tem_ord;
A_GetOrder(ordid[0],tem_ord);
if(tem_ord.status == Enum_Filled)
{
print("全部成交");
}
else if(tem_ord.status == Enum_Declared)
{
print("还在挂");
A_DeleteOrderEx(ordid[0]);
}
first_tick = 0;
my_sw = 0;
}
print("g_tick="+text(g_tick));
print("first_tick="+text(first_tick));
print("my_sw="+text(my_sw));
print("CurrentBar%10="+text(CurrentBar%10));
}
}
OnOrder(OrderRef ord)
{
}
//------------------------------------------------------------------------
// 编译版本 2025/2/20 151848
// 版权所有 wangkaiming
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TradeBlazer策略修改和重写的权利
//------------------------------------------------------------------------