請老師看一下我的獨立止損組件寫的對不。 [贏順期貨]
- 咨詢內容:
和跟蹤止損差不多。
止損要求:股指限價20個價差止損。做多如價格下跌,則20個價差止損。如開多后價格上行,則止損價抬高為原止損位+(最高價-開倉價)/2.
空頭采用相同的策略。
謝謝!
VAR Price,MinPrice;//定義最新價變量,最小變動價位
VAR BPRICE,SPRICE,HPRICE,LPRICE;//定義多頭持倉均價,空頭持倉均價,波段最高價,波段最低價
VAR LoseBit; //定義止損點差
VOID MAIN()
{
Price=Price("if1202"); //讓PRICE函數取if1202的最新價
LoseBit=20; //定義止損點差
MinPrice=MinPrice("if1202");//定義最小變動價位
BPRICE=T_BuyAvgPrice("if1202");//取得持倉欄中該合約多頭持倉均價
SPRICE=T_SellAvgPrice("if1202");//取得持倉欄中該合約空頭持倉均價
IF (T_BuyPosition("if1202")>0)//如果多頭持倉大于0
{
SPDeal(); // 執行賣平程序
}
IF (T_SellPosition("if1202")>0) //如果空頭持倉大于0
{
BPDeal(); //執行買平程序
}
}
VOID SPDeal() //定義賣平函數
{
IF (BPRICE-Price>LoseBit*MinPrice||BPRICE-Price==LoseBit*MinPrice) //如果多頭持倉均價-最新價大于等于止損點差*最小變動價位
{
T_Deal("if1202",1,1,T_BuyPosition("if1202"),0); //發出委托,以最新價賣平多頭持倉
}
ELSE IF (BPRICE-Price<0) //如果最新價大于多頭持倉均價
{
hprice="ReadGlobal("HPRICE");" //讀取上一次最高價,如果第一次運行,此處為0
IF="IF" (HPRICE==0||Price>HPRICE) //如果 上一次最高價為0或者最新價大于上一次最高價
{
HPRICE=Price; //將上一次最高價賦值為當前最新價
}
ELSE IF (HPRICE>=BPRICE && Price<=BPRICE-100*MinPrice+(HPRICE-BKPRICE)/2)
{
T_Deal("if1202",1,1,T_BuyPosition("if1202"),0); //將多頭持倉以最新價全平
HPRICE=0; //將上一次最高價清零
}
WriteGlobal("HPRICE",HPRICE); //將上一次最高價寫入HPRICE
}
}
VOID BPDeal() //定義平空倉函數
{
IF (Price-SPRICE>LoseBit*MinPrice||Price-SPRICE==LoseBit*MinPrice) //如果當前價格減去空頭開倉均價>=止損點差*最小變動價位
{
T_Deal("if1202",0,1,T_SellPosition("if1202"),0); //將當前合約的持倉全部平掉
}
ELSE IF (Price
=SPRICE+100*MinPrice-(SKPRICE-LPRICE)/2) { T_Deal("ru1109",0,1,T_SellPosition("if1202"),0); //全平 LPRICE=0; //對上一次最低價重新賦值 } WriteGlobal("LPRICE",LPRICE); //將LPRICE寫入注冊表 } } - 贏順技術人員:
為方便查看請重新發送源碼,以設計模式發送,不要以代碼模式,謝謝合作。
- 贏順客服:
好的。和跟蹤止損差不多。 止損要求:股指限價20個價差止損。做多如價格下跌,則20個價差止損。如開多后價格上行,則止損價抬高為原止損位+(最高價-開倉價)/2. 空頭采用相同的策略。 謝謝!
VAR Price,MinPrice;//定義最新價變量,最小變動價位VAR BPRICE,SPRICE,HPRICE,LPRICE;//定義多頭持倉均價,空頭持倉均價,波段最高價,波段最低價VAR LoseBit; //定義止損點差VOID MAIN(){ Price=Price("if1202"); //讓PRICE函數取得if1202的最新價 LoseBit=20; //定義止損點差 MinPrice=MinPrice("if1202");//定義最小變動價位 BPRICE=T_BuyAvgPrice("if1202");//取得持倉欄中該合約多頭持倉均價 SPRICE=T_SellAvgPrice("if1202");//取得持倉欄中該合約空頭持倉均價 IF (T_BuyPosition("if1202")>0)//如果多頭持倉大于0 { SPDeal(); // 執行賣平程序 } IF (T_SellPosition("if1202")>0) //如果空頭持倉大于0 { BPDeal(); //執行買平程序 }}VOID SPDeal() //定義賣平函數{ IF (BPRICE-Price>LoseBit*MinPrice||BPRICE-Price==LoseBit*MinPrice) //如果多頭持倉均價-最新價大于等于止損點差*最小變動價位 { T_Deal("if1202",1,1,T_BuyPosition("if1202"),0); //發出委托,以最新價賣平多頭持倉 } ELSE IF (BPRICE-Price<0) //如果最新價大于多頭持倉均價 { HPRICE=ReadGlobal("HPRICE"); //讀取上一次最高價,如果第一次運行,此處為0 IF (HPRICE==0||Price>HPRICE) //如果 上一次最高價為0或者最新價大于上一次最高價 { HPRICE=Price; //將上一次最高價賦值為當前最新價 } ELSE IF (HPRICE>=BPRICE && Price<=BPRICE-100*MinPrice+(HPRICE-BKPRICE)/2) { T_Deal("if1202",1,1,T_BuyPosition("if1202"),0); //將多頭持倉以最新價全平 HPRICE=0; //將上一次最高價清零 } WriteGlobal("HPRICE",HPRICE); //將上一次最高價寫入HPRICE }}VOID BPDeal() //定義平空倉函數{ IF (Price-SPRICE>LoseBit*MinPrice||Price-SPRICE==LoseBit*MinPrice) //如果當前價格減去空頭開倉均價>=止損點差*最小變動價位 { T_Deal("if1202",0,1,T_SellPosition("if1202"),0); //將當前合約的持倉全部平掉 } ELSE IF (Price<SPRICE) //當前最新價小于空頭持倉均價 { LPRICE=ReadGlobal("LPRICE"); //讀取上一次最低價的值 IF(Price<LPRICE||LPRICE==0) //如果最新價小于上一次最低價或者上一次最低價為0 { LPRICE=Price; //最低價等于最新價 } ELSE IF(LPRICE<=SPRICE && Price>=SPRICE+100*MinPrice-(SKPRICE-LPRICE)/2) { T_Deal("ru1109",0,1,T_SellPosition("if1202"),0); //全平 LPRICE=0; //對上一次最低價重新賦值 } WriteGlobal("LPRICE",LPRICE); //將LPRICE寫入注冊表 }} - 網友回復:
1.組件倒數第三行RU1109沒有改過來。
2.股指編碼用大寫,IF 不是小寫 if
3.原止損價應該是-20 您寫的是100
- 網友回復:
好的我止損價位是20,如2400做多,止損價2380.上面的是不是指100*0.2=20.
還是就是指價差。
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態個股的話,
- 上一篇:今天贏順行情的鋅和棕櫚和WH3的漲跌不一…
- 下一篇:才發現手機安卓版問題
相關文章
-
沒有相關內容