源代碼如下:
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);//買(mǎi)開(kāi)指定手?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)//買(mǎi)開(kāi)委托全部成交
{
MessageOut("成交已完成!");
LastState=1;
SPID=T_Deal(F_DealCode(),1,1,PN,F_SigPrice()+50*MinPrice(F_DealCode()));
}
}
}
WriteGlobalStr("BKID",BKID);
WriteGlobal("LASTSTATE", LastState);
在這個(gè)組件中,開(kāi)倉(cāng)應(yīng)該是按照模型策略開(kāi)的是嗎?
那么開(kāi)倉(cāng)成交后直接所掛的平倉(cāng)單,是按照什么條件來(lái)掛的?
F_SigPrice()+50*MinPrice(F_DealCode()) 這句什么意思?
開(kāi)倉(cāng)應(yīng)該是按照模型策略開(kāi)的是嗎?
是的
那么開(kāi)倉(cāng)成交后直接所掛的平倉(cāng)單,是按照什么條件來(lái)掛的?
沒(méi)有條件 只要開(kāi)倉(cāng)成交以后 就按照成交價(jià)格加50個(gè)最小變價(jià)掛平倉(cāng)單 比如1000成交 那么就以1050掛平倉(cāng)委托。
多謝,看來(lái)我理解對(duì)了。
BKID=T_Deal(F_DealCode(),0,0,KN,Offers(F_DealCode(),"ask1")+MinPrice(F_DealCode())*N);//買(mǎi)開(kāi)指定手?jǐn)?shù)。
上面這一句中, KN 代表什么,是否需要在模型中定義,或者在參數(shù)中設(shè)置?
還有 ask1 和 N ,是否有同樣的問(wèn)題?
還是說(shuō)這些是系統(tǒng)內(nèi)置的參數(shù),已經(jīng)有了確切的定義?
這些是需要在組件中定義的 KN為您的組件下單的手?jǐn)?shù)
ASK1為對(duì)價(jià)
N為在對(duì)價(jià)的基礎(chǔ)上超價(jià)多少個(gè)價(jià)位發(fā)BK委托的意思 N直接寫(xiě)為10 即為代表超10個(gè)最小變價(jià)
KN N的數(shù)值 您都可以直接填入組件中 用具體數(shù)值代替KN N即可。