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