[原創]下單組件問題
作者:文華財經 來源:cxh99.com 發布時間:2015年01月16日
- 咨詢內容:
我寫的組件結構是
IF(F_FreshSig()==1 && F_SigValid()==1) {......}ELSE IF(F_FreshSig()==0) {.......}如果我在F_FreshSig()==0狀態下加入一個止損,比如判斷持倉盈虧A,if A<-2000, bp or sp 這樣的話,平倉以后會對加載信號有影響么?我是想達到這樣一個效果:用組件來判斷賬戶盈虧,如果浮動虧損超過一定金額就平倉,但是不能影響主圖信號,就是說,當前是BPK,那么我止損賣平以后,下一個信號SPK出來的時候我依然是繼續開空倉。
- 文華技術人員:
因為我是走完K線下單,所以把止損條件寫入策略的話,在急速行情狀況下很難達到止損要求。
- 文華客服:
你的想法是K線走完再進行開倉,浮贏止損則立即平倉嗎?
- 網友回復:
對的 因為組件的話,開倉是K先走完那一刻是新信號。但是過了那一刻,就是無信號狀態,那么只要組件抓取到當前倉位虧損超過A我就發平倉指令出去。
- 網友回復:
你的問題沒有必要使用下單組件就能解決,可以選擇出信號立即下單不進行信號復核,將模型改為以下形式
REF(開倉條件,1),BK;REF(平倉條件,1),SP;//前一根K線滿足條件發出信號
PROFIT<-2000,SP;//滿足條件立即發出信號
PROFIT模組逐筆浮盈 用法:PROFIT返回當前的模組逐筆浮動盈虧。(最新價-持倉均價)*手數*交易單位 注:持倉均價的計算(1)初始化的持倉,如果為自動初始化,持倉均價為指令價;如果為手動初始化,持倉均價為初始化框中顯示的持倉均價(默認顯示上一信號指令價)(2)模組運行過程中a.信號執行方式為:K線走完確認信號下單或K線走完進行信號復核,持倉均價為開倉信號當根的收盤價b.信號執行方式為:不進行信號復核,持倉均價為開倉信號當根的指令價c.非過濾模型加倉后,持倉均價為收盤價或指令價的均值(3)效果測試中a.信號執行方式為:K線走完確認信號下單,持倉均價為開倉信號當根的收盤價b.信號執行方式為:不進行信號復核或K線走完進行信號復核,持倉均價為開倉信號當根的指令價c.非過濾模型加倉后,持倉均價為收盤價或指令價的均值說明:1、模組運行過程中具體的取值(1)歷史信號,PROFIT返回值根據效果測試計算得到(2)模組初始化持倉后PROFIT返回值為(最新價-持倉均價)*手數*交易單位(3)模組運行過程中信號執行方式選擇,K線走完或K線走完復核:a.開倉信號當根,PROFIT返回值為0b.開倉信號之后,未出現平倉信號時PROFIT返回值為(最新價-持倉均價)*手數*交易單位c.平倉信號當根,PROFIT返回值為(最新價-持倉均價)*手數*交易單位d.平倉信號持倉為0之后,PROFIT返回值為0信號執行方式選擇,不進行信號復核:a.開倉信號當根,PROFIT返回值為(最新價-持倉均價)*手數*交易單位,盤中PROFIT返回值會根據最新價實時變動,K線走完返回值為(收盤價價-持倉均價)*手數*交易單位b.開倉信號之后,未出現平倉信號時PROFIT返回值為(最新價-持倉均價)*手數*交易單位c.平倉信號當根,持倉減為0,PROFIT返回值為02、效果測試中具體的取值信號執行方式選擇,K線走完或K線走完復核:a.開倉信號當根,PROFIT返回值為0b.開倉信號之后,未出現平倉信號時PROFIT返回值為(收盤價-持倉均價)*手數*交易單位c.平倉信號當根,PROFIT返回值為(收盤價-持倉均價)*手數*交易單位d.平倉信號持倉為0之后,PROFIT返回值為0注:信號執行方式選擇K線走完確認信號下單時,持倉均價為收盤價;信號執行方式選擇出信號立即下單,K線走完復核時,持倉均價為指令價信號執行方式選擇,不進行信號復核:a.開倉信號當根,PROFIT返回值為(收盤價-持倉均價)*手數*交易單位b.開倉信號之后,未出現平倉信號時PROFIT返回值為(收盤價-持倉均價)*手數*交易單位c.平倉信號當根,持倉減為0,PROFIT返回值為0 注:(1)如果為非過濾模型,減倉信號后(即平倉信號出現,持倉為減為0),PROFIT計算公式中,持倉均價不變,手數減少。(2)PROFIT為資金管理函數,不支持主圖加載(3)不能與未來函數同時使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等(4)本函數運算量很大,將占用很多的CPU資源,導致行情刷新速度變慢,請謹慎使用!