AUTOCLEARSIG 自動清除信號
一根K線上信號滿60個時,自動對前面的信號進行刪除。 清除規(guī)則: 1、僅作用于信號執(zhí)行方式選擇為不復核的模型 2.僅作用于模組運行過程中,效果測試及模組加載的歷史信號不受該關(guān)鍵字影響。 例: CLOSE>OPEN,BK; CLOSE<BKPRICE+2||CLOSE<BKPRICE-1,SP; AUTOFILTER; AUTOCLEARSIG; 加入了AUTOCLEARSIG關(guān)鍵字,在大周期上一根K線上反復出現(xiàn)信號,滿60個時刪掉歷史所有信號 只保留最后的60個信號; 若不加入AUTOCLEARSIG關(guān)鍵字,當信號滿60個時,模組自動停止運行
AUTOFILTER 自動過濾信號對模型信號進行過濾。 過濾規(guī)則: 1.連續(xù)的同方向指令只有第一個有效,其他的將被過濾; 2.交易指令必須先開后平配對出現(xiàn)(例如:出現(xiàn)BK指令,下一個指令只允許出現(xiàn)SP指令;反手則是SPK和BPK交叉出現(xiàn))。 例: CLOSE>OPEN,BK; CLOSE<OPEN,SP; AUTOFILTER; 注意如果使用自動過濾函數(shù)建議就不要在代碼中再使用其它的語句進行過濾的編寫。
BARSBK 上一次買開信號位置上一次買開信號位置 用法: BARSBK返回上一次買開倉的K線距離當前K線的周期數(shù)(不包含出現(xiàn)BK信號的那根K線);發(fā)出BK信號的當根k線BARSBK返回空值 如果取包含BK信號出現(xiàn)的那根K線到當前K線的周期數(shù),則需要在此函數(shù)后+1,即BARSBK+1;由于發(fā)出BK信號的當根k線BARSBK返回空值,則BARSBK+1在發(fā)出BK信號當根k線返回空值。 注: 1、若當前K線之前無BK信號,則函數(shù)返回值為空值 2、BK信號當根K線信號固定后BARSBK返回為空值 例: 1、BARSBK>10,SP;上一次買開倉(不包含出現(xiàn)買開信號的那根K線)距離當前K線的周期數(shù)大于10,賣平; 2、HHV(H,BARSBK+1);上一次買開倉(包含開倉信號出現(xiàn)的當根k線)到當前的最高價的最大值。 當根K線出現(xiàn)BK信號,AA返回為空值,如果需要返回當根K線上最高價,模型需要修改為: AA:IFELSE(BARSBK>=1,HHV(H,BARSBK+1),H); (1)當根K線出現(xiàn)BK信號,BARSBK返回為空值,不滿足BARSBK>=1的條件,則取值為當根K線的最高價H (2)發(fā)出BK信號之后K線BARSBK返回買開倉的K線距離當前K線的周期數(shù),滿足BARSBK>=1的條件,則取值為HHV(H,BARSBK+1),即買開倉(包含開倉信號出現(xiàn)的當根k線)到當前的最高價的最大值。 修改后如果平倉條件中用到了AA的值,當根K線滿足了平倉條件,可以出現(xiàn)平倉信號 3、AA:IFELSE(BARSBK>=1,REF(C,BARSBK),C);//取最近一次買開倉K線的收盤價 (1)發(fā)出BK信號的當根k線BARSBK返回空值,則當根K線不滿足BARSBK>=1的條件,AA返回當根k線的收盤價; (2)發(fā)出BK信號之后的k線BARSBK返回買開倉的K線距離當前K線的周期數(shù),則AA返回REF(C,BARSBK),即開倉k線的收盤價; (3)例:1、2、3三根k線,1 K線為開倉信號的當根k線,則返回當根k線的收盤價,2、3 K線AA返回值為 1 K線的收盤價。
BARSSK 上一次賣開信號位置上一次賣開信號位置 用法: BARSSK返回上一次賣開倉的K線距離當前K線的周期數(shù)(不包含出現(xiàn)SK信號的那根K線);發(fā)出SK信號的當根k線BARSSK返回空值 如果取包含SK信號出現(xiàn)的那根K線到當前K線的周期數(shù),則需要在此函數(shù)后+1,即BARSSK+1;由于發(fā)出SK信號的當根k線BARSSK返回空值,則BARSSK+1在發(fā)出SK信號當根k線返回空值。 注: 1、若當前K線之前無SK信號,則函數(shù)返回值為空值 2、SK信號當根K線信號固定后BARSSK返回為空值r\n例: 1、BARSSK>10,BP;上一次賣開倉(不包含出現(xiàn)買開信號的那根K線)距離當前K線的周期數(shù)大于10,買平; 2、LLV(L,BARSSK+1);上一次賣開倉(包含開倉信號出現(xiàn)的當根k線)到當前的最低價的最小值。 當根K線出現(xiàn)SK信號,AA返回為空值,如果需要返回當根K線上最低價,模型需要修改為: AA:IFELSE(BARSSK>=1,LLV(L,BARSSK+1),L); (1)當根K線出現(xiàn)SK信號,BARSSK返回為空值,不滿足BARSSK>=1的條件,則取值為當根K線的最低價L (2)發(fā)出SK信號之后K線SARSBK返回賣開倉的K線距離當前K線的周期數(shù),滿足BARSSK>=1的條件,則取值為LLV(L,BARSSK+1),即賣開倉(包含開倉信號出現(xiàn)的當根k線)到當前的最低價的最小值。 修改后如果平倉條件中用到了AA的值,當根K線滿足了平倉條件,可以出現(xiàn)平倉信號。 3、AA:IFELSE(BARSSK>=1,REF(C,BARSSK),C);//取最近一次賣開倉K線的收盤價 (1)發(fā)出SK信號的當根k線BARSSK返回空值,則當根K線不滿足BARSSK>=1的條件,AA返回當根k線的收盤價; (2)發(fā)出SK信號之后的k線BARSSK返回賣開倉的K線距離當前K線的周期數(shù),則AA返回REF(C,BARSSK),即開倉k線的收盤價; (3)例:1、2、3三根k線,1 K線為開倉信號的當根k線,則返回當根k線的收盤價,2、3 K線AA返回值為 1 K線的收盤價。
BKPRICE 買開信號位置的買開信號價位模型買開信號位置的買開信號價位。用法: BKPRICE返回最近一次模型買開位置的買開信號價位。 (1)當模型存在連續(xù)多個開倉信號(加倉)的情況下,該函數(shù)返回的是最后一次開倉信號的價格,而不是開倉均價。 (2)模組運行環(huán)境,返回的是BK(BPK)信號發(fā)出時的行情的最新價(可以與模組運行界面中“信號記錄”中的BK(BPK)信號對應的“當時最新價”比較)。BK信號發(fā)出并且已經(jīng)確認固定后,BKPRICE的值更新為信號發(fā)出時的行情的最新價 注意: a.信號執(zhí)行方式選擇為不進行信號復核或K線走完確認信號下單,則BK委托的時BKPRICE的值更新為信號發(fā)出時的行情的最新價; b.信號執(zhí)行方式選擇為K線走完進行信號復核,則BK信號委托時BKPRICE返回的還是上一次BK信號發(fā)出時的行情的最新價;K線走完復核信號確認存在,BKPRICE返回本次BK信號發(fā)出時行情的最新價 (3)模組運行環(huán)境歷史信號取值,返回出信號那根k線的指令價。 (4)含有BKPRICE的模型,模組自動初始化時返回的為上一次買開信號的指令價;手動初始化,如果上一個信號為買開,BKPRICE返回為初始化彈出框中填入的價格(默認填入上一次買開信號位置的指令價); (5)效果預覽環(huán)境,信號執(zhí)行方式選擇K線走完確認信號下單,返回的是出信號那根k線的收盤價;信號執(zhí)行方式選擇出信號立即下單,K線走完復核或者出信號立即下單不進行復核,返回指令價。 (6)主圖加載運行,BKPRICE返回的買開信號當根的收盤價 寫法示例: BKPRICE-CLOSE>60 && BKPRICE>0 && BKVOL>0, SP;//如果買開價位比當前價位高出60,且多頭持倉存在,賣平倉。 BKPRICE1 模組中交易合約的買開信號位置的買開信號價位模組中交易合約的買開信號位置的買開信號價位。用法: (1)當數(shù)據(jù)合約和交易合約相同時BKPRICE1值和BKPRICE值相等。 (2)當交易合約另外指定時,BKPRICE1歷史數(shù)據(jù)值與BKPRICE值相等取數(shù)據(jù)合約價格,盤中BKPRICE取數(shù)據(jù)合約的價格,BKPRICE1取交易合約價格。 (3)當模型自動初始化時,BKPRICE1取最近的BK信號計算的數(shù)據(jù)合約的指令價;手動初始化時,BKPRICE1取初始化彈出框中填入的持倉價格(默認顯示為買開信號的指令價)。 BARSBP 上一次買平信號位置上一次買平信號位置用法:
BARSBP返回上一次買平倉的K線距離當前K線的周期數(shù)(不包含出現(xiàn)BP信號的那根K線);發(fā)出BP信號的當根k線BARSBP返回空值。
如果取包含BP信號出現(xiàn)的那根K線到當前K線的周期數(shù),則需要在此函數(shù)后+1,即BARSBP+1。由于發(fā)出BP信號的當根k線BARSBP返回空值,則BARSBP+1在發(fā)出BP信號當根k線返回空值。 注: 若當前K線之前無BP信號,則函數(shù)返回值為空值 例:
1、BARSBP>10,BK;上一次買平倉(不包含出現(xiàn)買平信號的那根K線)距離當前K線的周期數(shù)大于10,買開。
2、AA:HHV(H,BARSBP+1);上一次買平倉(包含平倉信號出現(xiàn)的當根k線)到當前的最高價的最大值。
當根K線出現(xiàn)BP信號,AA返回為空值,如果需要返回當根K線上最高價,模型需要修改為:
AA:IFELSE(BARSBP>=1,HHV(H,BARSBP+1),H);
(1)當根K線出現(xiàn)BP信號,BARSBP返回為空值,不滿足BARSBP>=1的條件,則取值為當根K線的最高價H
(2)發(fā)出BP信號之后K線BARSBP返回買平倉的K線距離當前K線的周期數(shù),滿足BARSBP>=1的條件,則取值為HHV(H,BARSBP+1),即買平倉(包含平倉信號出現(xiàn)的當根k線)到當前的最高價的最大值。
3、AA:IFELSE(BARSBP>=1,REF(C,BARSBP),C);//取最近一次買平倉K線的收盤價(
1)發(fā)出BP信號的當根k線BARSBP返回空值,則當根K線不滿足BARSBP>=1的條件,AA返回當根k線的收盤價;
(2)發(fā)出BP信號之后的k線BARSBP返回買平倉的K線距離當前K線的周期數(shù),則AA返回REF(C,BARSBP),即開倉k線的收盤價;
(3)例:1、2、3三根k線,1 K線為平倉信號的當根k線,則返回當根k線的收盤價,2、3 K線AA返回值為 1 K線的收盤價。 BARSSP 上一次賣平信號位置上一次賣平信號位置用法:
BARSSP返回上一次賣平倉的K線距離當前K線的周期數(shù)(不包含出現(xiàn)SP信號的那根K線);發(fā)出SP信號的當根k線BARSSP返回空值。
如果取包含SP信號出現(xiàn)的那根K線到當前K線的周期數(shù),則需要在此函數(shù)后+1,即BARSSP+1。由于發(fā)出SP信號的當根k線BARSSP返回空值,則BARSSP+1在發(fā)出SP信號當根k線返回空值。 注: 若當前K線之前無SP信號,則函數(shù)返回值為空值 例:
1、BARSSP>10,BK;上一次賣平倉(不包含出現(xiàn)賣平信號的那根K線)距離當前K線的周期數(shù)大于10,買開。
2、AA:HHV(H,BARSSP+1);上一次,賣平倉(包含平倉信號出現(xiàn)的當根k線)到當前的最高價的最大值。
當根K線出現(xiàn)SP信號,AA返回為空值,如果需要返回當根K線上最高價,模型需要修改為:
AA:IFELSE(BARSSP>=1,HHV(H,BARSSP+1),H);
(1)當根K線出現(xiàn)SP信號,BARSSP返回為空值,不滿足BARSSP>=1的條件,則取值為當根K線的最高價H
(2)發(fā)出SP信號之后K線BARSSP返回買平倉的K線距離當前K線的周期數(shù),滿足BARSSP>=1的條件,則取值為HHV(H,BARSSP+1),即賣平倉(包含平倉信號出現(xiàn)的當根k線)到當前的最高價的最大值。
3、AA:IFELSE(BARSSP>=1,REF(C,BARSSP),C);//取最近一次賣平倉K線的收盤價
(1)發(fā)出SP信號的當根k線BARSSP返回空值,則當根K線不滿足BARSSP>=1的條件,AA返回當根k線的收盤價;
(2)發(fā)出SP信號之后的k線BARSSP返回賣平倉的K線距離當前K線的周期數(shù),則AA返回REF(C,BARSSP),即開倉k線的收盤價;
(3)1、2、3三根k線,1 K線為平倉信號的當根k線,則返回當根k線的收盤價,2、3 K線AA返回值為 1 K線的收盤價 BKHIGH 買開倉以來的最高價買開倉以來的最高價 用法: BKHIGH返回最近一次模型買開位置到當前的最高價. (1)模組運行環(huán)境,返回bk(bpk)指令發(fā)出后到當前的最高價; a.K線走完確認信號下單,BK(BPK)信號當根K線返回的為信號發(fā)出時行情的最新價(即下根K線的開盤價);BK之后的K線返回委托以來的行情的最高價 b.信號執(zhí)行方式選擇K線走完復核,從BK(BPK)信號發(fā)出時行情時開始統(tǒng)計行情的最高價;如果信號消失,返回上次買開以來的行情的最高價,如果信號確認存在,返回當根K線記錄的行情的最高價 注:如果BK信號發(fā)出后,中間出了信號消失,從最后一次信號出現(xiàn)開始統(tǒng)計最高價 c.信號執(zhí)行方式選擇不進行信號復核,BK(BPK)信號的當根K線返回的從信號發(fā)出到K線走完時行情的最高價;BK(BPK)信號之后的K線返回信號發(fā)出以來行情的最高價 (2)加載模型時歷史數(shù)據(jù): a.K線走完確認信號下單,如果當前K線上出現(xiàn)bk(bpk)信號,返回當前bk(bpk)信號所在K線的收盤價,之后K線的最高價與當根k線的收盤價做比較取較大值; b.其他信號執(zhí)行方式,BK信號當根指令價(根據(jù)效果測試計算機制計算得到)與收盤價比較,返回取值較大的值;BK信號以后的K線的最高價與BK信號當根的返回值比較取較大值 (3)效果測試中: a.K線走完確認信號下單,如果當前K線上出現(xiàn)bk(bpk)信號,返回當前bk(bpk)信號所在K線的收盤價,之后K線的最高價與當根k線的收盤價做比較取較大值; b.其他信號執(zhí)行方式,BK信號當根指令價(根據(jù)效果測試計算機制計算得到)與收盤價比較,返回取值較大的值;BK信號以后K線的最高價與BK信號當根的返回值比較取較大值 例: C<BKHIGH-5*MD,SP;//買開位置到當前的最高價回撤5個最小變動價位則止損平倉。 (4)加載到主圖:如果當前K線上出現(xiàn)bk(bpk)信號,返回當前bk(bpk)信號所在K線的收盤價,之后K線的最高價與當根k線的收盤價做比較取較大值。
BKLOW 買開倉以來的最低價 買開倉以來的最低價 用法: BKLOW返回最近一次模型買開位置到當前的最低價. (1)模組運行環(huán)境,返回bk(bpk)指令發(fā)出后到當前的最低價; a.K線走完確認信號下單,BK(BPK)信號當根K線返回的為信號發(fā)出時行情的最新價(即下根K線的開盤價);BK之后的K線返回委托以來的行情的最低價 b.信號執(zhí)行方式選擇K線走完復核,從BK(BPK)信號發(fā)出時行情時開始統(tǒng)計行情的最低價;如果信號消失,返回上次買開以來的行情的最低價,如果信號確認存在,返回當根K線記錄的行情的最低價 注:如果BK信號發(fā)出后,中間出了信號消失,從最后一次信號出現(xiàn)開始統(tǒng)計最低價 c.信號執(zhí)行方式選擇不進行信號復核,BK(BPK)信號的當根K線返回的從信號發(fā)出到K線走完時行情的最低價;BK(BPK)信號之后的K線返回信號發(fā)出以來行情的最低價 (2)加載模型時歷史數(shù)據(jù): a.K線走完確認信號下單,如果當前K線上出現(xiàn)bk(bpk)信號,返回當前bk(bpk)信號所在K線的收盤價,之后K線的最低價與當根k線的收盤價做比較取較小值; b.其他信號執(zhí)行方式,BK信號當根指令價(根據(jù)效果測試計算機制計算得到)與收盤價比較,返回取值較小的值;BK信號以后的最低價與BK信號當根的返回值比較取較小值 (3)效果測試中: a.K線走完確認信號下單,如果當前K線上出現(xiàn)bk(bpk)信號,返回當前bk(bpk)信號所在K線的收盤價,之后K線的最低價與當根k線的收盤價做比較取較小值; b.其他信號執(zhí)行方式,BK信號當根指令價(根據(jù)效果測試計算機制計算得到)與收盤價比較,返回取值較小的值;BK信號以后K線的最低價與BK信號當根的返回值比較取較小值 例: C>BKLOW+5*MD,SP;//買開位置到當前的最低價上漲5個最小變動價位則平倉。 (4)加載到主圖:如果當前K線上出現(xiàn)bk(bpk)信號,返回當前bk(bpk)信號所在K線的收盤價,之后K線的最低價與當根k線的收盤價做比較取較小值。
BKVOL 模組信號多頭持倉模組信號多頭持倉 用法: BKVOL返回模組信號多頭持倉。 (1)效果測試中 a.信號執(zhí)行方式選擇K線走完確認信號下單或者出信號立即下單,K線走完復核: BK(BPK)信號出現(xiàn)的當根K線上,BKVOL取值不變,與上根K線上返回值保持一致; BK(BPK)信號的下根K線上,BKVOL的取值增加開倉手數(shù)的數(shù)值; SP(SPK)信號出現(xiàn)的當根K線上,BKVOL取值不變,與上根K線上返回值保持一致; SP(SPK)信號的下根K線上,BKVOL的取值減少平倉手數(shù)的數(shù)值; b.信號執(zhí)行方式選擇出信號立即下單,不進行復核: BK(BPK)信號出現(xiàn)的當根K線上,BKVOL取值增加開倉手數(shù)的數(shù)值; BK(BPK)信號的下根K線上,BKVOL的取值不變,與上根K線上返回值保持一致; SP(SPK)信號出現(xiàn)的當根K線上,BKVOL取值減少平倉手數(shù)的數(shù)值; SP(SPK)信號的下根K線上,BKVOL的取值不變,與上根K線上返回值保持一致; (2)模組運行中過濾模型初始化上一信號選擇買開,并且初始化進來多頭持倉為M,BKVOL返回值增加M,選擇上一信號為其他信號,BKVOL返回值為0 (3)模組運行中非過濾模型初始化上一信號選擇買開或者賣平,并且初始化進來多頭持倉為M,BKVOL返回值增加M,選擇上一信號為其他信號,BKVOL返回值為0 (4)模組運行過程中BK(BPK)信號出現(xiàn)并且確認固定后,BKVOL的取值增加開倉手數(shù)的數(shù)值;SP(SPK)信號出現(xiàn)并且確認固定后,BKVOL的取值減少平倉手數(shù)的數(shù)值 寫法示例: BKVOL=0&&C>O,BK(1);//多頭持倉為0并且收盤價大于開盤價時,買開一手 BKVOL>=1&&H>HV(H,5),BK(2); //多頭持倉大于等于1,并且當根K線的最高價大于前面5個周期中最高價中最大值時,加倉2手 BKVOL>0&&L<REF(L,5),SP(BKVOL); //多頭持倉大于0,并且當根K線的最低價小于5個周期前K線的最低價時,賣平所有多頭持倉 注: 1、含有此函數(shù)的模型不支持加載到主圖及信號預警盒子 2、與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用! CONDITION_ORDER 條件單模組關(guān)鍵字條件單模組關(guān)鍵字 用法: 編寫特殊的條件單模型 需要寫關(guān)鍵字“CONDITION_ORDER” 例: C>O,BK(1); CONDITION_ORDER;
FEE 合約手續(xù)費合約手續(xù)費
用法: FEE返回當前合約的手續(xù)費(用戶啟動模組時設(shè)置的)。 當交易品種手續(xù)費為按手數(shù)收取,返回值為手續(xù)費 當交易品種手續(xù)費按比例收取,返回值為手續(xù)費比例(小數(shù))。
注: 1、FEE為資金管理函數(shù),不能加載到主圖使用 2、效果測試中FEE取值為載入數(shù)據(jù)中,對手續(xù)費的設(shè)置 3、模組運行中FEE取值為模組加載中保證金參數(shù)中手續(xù)費的設(shè)置 (保證金參數(shù)中手續(xù)費的設(shè)置同樣作用于模組運行列表中對手續(xù)費成本的計算) 注意 1、不能與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等 2、本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用!
GROUPBKVOL 模型分組信號模組多頭持倉取模型分組后的模組多頭持倉。 用法: GROUPBKVOL('A')返回模型組A的多頭模組持倉。 參數(shù)可以取從A-I 注: 相應組的買開信號后,GROUPBKVOL('A')增加,即BK(‘A’),BPK(‘A’),BK(‘A’,1)后GROUPBKVOL('A')增加,其他組的開倉信號,GROUPBKVOL('A')取值不變 相應組的賣平信號后,GROUPBKVOL('A')取值相應的減少,即SP(‘A’),SPK(‘A’),SP(‘A’,1)后,GROUPBKVOL('A')取值減少,其他組的平倉信號后,GROUPBKVOL('A')取值不變 全清信號后,GROUPBKVOL('A')取值減為0 例: MA1:MA(C,5); C>MA1,BK(‘A’,1); C>O,BK(‘B’,1); GROUPBKVOL('A')>0&&C>REF(H,1),BK(‘A’,1);//A組多頭持倉大于0并且最新價大于前一周前最高價,再買開一手 C<MA1,SP(‘A’,GROUPBKVOL('A'));//最新價小于5日均線,賣平所有的A組的多頭持倉 C<O,SP(‘B’,GROUPBKVOL('B'));//陰線收陰線,賣平所有的B組多頭持倉 注意 1、與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差。2、本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用!
GROUPSKVOL 模型分組信號模組空頭持倉取模型分組后的模組空頭持倉。 用法: GROUPSKVOL('A')返回模型組A的空頭模組持倉。 參數(shù)可以取從A-I 注: 相應組的賣開信號后,GROUPSKVOL('A')增加,即SK(‘A’),SPK(‘A’),SK(‘A’,1)后GROUPSKVOL('A')增加,其他組的開倉信號,GROUPSKVOL('A')取值不變 相應組的買平信號后,GROUPSKVOL('A')取值減少,即BP(‘A’),BPK(‘A’),BP(‘A’,1)后,GROUPSKVOL('A')取值減少,其他組的平倉信號后,GROUPSKVOL('A')取值不變 全清信號后,GROUPBKVOL('A')取值減為0 例: MA1:MA(C,5); C<MA1,SK(‘A’,1); C<O,SK(‘B’,1); GROUPSKVOL('A')>0&&C<REF(L,1),SK(‘A’,1); //A組空頭持倉大于0并且最新價大于前一周前最高價,再賣開一手 C>MA1,BP(‘A’,GROUPSKVOL('A')); //最新價大于5日均線,買平所有的A組的空頭持倉 C>O,BP(‘B’,GROUPSKVOL('B')); //陰線收陽線,買平所有的B組空頭持倉 注意1、與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差。 2、本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用!
GROUPBKPRICE 分組指令中買開信號位置的買開信號價位模型分組指令中某組買開信號位置的買開信號價位。 用法: GROUPBKPRICE 返回分組指令中最近一次模型買開位置的買開信號價位。 寫法示例: C>O,BK('A'); BB:GROUPBKPRICE('A');//給BB賦值為A組指令中最近一次模型買開位置的買開信號價位。
GROUPSKPRICE 分組指令中賣開信號位置的賣開信號價位模型分組指令中某組賣開信號位置的賣開信號價位。 用法: GROUPSKPRICE 返回分組指令中最近一次模型賣開位置的賣開信號價位。 寫法示例: C<O,SK('B'); SS:GROUPSKPRICE('B');//給SS賦值為B組指令中最近一次模型賣開位置的賣開信號價位。
ISLASTCLOSEOUT 判斷上一個信號是否CLOSEOUT判斷上一個信號是否CLOSEOUT 。 用法: ISLASTCLOSEOUT 如果上一個交易信號是CLOSEOUT則返回1(Yes),否則返回0(No) (1)主圖加載,CLOSEOUT信號當根ISLASTCLOSEOUT返回值為0,CLOSEOUT信號的下根ISLASTCLOSEOUT返回值為1 (2)效果測試及模組運行 a.信號執(zhí)行方式選擇K線走完及K線走完進行信號復核,CLOSEOUT信號當根ISLASTCLOSEOUT返回值為0,CLOSEOUT信號的下根ISLASTCLOSEOUT返回值為1 b.信號執(zhí)行方式選擇不進行信號復核,CLOSEOUT信號當根ISLASTCLOSEOUT返回值為1
ISLASTBK 判斷上一個信號是否BK判斷上一個交易信號是否是BK。 用法: ISLASTBK 如果上一個交易信號是BK則返回1(Yes),否則返回0(No)
注:如果模型中含有BPK條件,且上一個信號為平倉信號時,BPK會自動轉(zhuǎn)化為BK信號發(fā)出,此時雖然滿足BPK條件,但圖中發(fā)出的信號為BK信號,所以ISLASTBK返回為1 (1)主圖加載,BK信號當根ISLASTBK返回值為0,BK信號的下根ISLASTBK返回值為1 (2)效果測試及模組運行 a.信號執(zhí)行方式選擇K線走完及K線走完進行信號復核,BK信號當根ISLASTBK返回值為0,BK信號的下根ISLASTBK返回值為1 b.信號執(zhí)行方式選擇不進行信號復核,BK信號當根ISLASTBK返回值為1
ISLASTSK 判斷上一個信號是否SK判斷上一個交易信號是否是SK。 用法: ISLASTSK 如果上一個交易信號是SK則返回1(Yes),否則返回0(No) 注:如果模型中含有SPK條件,且上一個信號為平倉信號時,SPK會自動轉(zhuǎn)化為SK信號發(fā)出,此時雖然滿足SPK條件,但圖中發(fā)出的信號為SK信號,所以ISLASTSK返回為1 (1)主圖加載,SK信號當根ISLASTSK返回值為0,SK信號的下根ISLASTSK返回值為1 (2)效果測試及模組運行 a.信號執(zhí)行方式選擇K線走完及K線走完進行信號復核,SK信號當根ISLASTSK返回值為0,SK信號的下根ISLASTSK返回值為1 b.信號執(zhí)行方式選擇不進行信號復核,SK信號當根ISLASTSK返回值為1
ISLASTBP 判斷上一個信號是否BP判斷上一個交易信號是否是BP。 用法: ISLASTBP 如果上一個交易信號是BP則返回1(Yes),否則返回0(No) (1)主圖加載,BP信號當根ISLASTBP返回值為0,BP信號的下根ISLASTBP返回值為1 (2)效果測試及模組運行 a.信號執(zhí)行方式選擇K線走完及K線走完進行信號復核,BP信號當根ISLASTBP返回值為0,BP信號的下根ISLASTBP返回值為1 b.信號執(zhí)行方式選擇不進行信號復核,BP信號當根ISLASTBP返回值為1
ISLASTSP 判斷上一個信號是否SP判斷上一個交易信號是否是SP。 用法: ISLASTSP 如果上一個交易信號是SP則返回1(Yes),否則返回0(No) (1)主圖加載,SP信號當根ISLASTSP返回值為0,SP信號的下根ISLASTSP返回值為1 (2)效果測試及模組運行 a.信號執(zhí)行方式選擇K線走完及K線走完進行信號復核,SP信號當根ISLASTSP返回值為0,SP信號的下根ISLASTSP返回值為1 b.信號執(zhí)行方式選擇不進行信號復核,SP信號當根ISLASTSP返回值為1
ISLASTBPK 判斷上一個信號是否BPK判斷上一個交易信號是否是BPK。 用法: ISLASTBPK 如果上一個交易信號是BPK則返回1(Yes),否則返回0(No) 注:如果模型中含有BPK條件,且上一個信號為平倉信號時,BPK會自動轉(zhuǎn)化為BK信號發(fā)出,此時雖然滿足BPK條件,但圖中發(fā)出的信號為BK信號,所以ISLASTBPK返回為0 (1)主圖加載,BPK信號當根ISLASTBPK返回值為0,BPK信號的下根ISLASTBPK返回值為1( 2)效果測試及模組運行 a.信號執(zhí)行方式選擇K線走完及K線走完進行信號復核,BPK信號當根ISLASTBPK返回值為0,BPK信號的下根ISLASTBPK返回值為1 b.信號執(zhí)行方式選擇不進行信號復核,BPK信號當根ISLASTBPK返回值為1
ISLASTSPK 判斷上一個信號是否SPK判斷上一個交易信號是否是SPK。 用法: ISLASTSPK 如果上一個交易信號是SPK則返回1(Yes),否則返回0(No) 注:如果模型中含有SPK條件,且上一個信號為平倉信號時,SPK會自動轉(zhuǎn)化為SK信號發(fā)出,此時雖然滿足SPK條件,但圖中發(fā)出的信號為SK信號,所以ISLASTSPK返回為0 (1)主圖加載,SPK信號當根ISLASTSPK返回值為0,SPK信號的下根ISLASTSPK返回值為1 (2)效果測試及模組運行 a.信號執(zhí)行方式選擇K線走完及K線走完進行信號復核,SPK信號當根ISLASTSPK返回值為0,SPK信號的下根ISLASTSPK返回值為1 b.信號執(zhí)行方式選擇不進行信號復核,SPK信號當根ISLASTSPK返回值為1
LASTSIG 判斷最近一個信號當前K線前的最近一個信號 用法: LASTSIG當前K線前的最近一個信號判斷。 例:AA:LASTSIG=BK;當前K線前最近一個信號為BK信號AA返回值為1,否則返回0. LASTSIG的不同返回值代表的信號: BK:200; SK:201; BP:202; SP:203; BPK:204; SPK:205; 注意 1、與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差。 2、本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用!
LONG_VOL 模組多頭可用持倉模組多頭可用持倉
用法: LONG_VOL取模組的多頭可用持倉。 該函數(shù)不支持效果測試,只能用于模組運行。 1、模型初始化多頭持倉,LONG_VOL取值為初始化多頭持倉數(shù)量 2、模型發(fā)出買開倉信號,并且成交,LONG_VOL取值增加相應的成交數(shù)量,開倉委托掛單,LONG_VOL不變 3、模型發(fā)出賣平倉信號,LONG_VOL取值減少相應的數(shù)量,即使平倉委托掛單,LONG_VOL取值也會發(fā)生相應的變化
例: A,SP(LONG_VOL/2); //滿足條件A賣平模組多頭持倉的1/2。
LONG_PRICE 模組多頭持倉開倉均價模組多頭持倉開倉均價
用法: 該函數(shù)不支持效果測試,只能用于模組運行。 1、初始化持倉,LONG_PRICE取值為初始化時該合約的持倉均價,若模型自動初始化,取值為最近的買開指令的指令價;若模型手動初始化,取值為初始化彈出框中的開倉價格(默認填寫上一個買開信號的指令價) 2、模組運行過程中,LONG_PRICE取值為多頭持倉開倉均價,根據(jù)成交價計算得到若BK信號發(fā)出后形成掛單,LONG_PRICE取值為0
例: CLOSE-LONG_PRICE>60 && LONG_PRICE >0 && BKVOL>0, SP;//如果當前價位比多頭持倉均價高出60,且多頭持倉存在,賣平倉。
MONO_SIGNAL 限制信號模型寫該函數(shù)模型一根K線上只支持一個信號,一根K線上信號固定后不會再出其他信號。沒寫該函數(shù)默認模型支持一根K線多個信號。 非過濾模型寫該函數(shù)支持同一指令行連續(xù)發(fā);不寫該函數(shù)同一根K線上、不同根K線上同一指令行均不可連續(xù)發(fā)用法: 過濾模型、非過濾模型、公式條件單模型,如果要實現(xiàn)一根K線上只有一個信號的效果,需要編寫中加入MONO_SIGNAL函數(shù)。 加入MONO_SIGNAL函數(shù)限制的是一根K線上存在的信號個數(shù),一根K線上只能有一個信號;不限制信號忽閃的次數(shù) 例: 1、 CLOSE>OPEN,BPK; CLOSE<OPEN,SPK; AUTOFILTER; MONO_SIGNAL; 編寫了MONO_SIGNAL的過濾模型,一根K線上只支持一個信號 當根K線上滿足了CLOSE>OPEN并且BPK發(fā)出,并且已經(jīng)確認固定,當根K線后續(xù)又滿足了CLOSE<OPEN的條件也不會再發(fā)出SPK信號,需要等到下根K線再查找滿足條件的信號 2、 CLOSE>OPEN,BK(1); CLOSE<OPEN,SP(1); MONO_SIGNAL; (1)編寫了MONO_SIGNAL的非過濾模型,一根K線上只支持一個信號,例如當根K線上滿足了CLOSE>OPEN并且BK信號已經(jīng)確認固定,即使當根K線后續(xù)又滿足了CLOSE<OPEN的條件也不會再發(fā)出SP信號,需要等到下根K線再查找滿足條件的信號 (2)編寫了MONO_SIGNAL的非過濾模型,支持同一指令行連續(xù)發(fā),即當根K線滿足CLOSE>OPEN,發(fā)出BK信號,下根K線又滿足CLOSE>OPEN的條件,可以繼續(xù)發(fā)出BK信號 3、 CLOSE>OPEN,BK(1); CONDITION_ORDER; MONO_SIGNAL; 編寫了MONO_SIGNAL的公式條件模型,一根K線上只支持一個信號,且每個指令行只執(zhí)行一次,全部指令行執(zhí)行完畢后模型自動停止 注意:不編寫MONO_SIGNAL函數(shù),要實現(xiàn)多信號的模型: (1)在模組加載中需要選擇出信號立即下單,不進行信號復核、出信號N秒確認下單,不進行信號復核、K線走完前N秒確認信號下單,不進行復核這三個選項,信號發(fā)出并且為穩(wěn)定信號時查找下一個滿足條件的信號 (2)效果測試需要選擇出信號立即下單,不進行復核 MYVOL 讀取下單手數(shù)取模組界面中的下單手數(shù)。 用法: 模組加載過程中,非過濾模型當下單手數(shù)設(shè)置為3時,BK(2*MYVOL)實現(xiàn)的效果為BK(6)。 例: C>O,BK(3*MYVOL); C<O,SP(BKVOL);
MARGIN 合約保證金合約保證金
用法:MARGIN返回當前合約的保證金比率(用戶啟動模組時設(shè)置的)。 注意 1、不能與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等 2、本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用!
MONEYRATIO 資金使用率資金使用率 用法: MONEYRATIO返回當前的模組資金的使用率。 注意不能與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用! MONEYTOT 模組權(quán)益模組權(quán)益用法: MONEYTOT返回當前模組權(quán)益(模組可用資金+持倉占用的保證金+浮動盈虧)。 注: 1、持倉占用的保證金=持倉均價*保證金比例*交易單位*手數(shù) 2、注意不能與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等 3、本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用! MONEY 模組資金余額模組資金余額 用法: MONEY返回模組資金余額。 開倉信號:初始資金-持倉占用的保證金(持倉占用的保證金=持倉均價*保證金比例*交易單位*手數(shù)) 平倉信號:上一周期可用資金+平倉盈虧+平倉釋放的保證金(平倉盈虧=(平倉信號的指令價-持倉均價)*手數(shù)*交易單位;平倉釋放的保證金=持倉均價*保證金比例*交易單位*手數(shù))注:持倉均價的計算
(1)初始化的持倉,如果為自動初始化,持倉均價為指令價;如果為手動初始化,持倉均價為初始化框中顯示的持倉均價(默認顯示上一信號指令價)
(2)模組運行過程中
a.信號執(zhí)行方式為:K線走完確認信號下單或K線走完進行信號復核,持倉均價為開倉信號當根的收盤價
b.信號執(zhí)行方式為:不進行信號復核,持倉均價為開倉信號當根的指令價
c.非過濾模型加倉后,持倉均價為收盤價或指令價的均值
(3)效果測試中
a.信號執(zhí)行方式為:K線走完確認信號下單,持倉均價為開倉信號當根的收盤價
b.信號執(zhí)行方式為:不進行信號復核或K線走完進行信號復核,持倉均價為開倉信號當根的指令價
c.非過濾模型加倉后,持倉均價為收盤價或指令價的均值
說明:
1、模組運行過程中具體的取值
(1)歷史信號,MONEY返回值根據(jù)模組起始資金計算
(2)模組初始化持倉后MONEY返回值為初始化框中模組可用資金
(3)模組運行過程中
信號執(zhí)行方式選擇,K線走完或K線走完復核:
a.開倉信號當根,MONEY返回值與上一周期保持不變
b.開倉信號之后,未出現(xiàn)平倉信號時MONEY返回值為開倉信號當根的可用資金-開倉占用的保證金
c.平倉信號當根,MONEY返回值與上一周期保持一致
d.平倉信號持倉為0之后,MONEY返回值為上一周期的可用資金+平倉盈虧+持倉釋放的保證金
注:平倉盈虧=(平倉信號的收盤價-持倉均價)*手數(shù)*交易單位
信號執(zhí)行方式選擇,不進行信號復核:
a.開倉信號當根,MONEY返回值為上一周期的可用資金-開倉占用的保證金
b.開倉信號之后,未出現(xiàn)平倉信號時MONEY返回值與開倉信號當根保持一致
c.平倉信號當根,持倉減為0,MONEY返回值上一周期的可用資金+平倉盈虧+持倉釋放的保證金
注:平倉盈虧=(平倉信號的指令價-持倉均價)*手數(shù)*交易單位
2、效果測試中具體的取值
信號執(zhí)行方式選擇,K線走完或K線走完復核:
a.開倉信號當根,MONEY返回值與上一周期保持不變
b.開倉信號之后,未出現(xiàn)平倉信號時MONEY返回值為開倉信號當根的可用資金-開倉占用的保證金
c.平倉信號當根,MONEY返回值與上一周期保持一致
d.平倉信號持倉為0之后,MONEY返回值為上一周期的可用資金+平倉盈虧+持倉釋放的保證金
注:信號執(zhí)行方式選擇K線走完確認信號下單時,平倉盈虧=(平倉信號的收盤價-持倉均價)*手數(shù)*交易單位;信號執(zhí)行方式選擇出信號立即下單,K線走完復核時,平倉盈虧=(平倉信號的指令價-持倉均價)*手數(shù)*交易單位
信號執(zhí)行方式選擇,不進行信號復核:
a.開倉信號當根,MONEY返回值為上一周期的可用資金-開倉占用的保證金
b.開倉信號之后,未出現(xiàn)平倉信號時MONEY返回值與開倉信號當根保持一致
c.平倉信號當根,持倉減為0,MONEY返回值上一周期的可用資金+平倉盈虧+持倉釋放的保證金
注:平倉盈虧=(平倉信號的指令價-持倉均價)*手數(shù)*交易單位
(1)如果為非過濾模型,減倉信號后(即平倉信號出現(xiàn),持倉減為0),MONEY計算公式中,持倉均價不變,手數(shù)減少。
(2)MONEY為資金管理函數(shù),不支持主圖加載
(3)與未來函數(shù)等函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差
(4)本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用! OFFSETPROFIT 當前模組平倉盈虧返回當前模組的平倉盈虧。注: 1、OFFSETPROFIT為資金管理函數(shù),不能加載到主圖使用 2、效果測試: (1)OFFSETPROFIT返回的為效果測試中累計的平倉 (2)若信號執(zhí)行方式選擇為K線走完確認信號下單,則OFFSETPROFIT根據(jù)信號的收盤價(或開盤價)計算平倉盈虧,與交易明細中平倉盈虧的計算一致 (3)若信號執(zhí)行方式選擇的為出信號立即下單,K線走完復核,則OFFSETPROFIT根據(jù)信號指令價計算平倉盈虧,但是返回的平倉盈虧中未計算信號消失成本 (4)若信號執(zhí)行方式選擇為出信號立即下單不進行復核,則OFFSETPROFIT根據(jù)信號指令價計算平倉盈虧,與交易明細中平倉盈虧的計算一致 3、模組運行: (1)模組歷史信號中的平倉盈虧根據(jù)效果測試計算的累加值 (2)模組初始化后,OFFSETPROFIT重新計算,從模組加載時刻開始計算平倉盈虧 (3)若信號執(zhí)行方式選擇為K線走完確認信號下單或K線走完復核,則OFFSETPROFIT根據(jù)信號的收盤價計算平倉盈虧(日志中記錄的平倉盈虧根據(jù)成交價計算,兩者計算機制不同),本次交易的平倉盈虧再下一根K線統(tǒng)計累加至OFFSETPROFIT (4)若信號執(zhí)行方式選擇為不進行信號復核,則OFFSETPROFIT根據(jù)信號確認時行情的最新價計算平倉盈虧,本次交易的平倉盈虧即時統(tǒng)計累加至OFFSETPROFIT 4、OFFSETPROFIT的計算不包含手續(xù)費 例: OFFSETPROFIT>-5000&&C>O,BK; //平倉盈虧大于-5000,并且當前K線為陽線時,買開 PROFIT 模組逐筆浮盈模組逐筆浮盈
用法: PROFIT返回當前的模組逐筆浮動盈虧。 (最新價-持倉均價)*手數(shù)*交易單位
注:持倉均價的計算 (1)初始化的持倉,如果為自動初始化,持倉均價為指令價;如果為手動初始化,持倉均價為初始化框中顯示的持倉均價(默認顯示上一信號指令價) (2)模組運行過程中 a.信號執(zhí)行方式為:K線走完確認信號下單或K線走完進行信號復核,持倉均價為開倉信號當根的收盤價 b.信號執(zhí)行方式為:不進行信號復核,持倉均價為開倉信號當根的指令價 c.非過濾模型加倉后,持倉均價為收盤價或指令價的均值 (3)效果測試中 a.信號執(zhí)行方式為:K線走完確認信號下單,持倉均價為開倉信號當根的收盤價 b.信號執(zhí)行方式為:不進行信號復核或K線走完進行信號復核,持倉均價為開倉信號當根的指令價 c.非過濾模型加倉后,持倉均價為收盤價或指令價的均值 說明: 1、模組運行過程中具體的取值 (1)歷史信號,PROFIT返回值根據(jù)效果測試計算得到 (2)模組初始化持倉后PROFIT返回值為(最新價-持倉均價)*手數(shù)*交易單位 (3)模組運行過程中 信號執(zhí)行方式選擇,K線走完或K線走完復核: a.開倉信號當根,PROFIT返回值為0 b.開倉信號之后,未出現(xiàn)平倉信號時PROFIT返回值為(最新價-持倉均價)*手數(shù)*交易單位 c.平倉信號當根,PROFIT返回值為(最新價-持倉均價)*手數(shù)*交易單位 d.平倉信號持倉為0之后,PROFIT返回值為0 信號執(zhí)行方式選擇,不進行信號復核: a.開倉信號當根,PROFIT返回值為(最新價-持倉均價)*手數(shù)*交易單位,盤中PROFIT返回值會根據(jù)最新價實時變動,K線走完返回值為(收盤價價-持倉均價)*手數(shù)*交易單位 b.開倉信號之后,未出現(xiàn)平倉信號時PROFIT返回值為(最新價-持倉均價)*手數(shù)*交易單位 c.平倉信號當根,持倉減為0,PROFIT返回值為0 2、效果測試中具體的取值 信號執(zhí)行方式選擇,K線走完或K線走完復核: a.開倉信號當根,PROFIT返回值為0 b.開倉信號之后,未出現(xiàn)平倉信號時PROFIT返回值為(收盤價-持倉均價)*手數(shù)*交易單位 c.平倉信號當根,PROFIT返回值為(收盤價-持倉均價)*手數(shù)*交易單位 d.平倉信號持倉為0之后,PROFIT返回值為0 注:信號執(zhí)行方式選擇K線走完確認信號下單時,持倉均價為收盤價;信號執(zhí)行方式選擇出信號立即下單,K線走完復核時,持倉均價為指令價 信號執(zhí)行方式選擇,不進行信號復核: a.開倉信號當根,PROFIT返回值為(收盤價-持倉均價)*手數(shù)*交易單位 b.開倉信號之后,未出現(xiàn)平倉信號時PROFIT返回值為(收盤價-持倉均價)*手數(shù)*交易單位 c.平倉信號當根,持倉減為0,PROFIT返回值為0
注: (1)如果為非過濾模型,減倉信號后(即平倉信號出現(xiàn),持倉為減為0),PROFIT計算公式中,持倉均價不變,手數(shù)減少。 (2)PROFIT為資金管理函數(shù),不支持主圖加載 (3)不能與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等 (4)本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用!
SETDEALPERCENT 設(shè)置下單的模組資金使用比例設(shè)置模型下單用的模組資金比例,以后每次下單都按模組資金的比例下單。
用法: 1、SETDEALPERCENT(fPercent)表示每次按資金的fPercent(范圍1~100)下單。 (1)SETDEALPERCENT為資金管理函數(shù),不能加載到主圖 (2)效果測試根據(jù)效果測試中設(shè)置的資金、保證金計算下單手數(shù) (3)模組運行中 如果初始化進來倉位,則根據(jù)初始資金+初始化持倉釋放為可用資金計算下單手數(shù) 如果初始化倉位為0,則根據(jù)初始資金為可用資金計算下單手數(shù) (4)fPercent不可以為變量 2、SETDEALPERCENT下單手數(shù)計算公式為 (可用資金+平倉釋放的保證金+平倉盈虧)*資金比例/(最新價*保證金比例*交易單位) 3、SETDEALPERCENT計算下單手數(shù)非整數(shù)時,遵循自動向下取整的規(guī)則,即:若根據(jù)公式計算下單手數(shù)為12.9手,則實際按照12手下單;計算手數(shù)小于1,不進行開倉操作 3、SETDEALPERCENT只作用于開倉指令,不作用于平倉指令 過濾模型中平倉指令平掉模組所有持倉;非過濾模型中根據(jù)平倉根據(jù)指令后面編寫的手數(shù)平倉
例子:SETDEALPERCENT(20); //每次按資金比例的20%下單
SETSIGPRICETYPE 不同的信號設(shè)置不同的價格方式不同的信號設(shè)置不同的價格方式。用法: 1:SIG:信號類型(BK SK BP SP BPK SPK COLSEOUT) 2、PRICE(價格) PASSIVE_ORDER 排隊價 ACTIVE_ORDER 對價 TRACING_ORDER 自動連續(xù)追價 CMPETITV_ORDER 超價 LIMIT_ORDER 市價 SIGPRICE_ORDER 指令價 SIGIMPROVED_ORDER 指令超價 注:如果指令在模型中編寫了委托價格方式,以模組編寫中為準;若模型編寫中未設(shè)置該指令委托價格方式,以模組中設(shè)置為準 例: C>O,BK; C<O,SK; C>O,BP; C<O,SP; SETSIGPRICETYPE(BK,SIGPRICE_ORDER);//買開的委托以指令價委托 SETSIGPRICETYPE(SK,SIGPRICE_ORDER);//賣開的委托以指令價委托 SETSIGPRICETYPE(BP,TRACING_ORDER);//買平的委托以自動連續(xù)追價委托 SETSIGPRICETYPE(SP,TRACING_ORDER);//賣平的委托以自動連續(xù)追價委托 AUTOFILTER; MONO_SIGNAL; SETSIGMAXNUM 設(shè)置一根K線最大信號個數(shù)設(shè)置一根K線最大信號個數(shù)。用法: 1、N為參數(shù),可以為常量或變量 2、該函數(shù)作用于信號執(zhí)行方式選擇為“不進行信號復核”的模型 3、如果模型中寫了MONO_SIGNAL函數(shù),SETSIGMAXNUM(N)的設(shè)置不起作用,仍然按照一根K線最多出現(xiàn)一個信號執(zhí)行 例: AA:HHV(H,20),COLORRED; BB:LLV(L,20),COLORCYAN; CROSS(H,REF(AA,1)),BK; CROSS(REF(BB,1),L),SK; CROSS(H,REF(AA,1)),BP; CROSS(REF(BB,1),L),SP; SETSIGMAXNUM(2); AUTOFILTER; //一根K線上最多出現(xiàn)兩個信號 SKPRICE 賣開信號位置的賣開信號價位模型賣開信號位置的賣開信號價位。用法: SKPRICE返回最近一次模型賣開位置的賣開信號價位。 (1)當模型存在連續(xù)多個開倉信號(加倉)的情況下,該函數(shù)返回的是最后一次開倉信號的價格,而不是開倉均價。 (2)模組運行環(huán)境,返回的是SK(SPK)信號發(fā)出時的行情的最新價(可以與模組運行界面中“信號記錄”中的SK(SPK)信號對應的“當時最新價”比較)。SK信號發(fā)出并且已經(jīng)確認固定后,SKPRICE的值更新為信號發(fā)出時的行情的最新價 注意: a.信號執(zhí)行方式選擇為不進行信號復核或K線走完確認信號下單,則SK委托的時SKPRICE的值更新為信號發(fā)出時的行情的最新價; b.信號執(zhí)行方式選擇為K線走完進行信號復核,則SK信號委托時SKPRICE返回的還是上一次BK信號發(fā)出時的行情的最新價;K線走完復核信號確認存在,SKPRICE返回本次SK信號發(fā)出時行情的最新價 (3)模組運行環(huán)境歷史信號取值,返回出信號那根k線的指令價。 注意: a.信號執(zhí)行方式選擇為不進行信號復核,歷史信號清空,所以SKPRICE沒有歷史信號取值 b.不帶AUTOFILTER的非過濾模型,歷史信號清空,所以SKPRICE沒有歷史信號取值 (4)含有SKPRICE的模型,模組自動初始化時返回的為上一次賣開信號的指令價;手動初始化,如果上一個信號為賣開,SKPRICE返回為初始化彈出框中填入的價格(默認填入上一次賣開信號位置的指令價) (5)效果預覽環(huán)境,信號執(zhí)行方式選擇K線走完確認信號下單,返回的是出信號那根k線的收盤價;信號執(zhí)行方式選擇出信號立即下單,K線走完復核或者出信號立即下單不進行復核,返回指令價。 (6)主圖加載運行,SKPRICE返回的賣開信號當根的收盤價 寫法示例: CLOSE-SKPRICE>60 && SKPRICE>0 && SKVOL>0, BP;//如果賣開價位比當前價位低出60,且空頭持倉存在,買平倉。 SKPRICE1 模組中交易合約的賣開信號位置的賣開信號價位SKPRICE 模組中交易合約的賣開信號位置的賣開信號價位。 用法: (1)當數(shù)據(jù)合約和交易合約相同時SKPRICE1值和SKPRICE值相等。 (2)當交易合約另外指定時SKPRICE1歷史數(shù)據(jù)值與SKPRICE值相等取數(shù)據(jù)合約價格,盤中SKPRICE取數(shù)據(jù)合約的價格,SKPRICE1取交易合約價格。 (3)當模型自動初始化時,SKPRICE1取最近的SK信號計算的數(shù)據(jù)合約的指令價;手動初始化時,SKPRICE1取初始化彈出框中填入的持倉價格(默認為賣開信號的指令價)
SKHIGH 賣開倉以來的最高價賣開倉以來的最高價 用法: SKHIGH返回最近一次模型賣開位置到當前的最高價. (1)模組運行環(huán)境,返回SK(SPK)指令發(fā)出后到當前的最高價; a.K線走完確認信號下單,BK(BPK)信號當根K線返回的為信號發(fā)出時行情的最新價(即下根K線的開盤價);SK之后的K線返回委托以來的行情的最高價 b.信號執(zhí)行方式選擇K線走完復核,從SK(SPK)信號發(fā)出時行情時開始統(tǒng)計行情的最高價;如果信號消失,返回上次賣開以來的行情的最高價,如果信號確認存在,返回當根K線記錄的行情的最高價 注:如果SK信號發(fā)出后,中間出了信號消失,從最后一次信號出現(xiàn)開始統(tǒng)計最高價 c.信號執(zhí)行方式選擇不進行信號復核,SK(SPK)信號的當根K線返回的從信號發(fā)出到K線走完時行情的最高價;SK(SPK)信號之后的K線返回信號發(fā)出以來行情的最高價 (2)加載模型時歷史數(shù)據(jù): a.K線走完確認信號下單,如果當前K線上出現(xiàn)SK(SPK)信號,返回當前SK(SPK)信號所在K線的收盤價,之后K線的最高價與當根k線的收盤價做比較取較大值; b.其他信號執(zhí)行方式,SK信號當根指令價(根據(jù)效果測試計算機制計算得到)與收盤價比較,返回取值較大的值;SK信號以后的K線的最高價與SK信號當根的返回值比較取較大值 (3)效果測試中: a.K線走完確認信號下單,如果當前K線上出現(xiàn)SK(SPK)信號,返回當前SK(SPK)信號所在K線的收盤價,之后的K線的最高價與當根k線的收盤價做比較取較大值; b.其他信號執(zhí)行方式,SK信號當根指令價(根據(jù)效果測試計算機制計算得到)與收盤價比較,返回取值較大的值;SK信號以后K線的最高價與SK信號當根的返回值比較取較大值 例: C<SKHIGH-5*MD,BP;//賣開位置到當前的最高價回撤5個最小變動價位則平倉。 (4)加載到主圖:如果當前K線上出現(xiàn)SK(SPK)信號,返回當前SK(SPK)信號所在K線的收盤價,之后K線的最高價與當根k線的收盤價做比較取較大值;
SKLOW 賣開倉以來的最低價賣開倉以來的最低價 用法: SKLOW返回最近一次模型賣開位置到當前的最低價. (1)模組運行環(huán)境,返回SK(SPK)指令發(fā)出后到當前的最低價; a.K線走完確認信號下單,BK(BPK)信號當根K線返回的為信號發(fā)出時行情的最新價(即下根K線的開盤價);SK之后的K線返回委托以來的行情的最低價 b.信號執(zhí)行方式選擇K線走完復核,從SK(SPK)信號發(fā)出時行情時開始統(tǒng)計行情的最低價;如果信號消失,返回上次賣開以來的行情的最低價,如果信號確認存在,返回當根K線記錄的行情的最低價 注:如果SK信號發(fā)出后,中間出了信號消失,從最后一次信號出現(xiàn)開始統(tǒng)計最低價 c.信號執(zhí)行方式選擇不進行信號復核,SK(SPK)信號的當根K線返回的從信號發(fā)出到K線走完時行情的最低價;SK(SPK)信號之后的K線返回信號發(fā)出以來行情的最低價 (2)加載模型時歷史數(shù)據(jù): a.K線走完確認信號下單,如果當前K線上出現(xiàn)SK(SPK)信號,返回當前SK(SPK)信號所在K線的收盤價,之后K線的最低價與當根k線的收盤價做比較取較小值; b.其他信號執(zhí)行方式,SK信號當根指令價(根據(jù)效果測試計算機制計算得到)與收盤價比較,返回取值較小的值;SK信號以后的K線的最低價與SK信號當根的返回值比較取較小值 (3)效果測試中: a.K線走完確認信號下單,如果當前K線上出現(xiàn)SK(SPK)信號,返回當前SK(SPK)信號所在K線的收盤價,之后K線的最低價與當根k線的收盤價做比較取較小值; b.其他信號執(zhí)行方式,SK信號當根指令價(根據(jù)效果測試計算機制計算得到)與收盤價比較,返回取值較小的值;SK信號以后K線的最低價與SK信號當根的返回值比較取較小值 例: C>SKLOW+5*MD,BP;//賣開位置到當前的最低價回撤5個最小變動價位則平倉。 (4)加載到主圖:如果當前K線上出現(xiàn)SK(SPK)信號,返回當前SK(SPK)信號所在K線的收盤價,之后K線的最低價與當根k線的收盤價做比較取較小值。
SKVOL 模組信號空頭持倉用法: SKVOL返回模組信號空頭持倉。 (1)效果測試中 a.信號執(zhí)行方式選擇K線走完確認信號下單或者出信號立即下單,K線走完復核: SK(SPK)信號出現(xiàn)的當根K線上,SKVOL取值不變,與上根K線上返回值保持一致; SK(SPK)信號的下根K線上,SKVOL的取值增加開倉手數(shù)的數(shù)值; BP(BPK)信號出現(xiàn)的當根K線上,SKVOL取值不變,與上根K線上返回值保持一致; BP(BPK)信號的下根K線上,SKVOL的取值減少平倉手數(shù)的數(shù)值; b.信號執(zhí)行方式選擇出信號立即下單,不進行復核: SK(SPK)信號出現(xiàn)的當根K線上,SKVOL取值增加開倉手數(shù)的數(shù)值; SK(SPK)信號的下根K線上,SKVOL的取值不變,與上根K線上返回值保持一致; BP(BPK)信號出現(xiàn)的當根K線上,SKVOL取值減少平倉手數(shù)的數(shù)值; BP(BPK)信號的下根K線上,SKVOL的取值不變,與上根K線上返回值保持一致; (2)模組運行中過濾模型初始化上一信號選擇賣開,并且初始化進來空頭持倉為M,SKVOL返回值增加M,選擇上一信號為其他信號,SKVOL返回值為0 (3)模組運行中非過濾模型初始化上一信號選擇賣開或者買平,并且初始化進來空頭持倉為M,SKVOL返回值增加M,選擇上一信號為其他信號,SKVOL返回值為0 (4)模組運行過程中SK(SPK)信號出現(xiàn)并且確認固定后,SKVOL的取值增加開倉手數(shù)的數(shù)值;BP(BPK)信號出現(xiàn)并且確認固定后,SKVOL的取值減少平倉手數(shù)的數(shù)值 寫法示例: SKVOL=0&&C<O,SK(1);//空頭持倉為0并且收盤價小于開盤價時,賣開一手 SKVOL>=1&&L>LV(L,5),SK(2); //空頭持倉大于等于1,并且當根K線的最低價小于前面5個周期中最低價中最小值時,加倉2手 SKVOL>0&&H<REF(H,5),BP(SKVOL); //空頭持倉大于0,并且當根K線的最高價大于5個周期前K線的最高價時,買平所有空頭持倉 注: 1、含有此函數(shù)的模型不支持加載到主圖及信號預警盒子 2、與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能會導致誤差本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用! SHORT_VOL 模組空頭可用持倉模組空頭可用持倉
用法: SHORT_VOL取模組的空頭可用持倉。 該函數(shù)不支持效果測試,只能用于模組運行。 1、模型初始化空頭持倉,SHORT_VOL取值為初始化空頭持倉數(shù)量 2、模型發(fā)出賣開倉信號,并且成交,SHORT_VOL取值增加相應的成交數(shù)量,開倉委托掛單,SHORT_VOL不變 3、模型發(fā)出買平倉信號,SHORT_VOL取值減少相應的數(shù)量,即使平倉委托掛單,SHORT_VOL取值也會發(fā)生相應的變化
例: B,BP(SHORT_VOL/2); //滿足條件B買平模組空頭持倉的1/2。
SHORT_PRICE 模組空頭開倉均價取模組空頭持倉開倉均價 該函數(shù)不支持效果測試,只能用于模組運行。 用法: 1、初始化持倉,SHORT_PRICE取值為初始化時該合約的持倉均價,若模型自動初始化,取值為最近的賣開指令的指令價;若模型手動初始化,取值為初始化彈出框中持倉價格(默認填寫上一個賣開信號的指令價) 2、模組運行過程中,SHORT_PRICE取值為空頭持倉開倉均價,根據(jù)成交價計算得到若SK信號發(fā)出后形成掛單,SHORT_PRICE取值為0 示例: SHORT_PRICE-CLOSE>60 && SHORT_PRICE>0 && SKVOL>0, BP;//如果空頭持倉均價比當前價位高出60,且空頭持倉存在,買平倉。
UNITLIMIT 取交易合約限制擁有持倉數(shù)取交易合約的限制擁有持倉數(shù),自動取交易合約的限制擁有持倉數(shù),取不到時返回100000 用法: UNITLIMIT表示自動取交易合約的限制擁有持倉數(shù),取不到時返回100000(如指數(shù)合約)例子:(BKVOL+1)<=UNITLIMIT&&C>O,BK(1);//多頭持倉再增加一手仍然小于交易合約的限制擁有的持倉數(shù),并且滿足收盤價大于開盤價的開倉條件時,買開一手。 VOLMARGIN 持倉保證金持倉保證金
用法: VOLMARGIN計算當前的持倉保證金。 注:該保證金為動態(tài)的保證金 (1)VOLMARGIN為資金管理函數(shù),不能加載到主圖 (2)效果測試 信號執(zhí)行方式選擇K線走完確認信號下單或出信號立即下單,K線走完進行信號復核: a.開倉信號當根VOLMARGIN返回值不變 b.無信號有持倉K線VOLMARGIN返回值為:當根K線的收盤價*交易單位*手數(shù)*保證金比例(效果測試中設(shè)置的保證金) c.平倉信號當根VOLMARGIN返回值不變 d.無信號無持倉K線VOLMARGIN返回值為0 信號執(zhí)行方式選擇出信號立即下單,不進行復核 a.開倉信號當根VOLMARGIN返回值為:當根K線的收盤價*交易單位*手數(shù)*保證金比例(效果測試中設(shè)置的保證金) b.有持倉K線VOLMARGIN返回值為:當根K線的收盤價*交易單位*保證金比例*手數(shù)(效果測試中設(shè)置的保證金) c.無持倉K線VOLMARGIN返回值為0 (3)模組運行 a.歷史信號返回值,根據(jù)效果測試計算得到 b.盤中運行,模組理論持倉大于0時,VOLMARGIN返回值為:最新價(若K線走完則為收盤價)*交易單位*手數(shù)*保證金比例(模組保證金參數(shù)中設(shè)置的保證金);模組理論持倉為0時,VOLMARGIN返回值為0
注: 1、模組中手動干預可影響理論持倉,故作用于VOLMARGIN的返回值 2、不能與未來函數(shù)同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等 3、本函數(shù)運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用
|