LastState=ReadGlobal("LASTSTATE");
IF(F_FreshSig()==1&&F_SigValid()==1)//如果是未處理過(guò)的新信號(hào)
{
IF(F_Sig()==BK) //如果取出的信號(hào)為BK
{
IF(T_BuyPosition(F_DealCode())==0)
{
BKID=T_Deal(F_DealCode(),0,0,KN,Offers(F_DealCode(),"ask1")+MinPrice(F_DealCode())*N);//買開指定手?jǐn)?shù)。
LastState=0;
}
}
}
ELSE IF(F_FreshSig()==0)//如果是處理過(guò)的信號(hào)
{
BKID=ReadGlobalStr("BKID");
IF(F_Sig()==BK) //如果取出的信號(hào)為BK
{
IF(T_OrderState(BKID)==1&&LastState==0)//買開委托全部成交
{
MessageOut("成交已完成!");
LastState=1;
SPID=T_Deal(F_DealCode(),1,1,PN,F_SigPrice()+50*MinPrice(F_DealCode()));
}
}
}
上面是 開倉(cāng)成交后直接掛平倉(cāng)單 組件范例 的代碼
如果我要在平倉(cāng)之后再開倉(cāng),那么 是否在這一段之后
ELSE IF(F_FreshSig()==0)//如果是處理過(guò)的信號(hào)
……
后面加上
IF(F_FreshSig()==0&&F_SigValid()==1)//如果是處理過(guò)的新信號(hào)
是應(yīng)該這么開頭嗎?
因?yàn)樯厦娴腅LSE IF大括號(hào)內(nèi)的部分已經(jīng)處理了該信號(hào),對(duì)不對(duì)?
還是應(yīng)該和開頭一樣,寫成
IF(F_FreshSig()==1&&F_SigValid()==1)//如果是未處理過(guò)的新信號(hào)
這個(gè)是綁定形式的組件,開倉(cāng)都是根據(jù)模型出信號(hào)以后開倉(cāng)的
您上面說(shuō)的,平倉(cāng)之后再開倉(cāng),是指什么?
就是在綁定以后,
模型 a, bk;
剩下的事情就交給組件處理。
開倉(cāng)成功后,立刻平倉(cāng),
平倉(cāng)以后,組件內(nèi)直接給出指令下單開倉(cāng)。
平倉(cāng)以后,組件內(nèi)直接給出指令下單開倉(cāng)。
就是不太理解這個(gè)意思,平倉(cāng)以后,直接下單開倉(cāng)?
是平倉(cāng)一成交,馬上用平倉(cāng)的價(jià)格發(fā)開倉(cāng)委托?
平倉(cāng)一成交,不是馬上用平倉(cāng)的價(jià)格發(fā)開倉(cāng)委托,
而是在組件中指定價(jià)格或條件進(jìn)行下單,再次開倉(cāng)