后臺(tái)程式化同一根K線走完后,為何會(huì)開兩次倉(cāng)?
作者:金字塔 來(lái)源:cxh99.com 發(fā)布時(shí)間:2016年12月25日
- 咨詢內(nèi)容:
if duo and extgbdata(stklabel+'bn1')=0 then begin tbuy(1,手?jǐn)?shù),mkt); extgbdataset(stklabel+'bn1',1); extgbdataset(stklabel+'bn15',手?jǐn)?shù)); extgbdataset(stklabel+'bdcs',0); end s:=ref(15atr,tenterbars); if duo and extgbdata(stklabel+'bn1')=1 and c>=tENTERPRICE+zc*s then begin tbuy(1,手?jǐn)?shù),mkt); extgbdataset(stklabel+'bn1',2); extgbdataset(stklabel+'bn152',手?jǐn)?shù)); extgbdataset(stklabel+'bdcs',0); end s:=ref(15atr,tenterbars);
程式剛開始運(yùn)行時(shí),達(dá)到條件只按“手?jǐn)?shù)”開倉(cāng),只偶爾有同一根K線走完后開兩倍手?jǐn)?shù)的倉(cāng)位,并且是同一時(shí)間重復(fù)開倉(cāng),現(xiàn)在經(jīng)常是這樣了,是什么原因。我的策略是限制達(dá)到條件只開一次倉(cāng),加一次倉(cāng),但是加倉(cāng)是至少在下一根K線以后,因?yàn)槭切枰獌r(jià)格離第一次開倉(cāng)有一定的距離了,再加倉(cāng)的。現(xiàn)在經(jīng)常這樣,同一時(shí)間開了兩倍手?jǐn)?shù)的倉(cāng)位后,等后面達(dá)到條件了,也不會(huì)加倉(cāng)了。這到底是什么原因。
- 金字塔客服:
這兩句中間sleep個(gè)1秒。在第一個(gè)開倉(cāng)沒報(bào)出去之前會(huì)獲取到之前一個(gè)開倉(cāng)價(jià),中間sleep保證第一個(gè)開倉(cāng)已經(jīng)報(bào)出去了,在第二個(gè)開倉(cāng)時(shí)獲取的是第一個(gè)的開倉(cāng)價(jià)
- 用戶回復(fù):
那這個(gè)應(yīng)該怎么寫,才能防止重復(fù)開倉(cāng)呢?
- 網(wǎng)友回復(fù):
if duo and extgbdata(stklabel+'bn1')=0 then begin
tbuy(1,手?jǐn)?shù),mkt);
extgbdataset(stklabel+'bn1',1);
extgbdataset(stklabel+'bn15',手?jǐn)?shù));
extgbdataset(stklabel+'bdcs',0);
end
s:=ref(15atr,tenterbars);
sleep(1000);
if duo and extgbdata(stklabel+'bn1')=1 and c>=tENTERPRICE+zc*s then begin
tbuy(1,手?jǐn)?shù),mkt);
extgbdataset(stklabel+'bn1',2);
extgbdataset(stklabel+'bn152',手?jǐn)?shù));
extgbdataset(stklabel+'bdcs',0);
end
s:=ref(15atr,tenterbars);
- 網(wǎng)友回復(fù):
就在開倉(cāng)與加倉(cāng)之間加一句代碼就可以了,sleep(1000)?