投资者咨询:盘口的平仓,照成全部平仓! (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-7-17 22:26
是不是应该把取得持仓可用 T_SHSellRemainPosition(tCode, 0)改成:tModel.F_SigVol()当前信号对应手数?
{
IF(tModel.F_Sig() == BP) //
{
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)
{
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));
}
}
}
}
VOID DoCloseOut()
{
IF(tModel.F_Sig() == CLOSEOUT)
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(T_SHSellRemainPosition(tCode, 0) > 0)
{
MessageOut(tCode + "市价平空");
CLOSEOUTID = T_Deal(tCode, 0, 2, T_SHSellRemainPosition(tCode, 0), T_GetRiseLimit(tCode));
}
IF(T_SHBuyRemainPosition(tCode, 0) > 0)
{
MessageOut(tCode + "市价平多");
CLOSEOUTID = T_Deal(tCode, 1, 2, T_SHBuyRemainPosition(tCode, 0), T_GetFallLimit(tCode));
}
}
ELSE
{
IF(T_SellRemainPosition(tCode) > 0)
{
MessageOut(tCode + "市价平空");
CLOSEOUTID = T_Deal(tCode, 0, 1, T_SellRemainPosition(tCode), T_GetRiseLimit(tCode));
}
IF(T_BuyRemainPosition(tCode) > 0)
{
MessageOut(tCode + "市价平多");
CLOSEOUTID = T_Deal(tCode, 1, 1, T_BuyRemainPosition(tCode), T_GetFallLimit(tCode));
}
}
}
}
技术人员回复
日期:2018-7-17 22:30
T_SHSellRemainPosition取得是账户持仓的,您可以用F_BuyRemainPosition、F_SellRemainPosition取模组持仓
投资者咨询:盘口的平仓,照成全部平仓! (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-7-17 22:26
以下是引用齐云在2018/7/17 22:30:00的发言:
这俩个意思就是返回模组的持仓手数?T_SHSellRemainPosition取得是账户持仓的,您可以用F_BuyRemainPosition、F_SellRemainPosition取模组持仓
技术人员回复
日期:2018-7-18 21:18
您平仓手数的地方取得是账户总的多空头可用持仓,您想针对某个模组的持仓开平仓用F_BuyRemainPosition、F_SellRemainPosition取某模组的多空头可用持仓
投资者咨询:盘口的平仓,照成全部平仓! (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-7-17 22:26
VAR Model[];
黑色部分换成 F_BuyRemainPosition、F_SellRemainPosition取模组持仓!但是F开头要定义,请老师帮忙 修改(修改部分请红色标注下,谢谢)
VAR nNum;
VAR i;
VAR SS;
VAR M1;
VAR N,X,BID,BVL,TID,TVL; //ADD
VAR tModel, tCode;
GLOBAL_VAR BKID, SKID, BPID, SPID,CLOSEOUTID; //
VAR newPrice;//最新价
VAR mMinPrice;//最小变动价位
GLOBAL_VAR BKFLAG,SKFLAG;
GLOBAL_VAR UPD; //
GLOBAL_VAR ID; //
VAR fmlBVol;
VOID MAIN()
{
Model[0] = "AA";
Model[1] = "BB";
Model[2] = "CC";
nNum = 3;
FOR(i = 0; i < nNum; i = i + 1)
{
ID = i ; //
tModel = Model[i];
tCode = tModel.F_DealCode();
SS=tModel.F_Variant("M1", 0);//
IF(tModel.F_FreshSig() == 1 && tModel.F_SigValid() == 1)
{
DoSK();
DoBK();
DoBP();
DoSP();
}
}
}
VOID DoSK()
{
VAR SelVol;
SelVol = AL_SellPosition(tCode);
IF(tModel.F_Sig() == SK)
{
SKID = T_Deal(tCode, 1, 0, tModel.F_SigVol(), T_GetFallLimit(tCode));
RETURN;
}
}
VOID DoBK()
{
VAR BuyVol;
BuyVol = AL_BuyPosition(tCode);
IF(tModel.F_Sig() == BK)
{
BKID = T_Deal(tCode, 0, 0, tCode.F_SigVol(), T_GetRiseLimit(tCode));
RETURN;
}
}
VOID DoBP()
{
IF(tModel.F_Sig() == BP) //
{
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)
{
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));
}
}
}
}
技术人员回复
日期:2018-7-18 22:29
这样试下:
VAR Model[];
VAR nNum;
VAR i;
VAR SS;
VAR M1;
VAR N,X,BID,BVL,TID,TVL; //ADD
VAR tModel, tCode;
GLOBAL_VAR BKID, SKID, BPID, SPID,CLOSEOUTID; //
VAR newPrice;//最新价
VAR mMinPrice;//最小变动价位
GLOBAL_VAR BKFLAG,SKFLAG;
GLOBAL_VAR UPD; //
GLOBAL_VAR ID; //
VAR fmlBVol;
VOID MAIN()
{
Model[0] = "AA";
Model[1] = "BB";
Model[2] = "CC";
nNum = 3;
FOR(i = 0; i < nNum; i = i + 1)
{
ID = i ; //
tModel = Model[i];
tCode = tModel.F_DealCode();
SS=tModel.F_Variant("M1", 0);//
IF(tModel.F_FreshSig() == 1 && tModel.F_SigValid() == 1)
{
DoSK();
DoBK();
DoBP();
DoSP();
}
}
}
VOID DoSK()
{
VAR SelVol;
SelVol = AL_SellPosition(tCode);
IF(tModel.F_Sig() == SK)
{
SKID = T_Deal(tCode, 1, 0, tModel.F_SigVol(), T_GetFallLimit(tCode));
RETURN;
}
}
VOID DoBK()
{
VAR BuyVol;
BuyVol = AL_BuyPosition(tCode);
IF(tModel.F_Sig() == BK)
{
BKID = T_Deal(tCode, 0, 0, tCode.F_SigVol(), T_GetRiseLimit(tCode));
RETURN;
}
}
VOID DoBP()
{
IF(tModel.F_Sig() == BP) //
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(T_SHSellRemainPosition(tCode, 0) > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 2, tModel.F_SellRemainPosition(), T_GetRiseLimit(tCode));
}
}
ELSE
{
IF(T_SellRemainPosition(tCode) > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 1, tModel.F_SellRemainPosition(), T_GetRiseLimit(tCode));
}
}
}
}
VOID DoSP()
{
IF(tModel.F_Sig() == SP)
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(T_SHBuyRemainPosition(tCode, 0) > 0)
{
MessageOut(tCode + "市价平多");
BPID = T_Deal(tCode, 1, 2, tModel.F_BuyRemainPosition(), T_GetFallLimit(tCode));
}
}
ELSE
{
IF(T_BuyRemainPosition(tCode) > 0)
{
MessageOut(tCode + "市价平多");
SPID = T_Deal(tCode, 1, 1, tModel.F_BuyRemainPosition(), T_GetFallLimit(tCode));
}
}
}
}
投资者咨询:盘口的平仓,照成全部平仓! (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-7-17 22:26
不行,委托废单,因为只把平仓数量修改成tModel.F_BuyRemainPosition(),这样委托次次数量为0所以废单?
技术人员回复
日期:2018-7-19 9:29
这样:
VAR Model[];
VAR nNum;
VAR i;
VAR SS;
VAR M1;
VAR N,X,BID,BVL,TID,TVL; //ADD
VAR tModel, tCode;
GLOBAL_VAR BKID, SKID, BPID, SPID,CLOSEOUTID; //
VAR newPrice;//最新价
VAR mMinPrice;//最小变动价位
GLOBAL_VAR BKFLAG,SKFLAG;
GLOBAL_VAR UPD; //
GLOBAL_VAR ID; //
VAR fmlBVol;
VOID MAIN()
{
Model[0] = "AA";
Model[1] = "BB";
Model[2] = "CC";
nNum = 3;
FOR(i = 0; i < nNum; i = i + 1)
{
ID = i ; //
tModel = Model[i];
tCode = tModel.F_DealCode();
SS=tModel.F_Variant("M1", 0);//
IF(tModel.F_FreshSig() == 1 && tModel.F_SigValid() == 1)
{
DoSK();
DoBK();
DoBP();
DoSP();
}
}
}
VOID DoSK()
{
VAR SelVol;
SelVol = AL_SellPosition(tCode);
IF(tModel.F_Sig() == SK)
{
SKID = T_Deal(tCode, 1, 0, tModel.F_SigVol(), T_GetFallLimit(tCode));
RETURN;
}
}
VOID DoBK()
{
VAR BuyVol;
BuyVol = AL_BuyPosition(tCode);
IF(tModel.F_Sig() == BK)
{
BKID = T_Deal(tCode, 0, 0, tCode.F_SigVol(), T_GetRiseLimit(tCode));
RETURN;
}
}
VOID DoBP()
{
IF(tModel.F_Sig() == BP) //
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(tModel.F_SellRemainPosition() > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 2, tModel.F_SellRemainPosition(), T_GetRiseLimit(tCode));
}
}
ELSE
{
IF(tModel.F_SellRemainPosition() > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 1, tModel.F_SellRemainPosition(), T_GetRiseLimit(tCode));
}
}
}
}
VOID DoSP()
{
IF(tModel.F_Sig() == SP)
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(tModel.F_BuyRemainPosition() > 0)
{
MessageOut(tCode + "市价平多");
BPID = T_Deal(tCode, 1, 2, tModel.F_BuyRemainPosition(), T_GetFallLimit(tCode));
}
}
ELSE
{
IF(tModel.F_BuyRemainPosition() > 0)
{
MessageOut(tCode + "市价平多");
SPID = T_Deal(tCode, 1, 1, tModel.F_BuyRemainPosition(), T_GetFallLimit(tCode));
}
}
}
}
投资者咨询:盘口的平仓,照成全部平仓! (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2018-7-17 22:26
请老师标注下哪里修改了,感觉也就是平仓委托数量修改了啊?那样是废单啊
技术人员回复
日期:2018-7-19 13:43
参考标红位置举例:判断的时候也改了一下
VAR nNum;
VAR i;
VAR SS;
VAR M1;
VAR N,X,BID,BVL,TID,TVL; //ADD
VAR tModel, tCode;
GLOBAL_VAR BKID, SKID, BPID, SPID,CLOSEOUTID; //
VAR newPrice;//最新价
VAR mMinPrice;//最小变动价位
GLOBAL_VAR BKFLAG,SKFLAG;
GLOBAL_VAR UPD; //
GLOBAL_VAR ID; //
VAR fmlBVol;
VOID MAIN()
{
Model[0] = "AA";
Model[1] = "BB";
Model[2] = "CC";
nNum = 3;
FOR(i = 0; i < nNum; i = i + 1)
{
ID = i ; //
tModel = Model[i];
tCode = tModel.F_DealCode();
SS=tModel.F_Variant("M1", 0);//
IF(tModel.F_FreshSig() == 1 && tModel.F_SigValid() == 1)
{
DoSK();
DoBK();
DoBP();
DoSP();
}
}
}
VOID DoSK()
{
VAR SelVol;
SelVol = AL_SellPosition(tCode);
IF(tModel.F_Sig() == SK)
{
SKID = T_Deal(tCode, 1, 0, tModel.F_SigVol(), T_GetFallLimit(tCode));
RETURN;
}
}
VOID DoBK()
{
VAR BuyVol;
BuyVol = AL_BuyPosition(tCode);
IF(tModel.F_Sig() == BK)
{
BKID = T_Deal(tCode, 0, 0, tCode.F_SigVol(), T_GetRiseLimit(tCode));
RETURN;
}
}
VOID DoBP()
{
IF(tModel.F_Sig() == BP) //
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(tModel.F_SellRemainPosition() > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 2, tModel.F_SellRemainPosition(), T_GetRiseLimit(tCode));
}
}
ELSE
{
IF(tModel.F_SellRemainPosition() > 0)
{
MessageOut(tCode + "市价平空");
BPID = T_Deal(tCode, 0, 1, tModel.F_SellRemainPosition(), T_GetRiseLimit(tCode));
}
}
}
}
VOID DoSP()
{
IF(tModel.F_Sig() == SP)
{
IF(T_IsSHCode(tCode) == 1) //
{
IF(tModel.F_BuyRemainPosition() > 0)
{
MessageOut(tCode + "市价平多");
BPID = T_Deal(tCode, 1, 2, tModel.F_BuyRemainPosition(), T_GetFallLimit(tCode));
}
}
ELSE
{
IF(tModel.F_BuyRemainPosition() > 0)
{
MessageOut(tCode + "市价平多");
SPID = T_Deal(tCode, 1, 1, tModel.F_BuyRemainPosition(), T_GetFallLimit(tCode));
}
}
}
}