[原創(chuàng)]不知是什么原因組件找不到空頭持倉(cāng),組件不止損請(qǐng)老師幫改一下 [文華財(cái)經(jīng)]
- 咨詢內(nèi)容:
文華自帶組件“限價(jià)止損+追蹤止盈(獨(dú)立運(yùn)行)”只改了品種為if1303,
問(wèn)題:我手動(dòng)開空后倉(cāng)位存在,但組件找不到空頭持倉(cāng)。
明明有持倉(cāng)但組件總是T_SellPosition(A)>0表達(dá)式:false,不滿足條件,
后面止隕價(jià)條件到達(dá)也不能被執(zhí)行止損動(dòng)作。
不知是什么原因組件找不到空頭持倉(cāng),請(qǐng)老師幫改一下,看是不是那里語(yǔ)句不對(duì)或者是加載問(wèn)題。
-
-
此主題相關(guān)圖片如下:組件.png
- 文華技術(shù)人員:
//if1303 限價(jià)止損+追蹤止盈獨(dú)立運(yùn)行
VAR Price,MinPrice;//定義最新價(jià)變量,最小變動(dòng)價(jià)位
VAR BPRICE,SPRICE,HPRICE,LPRICE;//定義多頭持倉(cāng)均價(jià),空頭持倉(cāng)均價(jià),波段最高價(jià),波段最低價(jià)
VAR Step,LoseBit,WinBit,WinStep,LoseStep,SaveBit; //定義追蹤點(diǎn)差,止損點(diǎn)差,止盈點(diǎn)差,保底止盈價(jià)位
VAR A;
VOID MAIN()
{
A="IF1303";
Price=Price(A); //讓PRICE函數(shù)取得A的最新價(jià)
Step=1; //定義追蹤點(diǎn)差
LoseBit=1; //定義止損點(diǎn)差
WinBit=1; //定義止盈點(diǎn)差
SaveBit=1;//定義保底止盈損失價(jià)位
//WinStep=1;//定義止盈價(jià)差(監(jiān)控價(jià)差的用戶可以使用)
//LoseStep=1;//定義止損價(jià)差(監(jiān)控價(jià)差的用戶可以使用)
MinPrice=MinPrice(A);//定義最小變動(dòng)價(jià)位
BPRICE=T_BuyAvgPrice(A);//取得持倉(cāng)欄中該合約多頭持倉(cāng)均價(jià)
SPRICE=T_SellAvgPrice(A);//取得持倉(cāng)欄中該合約空頭持倉(cāng)均價(jià)
IF (T_BuyPosition(A)>0)//如果多頭持倉(cāng)大于0
{
SPDeal(); // 執(zhí)行賣平程序
}
IF (T_SellPosition(A)>0) //如果空頭持倉(cāng)大于0
{
BPDeal(); //執(zhí)行買平程序
}
}VOID SPDeal() //定義賣平函數(shù)
{
IF (BPRICE-Price>=LoseBit*MinPrice) //如果多頭持倉(cāng)均價(jià)-最新價(jià)大于等于止損點(diǎn)差*最小變動(dòng)價(jià)位
{
T_Deal(A,1,1,T_BuyPosition(A),0); //發(fā)出委托,以最新價(jià)賣平多頭持倉(cāng)
}
ELSE IF (BPRICE-Price<0) //如果最新價(jià)大于多頭持倉(cāng)均價(jià)
{
HPRICE=ReadGlobal("HPRICE"); //讀取上一次最高價(jià),如果第一次運(yùn)行,此處為0
IF (HPRICE==0||Price>HPRICE) //如果 上一次最高價(jià)為0或者最新價(jià)大于上一次最高價(jià)
{
HPRICE=Price; //將上一次最高價(jià)賦值為當(dāng)前最新價(jià)
}
ELSE IF (HPRICE>=BPRICE+MinPrice*WinBit && HPRICE<=BPRICE+MinPrice*WinBit+MinPrice*Step && BPRICE+MinPrice*WinBit-Price==SaveBit) //最近一次最高價(jià)處于兩個(gè)波段之間,并且最新價(jià)回撤到止盈價(jià)位以下
{
T_Deal(A,1,1,T_BuyPosition(A),0); //將多頭持倉(cāng)以最新價(jià)全平
HPRICE=0; //將上一次最高價(jià)清零
}
WriteGlobal("HPRICE",HPRICE); //將上一次最高價(jià)寫入HPRICE
}
}VOID BPDeal() //定義平空倉(cāng)函數(shù)
{
IF (Price-SPRICE>=LoseBit*MinPrice) //如果當(dāng)前價(jià)格減去空頭開倉(cāng)均價(jià)>=止損點(diǎn)差*最小變動(dòng)價(jià)位
{
T_Deal(A,0,1,T_SellPosition(A),0); //將當(dāng)前合約的持倉(cāng)全部平掉
}
ELSE IF (Price<SPRICE) //當(dāng)前最新價(jià)小于空頭持倉(cāng)均價(jià)
{
LPRICE=ReadGlobal("LPRICE"); //讀取上一次最低價(jià)的值
IF(Price<LPRICE||LPRICE==0) //如果最新價(jià)小于上一次最低價(jià)或者上一次最低價(jià)為0
{
LPRICE=Price; //最低價(jià)等于最新價(jià)
}
ELSE IF(LPRICE>=SPRICE-WinBit*MinPrice-MinPrice*Step && LPRICE<=SPRICE-WinBit*MinPrice && Price-SPRICE+WinBit*MinPrice==SaveBit) //最近一次最低價(jià)處在兩個(gè)波段之內(nèi)并且最新價(jià)高于止盈價(jià)
{
T_Deal(A,0,1,T_SellPosition(A),0); //全平
LPRICE=0; //對(duì)上一次最低價(jià)重新賦值
}
WriteGlobal("LPRICE",LPRICE); //將LPRICE寫入注冊(cè)表
}
} - 文華客服:
請(qǐng)參考下面鏈接40樓
http://help.shwebstock.com.cn/dispbbs.asp?boardid=14&id=254123&page=&star=4
- 網(wǎng)友回復(fù):
40樓是這樣說(shuō)的:
您的問(wèn)題已查明是由于
T_BuyPosition(A)
T_SellPosition(A)這兩個(gè)函數(shù)在升級(jí)后讀取系統(tǒng)持倉(cāng)有誤導(dǎo)致的,開發(fā)已經(jīng)修改。會(huì)在下次升級(jí)版本中體現(xiàn)。
那什么時(shí)候能升級(jí)好?要快。
- 網(wǎng)友回復(fù):
需要等下次升級(jí)了,請(qǐng)您耐心等待
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容

會(huì)員登錄/注冊(cè)