投资者咨询:组件信号查询 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-7-8 10:20
回测结果不对,未触发止盈止损条件就原价进原价平仓出来
VAR_TICKDATA data;
VAR_TICKDATA data;VAR N,N1,BPRICE,Lost,Win,CurTime;
GLOBAL_VAR High,BKID,New,Type,Typp,CONQC;
VAR CodeName;
VOID MAIN()
{
CodeName = "rm1809";
N = 2; // 下单手数
N1 = 1; //当合约价格上涨1个最小变动价位
Lost = 3; //止损3个最小变动价位
Win = 5; //止盈5个最小变动价位
New = Price(CodeName, "New"); //获取当前合约最新价
BPRICE=T_BuyAvgPrice(CodeName);//取得持仓栏中该合约多头持仓均价
data = Def_TickData(CodeName,1,4); // 保存最近四笔的tick数据
CurTime = CurrentTime(); // 获取当前时间
// 收盘前30秒清仓
CONQC = (Hour( CurTime ) == 14 && Minute( CurTime ) == 59) || ( Hour( CurTime ) == 10 && Minute( CurTime ) == 14 ) || ( Hour( CurTime ) == 11 && Minute( CurTime ) == 29 ) && Second( CurTime ) > 30 ;
IF( Typp == 0 && (CONQC == 1))
{
MessageOut("收盘前30秒清仓");
T_Deal(CodeName,1,1,T_BuyRemainPosition( CodeName ),Offers(CodeName,"bid1"));
Type = 0;
Typp = 1;
}
IF( data.State == 1 ) // 数据保存完成
{
//主动买而且成交量大于100手,买1价做多
IF( Type == 0 && data[3].Activity==0 && CONQC != 1)
{
IF( data[3].TickVolum-data[2].TickVolum>100)
{
MessageOut("主动买而且成交量大于100手");
BKID = T_Deal(CodeName,0,0,N,Offers(CodeName,"bid1"));
Type = 1;
Typp = 0;
}
}
//当合约价格上涨1个最小变动价位,加仓1手
IF(Type == 1 && T_OrderState(BKID) == 1 && CONQC != 1 )
{
MessageOut("当合约价格上涨1个最小变动价位,加仓1手");
IF( New - T_OrderMatchAvPrice(BKID) >=N1 * MinPrice(CodeName) )
{
BKID = T_Deal(CodeName,0,0,1,Offers(CodeName,"bid1"));
Type = 2;
Typp = 0;
}
}
IF( Type == 2 && T_OrderState(BKID) == 1 )
{
Type = 1;
}
PingCang();
SPDeal();
High = Price(CodeName, "High");
}
}
//止盈2个最小变动价位
//止损2个最小变动价位
VOID SPDeal()
{
IF( BPRICE - New >= Lost*MinPrice(CodeName) || New - BPRICE >= Win*MinPrice(CodeName))
{
IF( Type != 0 && T_BuyRemainPosition( CodeName ) > 0 )
{
MessageOut("止盈止损");
T_Deal(CodeName,1,1,T_BuyRemainPosition( CodeName ),Offers(CodeName,"bid1"));
Type = 0;
}
}
}
//当持仓手数超过了5手,并且最新价格超过了今天的最高价,对价平仓
VOID PingCang()
{
IF( Type != 0 && T_BuyRemainPosition( CodeName ) > 5 && New > High ) // 该组件多头持仓超过5手
{
MessageOut("当持仓手数超过了5手,并且最新价格超过了今天的最高价,对价平仓");
T_Deal(CodeName,1,1,T_BuyRemainPosition( CodeName ),Offers(CodeName,"bid1"));
Type = 0;
}
}
技术人员回复
日期:2018-7-8 11:05
这么改下
VAR_TICKDATA data;
VAR N,N1,BPRICE,Lost,Win,CurTime;
GLOBAL_VAR High,BKID,New,Type,Typp,CONQC;
VAR CodeName;
VOID MAIN()
{
CodeName = "rm1809";
N = 2; // 下单手数
N1 = 1; //当合约价格上涨1个最小变动价位
Lost = 3; //止损3个最小变动价位
Win = 5; //止盈5个最小变动价位
New = Price(CodeName, "New"); //获取当前合约最新价
BPRICE=T_BuyAvgPrice(CodeName);//取得持仓栏中该合约多头持仓均价
data = Def_TickData(CodeName,1,4); // 保存最近四笔的tick数据
CurTime = CurrentTime(); // 获取当前时间
// 收盘前30秒清仓
CONQC = (Hour( CurTime ) == 14 && Minute( CurTime ) == 59) || ( Hour( CurTime ) == 10 && Minute( CurTime ) == 14 ) || ( Hour( CurTime ) == 11 && Minute( CurTime ) == 29 ) && Second( CurTime ) > 30 ;
IF( Typp == 0 && (CONQC == 1))
{
MessageOut("收盘前30秒清仓");
T_Deal(CodeName,1,1,T_BuyRemainPosition( CodeName ),Offers(CodeName,"bid1"));
Type = 0;
Typp = 1;
}
IF( data.State == 1 ) // 数据保存完成
{
//主动买而且成交量大于100手,买1价做多
IF( Type == 0 && data[3].Activity==0 && CONQC != 1)
{
IF( data[3].TickVolum-data[2].TickVolum>100)
{
MessageOut("主动买而且成交量大于100手");
BKID = T_Deal(CodeName,0,0,N,Offers(CodeName,"bid1"));
Type = 1;
Typp = 0;
}
}
//当合约价格上涨1个最小变动价位,加仓1手
IF(Type == 1 && T_OrderState(BKID) == 1 && CONQC != 1 )
{
BPRICE=T_OrderMatchAvPrice(BKID);
IF( New - T_OrderMatchAvPrice(BKID) >=N1 * MinPrice(CodeName) )
{
MessageOut("当合约价格上涨1个最小变动价位,加仓1手");
BKID = T_Deal(CodeName,0,0,1,Offers(CodeName,"bid1"));
Type = 2;
Typp = 0;
}
}
IF( Type == 2 && T_OrderState(BKID) == 1 )
{
BPRICE=T_OrderMatchAvPrice(BKID);
Type = 1;
}
PingCang();
SPDeal();
High = Price(CodeName, "High");
}
}
//止盈2个最小变动价位
//止损2个最小变动价位
VOID SPDeal()
{
IF( BPRICE - New >= Lost*MinPrice(CodeName) || New - BPRICE >= Win*MinPrice(CodeName))
{
IF( Type != 0 && T_BuyRemainPosition( CodeName ) > 0 )
{
MessageOut("止盈止损");
T_Deal(CodeName,1,1,T_BuyRemainPosition( CodeName ),Offers(CodeName,"bid1"));
Type = 0;
}
}
}
//当持仓手数超过了5手,并且最新价格超过了今天的最高价,对价平仓
VOID PingCang()
{
IF( Type != 0 && T_BuyRemainPosition( CodeName ) > 5 && New >= High ) // 该组件多头持仓超过5手
{
MessageOut("当持仓手数超过了5手,并且最新价格超过了今天的最高价,对价平仓");
T_Deal(CodeName,1,1,T_BuyRemainPosition( CodeName ),Offers(CodeName,"bid1"));
Type = 0;
}
}
投资者咨询:组件信号查询 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-7-8 10:20
哪里有改动,测试了一下还是一样的,一开单就止损 ,我是按照盘口高频模型示例修改的,怎么不到止损,一开单就止损
技术人员回复
日期:2018-7-9 13:23
