金字塔自動交易系統使用教程[其他期貨軟件]
- 咨詢內容:
目前金字塔與飛狐基本兼容(市面上流行的三重濾網很容易通過跨周期引用來實現),很快將99%的兼容,且函數和功能大幅增加(600多個函數),我們將增加新的數學函數、統計函數和工程預測函數近百個,屆時函數將超過750個,其中與程式化交易有關的函數將超過100個,充分滿足交易員的各種需要。本教程是基于您已經熟悉了金字塔的公式系統的前提條件下使用,如果您對金字塔的公式編寫和自動交易還不熟悉,那么建議用戶學習金字塔的自動交易的詳細教程.
本貼只是對金字塔的程式化交易做一些基本的介紹和入門,如果需要詳細的金字塔的程式化交易教程,用戶請下載金字塔的程式化交易的教程。
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=370
金字塔程式化交易的特點和與TradeStation等軟件的不同點
金字塔為了滿足不同層次用戶的需要,提供兩種程式化交易,圖表程式化交易和后臺程式化交易.
圖表自動交易是為基礎用戶所設立,使用ENTERLONG,EXITLONG,ENTERSHORT,EXITSHORT這4種傳統的交易信號來實現下單.交易過程是基于圖表之上的,用戶事先將寫有上述4種交易信號的公式添加到圖表上,然后再來啟動交易.
后臺程式化交易是基于后臺的預警模式,金字塔提供了一系列的功能和眾多交易函數,可以在不影響用戶前臺圖形操作情況下,可以高效與預警系統一起工作來實現自動交易,并且可以一個交易策略同時交易幾個品種。而TradeStation是必須在圖表上才能實現交易的.
TradeStation程式化交易時,圖表上只有最后一個周期走完才發出交易指令,而金字塔提供了兩種模式,一種是基于預警輪詢模式,在一個K線周期內會被多次執行交易判斷(頻率取決于預警時間間隔這個選項),這樣可以保證在出現信號時能夠以最快速度的發出交易指令,但是用戶不用擔心一個周期內多次重復交易問題,因為金字塔可以自動防止此現象(可以使用ALLOWREPEAT控制符允許反復開平倉)。另外金字塔也提供K線走完再發信號這種工作模式,與TradeStation保持了一致.
由于程式化交易模式不同,所以用金字塔做自動交易時應特別注意幾個問題:
1、使用了即時發出預警信號選項時,自動交易不局限于最后的K線走完,所以可能會導致中間發出信號,而價格變動后信號消失
2、使用了即時發出預警信號時,預警時間間隔控制輪詢的頻率,用戶應該根據交易公式所用到的周期合理的分配間隔時間,防止由于間隔時間不合適而導致例如上傳下破等指標信號漏掉的情況。
金字塔的圖表程式化交易和后臺程式化交易的簡要描述和結構
前臺圖表交易
金字塔前臺圖表交易是將交易系統指標放在圖表上進行顯示和下單交易的,金字塔圖表交易適用ENTERLONG,EXITLONG,ENTERSHORT,EXITSHORT這四種交易信號來分別表示多空頭的進出場描述.
除此之外,金字塔還提供了功能更為強大的新交易系統函數,可以使用BUY,SELL,BUYSHORT,SELLSHORT,函數,對介入價位和倉位進行精確的控制,可以對譬如海龜交易法的頭寸管理.金字塔的新交易系統函數,用戶可以在公式函數列表的“交易系統”組里找到.但是需要注意的是金字塔的新交易系統,是不能與舊的交易系統比如ENTERLONG混用的.金字塔的新交易系統采取的虛擬倉位和資金再圖表做顯示和模擬交易的,使用之前用戶需要在公式屬性里將資金和費率設置正確,以確保能更加貼近實戰.真實自動交易時,系統將根據交易指令發出的交易類型和價格以及數量進行下單交易.
后臺程式化交易
金字塔的后臺程式化交易在金字塔公式系統里用戶可以在“后臺程式化交易”函數組里找到,后臺程式化交易是基于預警模式進行工作, 由于后臺程式化交易是金字塔在后臺進行,不需要圖表打開不占用過多的資源,由于只只需要最后一個周期的信號,所以原則上公式不要多余計算,故效率高,便于對多個品種同一個策略進行輪循監控.用戶前期編寫的自動交易策略是需要先在圖表上和程式化交易評測上通過后才可以放到后臺去執行程式化交易。為了讓用戶更快的編寫和熟悉金字塔的后臺程式化交易,金字塔的程式化交易函數,前面都在交易系統函數名稱前加 T 字母,比如BUY改為TBUY, 使用方法大致相同.戶仔細注意查看函數的使用說明。與圖表顯示的交易系統函數不同的是,后臺程式化交易的函數都使用的實際的用戶持倉和資金.
使用金字塔自動交易的常見問題和注意事項:
1、前臺圖表ENTERLONG控制指令和BUY等圖表顯示函數是不能放在后臺做監控交易的,但是將"允許程式化交易"勾去掉后單獨做預警是可以的。
2、不帶T的交易系統所有函數,均不能與ENTERLONG等傳統的交易系統混用。
3、只有少數的帶T的后臺交易函數允許使用在Enterlong和BUY前臺圖表交易策略中. TAVGENTERPRICE,Taccount,Tholding,Tasset,但是金字塔強烈不建議使用,因為這樣會造成圖表上的交易信號與實際的下單記錄不符。
4、金字塔的后臺交易部分,使用手工閃電下單的記錄,將無法通過比如TENTERPRICE等與交易記錄有關函數中得到結果,但可以通過程式化交易監控中的手工下單干預功能完成此項目的。
5、金字塔的后臺交易,查詢持倉和資產均為用戶當前的實際數值,如果多個策略同時多一個品種或通一個帳戶進行操作會產生相互干擾現象,解決辦法就是通過使用交易系統使用虛擬持倉和資金,這樣就完全可以避免這種共振現象,但是推薦高級用戶使用,因為需要很多技巧需要處理。
6、傳統的交易信號ENTERLONG雖然功能較弱,但是由于不需要頭寸管理,故金字塔可以使用公式的特殊算法達到高效運行,故在不需要介入點和倉位控制的策略中,盡量避免使用BUY等新交易系統,尤其在使用了BUY的新交易系統的策略中,使用未來函數更會導致效率下降。同樣如此,如果在同一個策略中使用TBUY和BUY函數,也會導致在后臺自動交易時的效率下降。
7、用以圖表顯示的交易系統和后臺程式化交易的交易指令函數,參數有明顯的不同,用戶不能簡單的將BUY函數加個T就可以直接后臺交易,使用前應該將鼠標放在TBUY函數上認真看看函數說明。
8、BUY和TBUY等用以圖表顯示的交易系統和后臺程式化交易的交易指令函數,參數有明顯的不同,用戶不能簡單的將BUY函數加個T就可以直接后臺交易,使用前應該將鼠標放在TBUY函數上認真看看函數說明。
9、TBUY(COND,V,[Type,P1,P2,AC,STOCK]),中括號的參數可以省略,但只可以是后面省略,不可以中間省略。tbuy(zd,1,mkt,'003028',hy);這樣是一種錯誤的方法,應該改成tbuy(zd,1,mkt,0,0,'003028',hy) ;
網友為金字塔寫的使用金字塔后臺程式化交易的幾點心得
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=1255
[此貼子已經被admin于2010-3-29 19:34:11編輯過] - 金字塔客服: 請注意以下的討論均為金字塔的交易系統和后臺程式化交易部分,對于初級的ENTERLONG自動交易信號部分,用戶參考金字塔的程式化交易教程 奮勇的XXX 23:09:30
你好,是這樣的,我不會編程,分析家什么也沒用過,現在我想試試在金字塔弄簡單程序化交易,針對外匯,每個品種雖然24小時交易,單活躍的時段也就幾個小時,那么我怎么設定系統只在特定時段起作用呢,能否用金字塔自帶的那個macd金死叉系統幫我編一下,我好有個大架子慢慢研究
奮勇的XXX 23:09:38
比如我需要有效時段是北京時間下午4點到凌晨2點,這樣我可以測試系統,否則按24小時測試出來的結果大多數時候在來回砍
答復:簡單的不能再簡單的交易模型
MACD:="MACD"(26,12,9);
資產:ASSET,LINETHICK0;
可用現金:CASH(0),LINETHICK0;
持倉:HOLDING,LINETHICK0;
TT1:=TIME>=110000 and TIME<205000;{開倉時段,對于外匯3時區,北京時間16:00---2:00為3時區的11:00---21:00}
TT2:=TIME>=110000 and TIME<210000;{平倉時段}
TJ:=CROSS(MACD,0);
TJ1:=CROSS(0,MACD);
{開多} BUY(tt1 and ref(TJ,1),1,market,o);
{平多} SELL(tt1 and TJ1,持倉,thisclose,C); 上述公式可以在圖表上進行顯示和做交易評測,以及圖表的程式化交易
當然要進行后臺程序化交易,還需要用程式化交易函數替代模型相關的幾個交易系統執行函數,如
tBUY替代BUY等,其中類型也要根據具體情況修改。
請仔細閱讀有關交易函數和程式化函數及其舉例。 再比如一個最簡單的3天均線穿越5天均線的多頭交易系統資產:ASSET,LINETHICK0;
可用現金:CASH(0),LINETHICK0;
持倉:HOLDING,LINETHICK0;MA3:MA(C,3);
MA5:MA(C,5);BUY(CROSS(MA3,MA5),1,THISCLOSE); //開多1手
SELL(CROSS(MA5,MA3),0,THISCLOSE);//平多0表示平掉全部持倉上述公式可以完整的顯示在圖表上和做圖表自動交易,如果需要做后臺程式化交易,那么只需替換兩個交易函數即可
MA3:MA(C,3);
MA5:MA(C,5);TBUY(CROSS(MA3,MA5),1,LMT,C); //按照最新價限價開多
TSELL(CROSS(MA5,MA3),0,LMT,C);//按照最新價限價平多,0表示平掉全部持倉請注意TBUY和TSELL函數的參數出現了變化,真正的下單時,需要指定下單類型和價格的,否則系統會按照市價進行交易。
用以模擬交易的函數和真實交易的函數,大部分只是有了前面T字母差別,大部分的用以交易評測的交易系統,只要將交易函數部分前面加T字母即可解決,唯一區別最大的就是TBUY,TSELL,TBUYSHORT,TSELLSHORT 這4個函數與模擬交易用的函數區別較大,請仔細辨別。
請注意交易控制符 THISCLOSE 在真實交易中被 LMT 等真實交易控制符所取代,金字塔的模擬交易控制符和真實交易控制符兩者不能通用。金字塔的真實下單函數只支持LMT限價 MKT市價 STP止損 STPLMT限價止損 這4個交易控制符
[此貼子已經被admin于2010-3-27 15:35:21編輯過] - 用戶回復: Forex**** 11:14:03
我覺得手動開倉,自動止損比較好,開倉點還是由人來主動選擇
forex**** 14:44:51
比如我手動開倉做多HG,然后止損放到sar下面0.003,我希望金字塔能幫我實現的就是移動止損的功能
forex**** 14:54:24
這樣我可以安心睡覺 ,呵呵
答復:可以做, 我幫你做一個簡單例子,你慢慢體會、修改
input:P(4,1,20),STEP(2,1,6),MAXP(20,5,100);
資產:ASSET,LINETHICK0;
可用現金:CASH(0),LINETHICK0;
持倉:HOLDING,LINETHICK0;
SAR1:SAR(P,STEP,MAXP),CIRCLEDOT;
BUY1:=SAR1+0.003;{止損放到sar上面0.003}
SELL1:=SAR1-0.003;{止損放到sar下面0.003}
ENTERLONG1:=cross(h,BUY1);
EXITLONG1:=cross(SELL1,l);
BUY(ENTERLONG1,20%,stopr,BUY1); //按照20%倉位下單
SELL(EXITLONG1 and 持倉>0,持倉,stopr ,SELL1);
[此貼子已經被admin于2009-11-5 1:23:11編輯過] - 網友回復: 因為手動開倉,自動止損比較好,所以BUY和BUYSHORT語句不執行。
還需要用程式化交易函數替代模型相關的幾個交易系統執行函數,如
tSELL替代SELL等,其中類型也要根據具體情況(對應IB_TWS的四種交易指令:LMT、MKT、STP、STPLMT)修改。如下藍色部分
input:P(4,1,20),STEP(2,1,6),MAXP(20,5,100);
SAR1:SAR(P,STEP,MAXP);
BUY1:=SAR1+0.003;{止損放到sar上面0.003}
SELL1:=SAR1-0.003;{止損放到sar下面0.003}
ENTERLONG1:=cross(h,BUY1);
EXITLONG1:=cross(SELL1,l);
TBUY(ENTERLONG1,1,stp,BUY1); //請注意這里不再支持 20% 百分比倉位開倉條件
TSELL(EXITLONG1,0,stp ,SELL1);
請先使用紙帳戶進行實盤測試 [此貼子已經被admin于2009-11-6 11:23:18編輯過] - 網友回復: Forex**** 11:18:51
請問:如何啟動程式化交易?
答復:
選擇[交易]---[本地預警與程式化交易] 或者Ctrl + A ---[新增條件]---選入監控的品種、時間間隔、鉤選程式化交易,點擊[指標公式]---選入[交易系統]---[SAR_T003]---選定周期,確定后,啟動預警 [此貼子已經被admin于2009-11-4 21:40:53編輯過]
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 262069696 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容