取账户总的持仓参考T_BuyPosition(Code)函数,可以在函数列表》下单接口函数中了解更多
参考:
VOID DoBP()
{
Price1=Price(tCode,"New");
IF(tModel.F_Sig() == BP && Price1>T_GetFallLimit(tCode)) //
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(T_SHSellRemainPosition(tCode, 0) > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 2, T_SHSellRemainPosition(tCode, 0), T_GetRiseLimit(tCode));
}
}
ELSE
{
IF(T_SellRemainPosition(tCode) > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 1, T_SellRemainPosition(tCode), T_GetRiseLimit(tCode));
}
}
}
}
VOID DoSP()
{
IF(tModel.F_Sig() == SP && Price1<T_GetRiseLimit(tCode))
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(T_SHBuyRemainPosition(tCode, 0) > 0)
{
MessageOut(tCode + "市价平多");
BPID = T_Deal(tCode, 1, 2, T_SHBuyRemainPosition(tCode, 0), T_GetFallLimit(tCode));
}
}
ELSE
{
IF(T_BuyRemainPosition(tCode) > 0)
{
MessageOut(tCode + "市价平多");
SPID = T_Deal(tCode, 1, 1, T_BuyRemainPosition(tCode), T_GetFallLimit(tCode));
}
}
}
}
取账户总的持仓参考T_BuyPosition(Code)函数,可以在函数列表》下单接口函数中了解更多
AL_SellPosition(tCode);这个是取得盘口信号记录的合约多头,那么换成T_BuyPosition(Code)是取账户的持仓合约多头对吧!
参考:
VOID DoBP()
{
Price1=Price(tCode,"New");
IF(tModel.F_Sig() == BP && Price1<=T_GetFallLimit(tCode)) //并且最新价格小于等于跌停价格呢?我要的是不等于跌停价格才平的,跌停了就不平啊,不应写:Price1<>T_GetFallLimit(tCode
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(T_SHSellRemainPosition(tCode, 0) > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 2, T_SHSellRemainPosition(tCode, 0), T_GetRiseLimit(tCode));
}
}
ELSE
{
IF(T_SellRemainPosition(tCode) > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 1, T_SellRemainPosition(tCode), T_GetRiseLimit(tCode));
}
}
}
}
VOID DoSP()
{
IF(tModel.F_Sig() == SP && Price1>=T_GetRiseLimit(tCode))为什么是满足了SP并且最新价格大于等于涨停价格呢?我要的是不等于涨停价格才平的,涨停了就不平啊,不应该写不等于吗?
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(T_SHBuyRemainPosition(tCode, 0) > 0)
{
MessageOut(tCode + "市价平多");
BPID = T_Deal(tCode, 1, 2, T_SHBuyRemainPosition(tCode, 0), T_GetFallLimit(tCode));
}
}
ELSE
{
IF(T_BuyRemainPosition(tCode) > 0)
{
MessageOut(tCode + "市价平多");
SPID = T_Deal(tCode, 1, 1, T_BuyRemainPosition(tCode), T_GetFallLimit(tCode));
}
}
}
}
是的换成T_BuyPosition(Code)就可以
楼上判断符号部分错误,给您换成大于跌停价以及小于涨停价就可以
是一样的,因为价格不等于包含大于和小于,而不存在小于跌停的情况
VOID DoBP()
{
Price1=Price(tCode,"New");
IF(tModel.F_Sig() == BP && Price1<=T_GetFallLimit(tCode)) //
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(T_SHSellRemainPosition(tCode, 0) > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 2, T_SHSellRemainPosition(tCode, 0), T_GetRiseLimit(tCode));
}
}
ELSE
{
IF(T_SellRemainPosition(tCode) > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 1, T_SellRemainPosition(tCode), T_GetRiseLimit(tCode));
}
}
}
}
VOID DoSP()
{
IF(tModel.F_Sig() == SP && Price1>=T_GetRiseLimit(tCode))
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(T_SHBuyRemainPosition(tCode, 0) > 0)
{
MessageOut(tCode + "市价平多");
BPID = T_Deal(tCode, 1, 2, T_SHBuyRemainPosition(tCode, 0), T_GetFallLimit(tCode));
}
}
ELSE
{
IF(T_BuyRemainPosition(tCode) > 0)
{
MessageOut(tCode + "市价平多");
SPID = T_Deal(tCode, 1, 1, T_BuyRemainPosition(tCode), T_GetFallLimit(tCode));
}
}
}
}