交易開拓者代碼學(xué)習(xí)各種買賣指令及實例_第1頁
交易開拓者代碼學(xué)習(xí)各種買賣指令及實例_第2頁
交易開拓者代碼學(xué)習(xí)各種買賣指令及實例_第3頁
交易開拓者代碼學(xué)習(xí)各種買賣指令及實例_第4頁
交易開拓者代碼學(xué)習(xí)各種買賣指令及實例_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、交易開拓者代碼學(xué)習(xí)各種買賣指令及實例 (TB)(轉(zhuǎn))2012年07月27日 22:35原文地址:交易開拓者代碼學(xué)習(xí)各種買賣指令及實例 (TB)(轉(zhuǎn))作者:竹本無青各種買賣指令Buy說明 產(chǎn)生一個多頭建倉操作。 語法 Buy(Numeric Share=0,Numeric Price=0,Bool Delay=False)參數(shù) Share 買入數(shù)量,為整型值,默認(rèn)為使用系統(tǒng)設(shè)置參數(shù);Price 買入價格,為浮點數(shù),默認(rèn)=0時為使用現(xiàn)價(非最后Bar為Close);Delay 買入動作是否延遲,默認(rèn)為當(dāng)前Bar發(fā)送委托,當(dāng)Delay=True,在下一個Bar執(zhí)行。 備注 產(chǎn)生一個多頭建倉操作,無返

2、回值,該函數(shù)僅支持交易指令。該函數(shù)僅用于多頭建倉,其處理規(guī)則如下:如果當(dāng)前持倉狀態(tài)為持平,即MarketPosition = 0 時,該函數(shù)按照參數(shù)進(jìn)行多頭建倉。如果當(dāng)前持倉狀態(tài)為空倉,即MarketPosition = -1 時,該函數(shù)首先平掉所有空倉,達(dá)到持平的狀態(tài),然后再按照參數(shù)進(jìn)行多頭建倉。如果當(dāng)前持倉狀態(tài)為多倉,即MarketPosition = 1 時,該函數(shù)將繼續(xù)建倉,但具體是否能夠成功建倉要取決于系統(tǒng)中關(guān)于連續(xù)建倉的設(shè)置,以及資金,最大持倉量等限制。 示例 在MarketPosition=0的情況下:Buy(50,10.2,1) 表示用10.2的價格買入50張合約,延遲到下一個

3、Bar發(fā)送委托。Buy(10,Close) 表示用當(dāng)前Bar收盤價買入10張合約,馬上發(fā)送委托。Buy(5,0) 表示用現(xiàn)價買入5張合約,馬上發(fā)送委托。 BuyToCover說明 產(chǎn)生一個空頭平倉操作。 語法 BuyToCover(Numeric Share=0,Numeric Price=0,Bool Delay=False)參數(shù) Share 買入數(shù)量,為整型值,默認(rèn)為平掉當(dāng)前所有持倉;Price 買入價格,為浮點數(shù),默認(rèn)=0時為使用現(xiàn)價(非最后Bar為Close);Delay 買入動作是否延遲,默認(rèn)為當(dāng)前Bar發(fā)送委托,當(dāng)Delay=True,在下一個Bar執(zhí)行。 備注 產(chǎn)生一個空頭平倉操

4、作,無返回值,該函數(shù)僅支持交易指令。該函數(shù)僅用于空頭平倉,其處理規(guī)則如下:如果當(dāng)前持倉狀態(tài)為持平,即MarketPosition = 0 時,該函數(shù)不執(zhí)行任何操作。如果當(dāng)前持倉狀態(tài)為多倉,即MarketPosition = 1 時,該函數(shù)不執(zhí)行任何操作。如果當(dāng)前持倉狀態(tài)為空倉,即MarketPosition = -1 時,如果此時Share使用默認(rèn)值,該函數(shù)將平掉所有空倉,達(dá)到持平的狀態(tài),否則只平掉參數(shù)Share的空倉。 示例 在MarketPosition = -1的情況下:BuyToCover(50,10.2,1) 表示用10.2的價格空頭買入50張合約,延遲到下一個Bar發(fā)送委托。Buy

5、ToCover(10,Close) 表示用當(dāng)前Bar收盤價空頭買入10張合約,馬上發(fā)送委托。BuyToCover(5,0) 表示用現(xiàn)價空頭買入5張合約),馬上發(fā)送委托。 sell說明 產(chǎn)生一個多頭平倉操作。 (BK)語法 Sell(Numeric Share=0,Numeric Price=0,Bool Delay=False)參數(shù) Share 賣出數(shù)量,為整型值,默認(rèn)為平掉當(dāng)前所有持倉;Price 賣出價格,為浮點數(shù),默認(rèn)=0時為使用現(xiàn)價(非最后Bar為Close);Delay 賣出動作是否延遲,默認(rèn)為當(dāng)前Bar發(fā)送委托,當(dāng)Delay=True,在下一個Bar執(zhí)行。 備注 產(chǎn)生一個多頭平倉操

6、作,無返回值,該函數(shù)僅支持交易指令。該函數(shù)僅用于多頭平倉,其處理規(guī)則如下:如果當(dāng)前持倉狀態(tài)為持平,即MarketPosition = 0 時,該函數(shù)不執(zhí)行任何操作。如果當(dāng)前持倉狀態(tài)為空倉,即MarketPosition = -1 時,該函數(shù)不執(zhí)行任何操作。如果當(dāng)前持倉狀態(tài)為多倉,即MarketPosition = 1 時,如果此時Share使用默認(rèn)值,該函數(shù)將平掉所有多倉,達(dá)到持平的狀態(tài),否則只平掉參數(shù)Share的多倉。 示例 在MarketPosition=0的情況下:Sell(50,10.2,1) 表示用10.2的價格賣出50張合約,延遲到下一個Bar發(fā)送委托。Sell(10,Close)

7、 表示用當(dāng)前Bar收盤價賣出10張合約,馬上發(fā)送委托。Sell(5,0) 表示用現(xiàn)價賣出5張合約,馬上發(fā)送委托。 sellshort說明 產(chǎn)生一個空頭建倉操作。 語法 SellShort(Numeric Share=0,Numeric Price=0,Bool Delay=False)參數(shù) Share 賣出數(shù)量,為整型值,默認(rèn)為使用系統(tǒng)設(shè)置參數(shù);Price 賣出價格,為浮點數(shù),默認(rèn)=0時為使用現(xiàn)價(非最后Bar為Close);Delay 賣出動作是否延遲,默認(rèn)為當(dāng)前Bar發(fā)送委托,當(dāng)Delay=True,在下一個Bar執(zhí)行。 備注 產(chǎn)生一個空頭建倉操作,無返回值,該函數(shù)僅支持交易指令。該函數(shù)僅

8、用于空頭建倉,其處理規(guī)則如下:如果當(dāng)前持倉狀態(tài)為持平,即MarketPosition = 0 時,該函數(shù)按照參數(shù)進(jìn)行空頭建倉。如果當(dāng)前持倉狀態(tài)為多倉,即MarketPosition = 1 時,該函數(shù)首先平掉所有多倉,達(dá)到持平的狀態(tài),然后再按照參數(shù)進(jìn)行空頭建倉。如果當(dāng)前持倉狀態(tài)為空倉,即MarketPosition = -1 時,該函數(shù)將繼續(xù)建倉,但具體是否能夠成功建倉要取決于系統(tǒng)中關(guān)于連續(xù)建倉的設(shè)置,以及資金,最大持倉量等限制。 示例 在MarketPosition=0的情況下:SellShort(50,10.2,1) 表示用10.2的價格空頭賣出50張合約,延遲到下一個Bar發(fā)送委托。Se

9、llShort(10,Close) 表示用當(dāng)前Bar收盤價空頭賣出10張合約,馬上發(fā)送委托。SellShort(5,0) 表示用現(xiàn)價空頭賣出5張合約,馬上發(fā)送委托。對應(yīng)的BPK,SPK,你清楚了嗎函數(shù)名 描述 Buy 平掉所有空頭持倉,開多頭倉位。(*BPK*)Sell 平掉指定的多頭持倉。 SellShort 平掉所有多頭持倉,開空頭倉位。 (*SPK*)BuyToCover 平掉指定的空頭持倉。 獲得當(dāng)前持倉狀態(tài),太妙了MarketPosition說明 獲得當(dāng)前持倉狀態(tài)。 語法 Integer MarketPosition()參數(shù) 無 備注 獲得當(dāng)前持倉狀態(tài),返回值為整型,該函數(shù)僅支持交易

10、指令。返回值定義如下:-1 當(dāng)前位置為持空倉0 當(dāng)前位置為持平1 當(dāng)前位置為持多倉 示例 無內(nèi)建平倉指令-精華之特色內(nèi)建平倉指令除了上節(jié)的Sell和BuyToCover可以進(jìn)行平倉之外,TradeBlazer公式提供了額外的八種平倉函數(shù),通過合理的應(yīng)用內(nèi)建平倉函數(shù),可以幫助您有效的鎖定風(fēng)險并及時獲利。您可以組合使用內(nèi)建平倉函數(shù),也可以在自己的交易指令中調(diào)用內(nèi)建平倉函數(shù)進(jìn)行平倉,八個內(nèi)建平倉函數(shù)如下:函數(shù)名 描述 SetExitOnClose 該平倉函數(shù)用來在當(dāng)日收盤后產(chǎn)生一個平倉動作,將當(dāng)前所有的持倉按當(dāng)日收盤價全部平掉。 SetBreakEven 該平倉函數(shù)在獲利條件滿足的情況下啟動,當(dāng)盈利

11、回落達(dá)到保本時產(chǎn)生平倉動作,平掉指定的倉位。 SetStopLoss 該平倉函數(shù)在虧損達(dá)到設(shè)定條件時產(chǎn)生平倉動作,平掉指定的倉位。 SetProfitTarget 該平倉函數(shù)在盈利達(dá)到設(shè)定條件時產(chǎn)生平倉動作,平掉指定的倉位。 SetPeriodTrailing 該平倉函數(shù)在盈利回落到設(shè)定條件時產(chǎn)生平倉動作,平掉指定的倉位。 SetPercentTrailing 該平倉函數(shù)在盈利回落到設(shè)定條件時產(chǎn)生平倉動作,平掉指定的倉位。 SetDollarTrailing 該平倉函數(shù)在盈利回落到設(shè)定條件時產(chǎn)生平倉動作,平掉指定的倉位。 SetInactivate 該平倉函數(shù)在設(shè)定時間內(nèi)行情一直在某個幅度內(nèi)波

12、動時產(chǎn)生平倉動作,平掉指定的倉位。 關(guān)于ExitPosition上述多個平倉函數(shù)都用到了參數(shù)ExitPosition,作為平倉函數(shù)倉位控制的重要參數(shù),有必要對該參數(shù)進(jìn)行單獨說明。ExitPosition是布爾型參數(shù),當(dāng)ExitPosition=True時,表示將當(dāng)前所有的持倉作為一個整體,根據(jù)其平均建倉成本,計算各平倉函數(shù)的盈虧,當(dāng)條件滿足時,會將所有倉位一起平掉;當(dāng)ExitPosition=False時,表示單獨對每個建倉位置進(jìn)行平倉,單獨計算各平倉函數(shù)盈虧時,當(dāng)單個建倉位置條件滿足后,平掉該建倉位置即可。觸發(fā)單觸發(fā)單觸發(fā)單是交易開拓者特有的交易方式,觸發(fā)單是指用戶設(shè)置條件,將觸發(fā)單提交到交

13、易開拓者的交易服務(wù)器,當(dāng)設(shè)定條件滿足情況,交易服務(wù)器會自動發(fā)送委托到交易所。觸發(fā)單可以幫助解決用戶盯盤的辛苦,及手動發(fā)單的速度問題。觸發(fā)單分為以下四種類型:吊買、吊賣、追買、追賣。每個觸發(fā)單在發(fā)送時需要輸入以下參數(shù):觸發(fā)價格:觸發(fā)單設(shè)定的條件價格,通過比較現(xiàn)價和觸發(fā)價格確定是否下單。下單之后,該觸發(fā)單會從交易服務(wù)器中刪除;執(zhí)行價格:條件滿足之后,發(fā)送委托的價格,設(shè)定為0可自動獲取當(dāng)時的叫買/賣價;過期時間:設(shè)定觸發(fā)單的過期時間,到這個時間還沒有觸發(fā)的訂單會被設(shè)為過期,不再進(jìn)行監(jiān)控。吊買吊買是指當(dāng)現(xiàn)價向下跌破觸發(fā)價格,即按執(zhí)行價格產(chǎn)生一個即時買入委托單,如下圖所示:吊賣吊賣是指當(dāng)現(xiàn)價向上突破觸發(fā)

14、價格,即按執(zhí)行價格產(chǎn)生一個即時賣出委托單,如下圖所示:追買追買是指當(dāng)現(xiàn)價向上突破觸發(fā)價格,即按執(zhí)行價格產(chǎn)生一個即時買入委托單,如下圖所示:追賣追賣是指當(dāng)現(xiàn)價向下跌破觸發(fā)價格,即按執(zhí)行價格產(chǎn)生一個即時賣出委托單,如下圖所示:修改或刪除觸發(fā)單當(dāng)存在某個商品的觸發(fā)單,可通過雙擊帳戶管理的觸發(fā)單頁面的項目,打開交易師,進(jìn)行修改或刪除操作。您可以修改數(shù)量、觸發(fā)單類型、觸發(fā)價格、執(zhí)行價格、過期時間及止損獲利等,完成修改之后,點擊修改按鈕即可完成修改;您可以直接點擊刪除按鈕將該觸發(fā)單刪除。注意: 觸發(fā)單在發(fā)送之后將會生效,該委托單在服務(wù)器上運行,此時您關(guān)閉程序或電腦不會影響觸發(fā)單的執(zhí)行。 SetPercen

15、tTrailing(2000,0.2,True); 又是一個寶SetPercentTrailing(2000,0.2,True); 當(dāng)前所有持倉盈利在大于2000之后回落,當(dāng)回落百分比達(dá)到20%之后,執(zhí)行所有持倉位置的百分比回落平倉。(此時是計算所有持倉的盈利數(shù))SetPercentTrailing(1000,0.1,False); 當(dāng)前持倉的某一個建倉位置的盈利大于1000之后回落,當(dāng)回落百分比達(dá)到10%之后,執(zhí)行該持倉位置的百分比回落平倉。(此時只計算該持倉位置的盈利) SetStopLoss(0,2000,True); 當(dāng)前所有持倉虧損達(dá)到2000之后,執(zhí)行所有持倉位置的止損平倉。(此時

16、是計算所有持倉的虧損數(shù))SetStopLoss(1,50, False); 當(dāng)前持倉的某一個建倉位置每張合約的虧損達(dá)到50之后,執(zhí)行該持倉位置的止損平倉。(此時只計算該持倉位置的每張合約虧損)SetBreakEven(0,2000,True); 當(dāng)前所有持倉的盈利達(dá)到2000之后,啟動所有持倉位置的保本平倉。(此時是計算所有持倉的盈利數(shù))SetBreakEven(1,50, False); 當(dāng)前持倉的某一個建倉位置每張合約的盈利達(dá)到50之后,啟動該持倉位置的保本平倉。(此時只計算該持倉位置的每張約的盈利) 精華中精華文華所沒有實現(xiàn)復(fù)雜策略工具一循環(huán)語句循環(huán)語句包括兩種表達(dá)方式:For和Whil

17、e。ForFor語句是一個循環(huán)語句,重復(fù)執(zhí)行某項操作,直到循環(huán)結(jié)束。語法如下:For 循環(huán)變量 = 初始值 To 結(jié)束值TradeBlazer公式語句;循環(huán)變量為在之前已經(jīng)定義的一個數(shù)值型變量,F(xiàn)or循環(huán)的執(zhí)行是從循環(huán)變量從初始值到結(jié)束值,按照步長為1遞增,依次執(zhí)行TradeBlazer公式語句。結(jié)束值必須大于或等于初始值才有意義,初始值和結(jié)束值可以使用浮點數(shù),但是在執(zhí)行過程中會被直接取整。只計算其整數(shù)部分。TradeBlazer公式語句是一些語句的組合,如果TradeBlazer公式語句是單條,您可以省略,二條或者二條以上的語句必須使用。第一次執(zhí)行時,首先將循環(huán)變量賦值為初始值,然后判斷循環(huán)

18、變量是否小于等于結(jié)束值,如果滿足條件,則執(zhí)行TradeBlazer公式語句,同時循環(huán)變量加1。接著重新判斷循環(huán)變量是否小于等于結(jié)束值,一直到條件為False,退出循環(huán)。例如,以下的用戶計算Price最近Length周期的和。ParamsNumericSeries Price(1);Numeric Length(10);VarsNumeric SumValue(0);Numeric i;Beginfor i = 0 to Length - 1SumValue = SumValue Price i ;Return SumValue;End如果希望For語句從大到小進(jìn)行循環(huán),可以使用以下的語法:Fo

19、r 循環(huán)變量 = 初始值 DownTo 結(jié)束值TradeBlazer公式語句;For-DownTo讓循環(huán)變量從結(jié)束值每次遞減1直到等于結(jié)束值,依次調(diào)用TradeBlazer公式語句執(zhí)行,初始值必須大于或等于結(jié)束值才有意義。For語句是比較常用的一種循環(huán)控制語句,它應(yīng)用于知道循環(huán)次數(shù)的地方,很多內(nèi)建用戶函數(shù)中都使用For語句來完成相應(yīng)的功能,比如Summation,Highest,Lowest,LinearReg等。WhileWhile語句在條件為真的時候重復(fù)執(zhí)行某一項操作。即,只要條件表達(dá)式的值為真(True)時,就重復(fù)執(zhí)行某個動作。直到行情信息改變以致條件為假(False)時,循環(huán)才結(jié)束。語

20、法如下:While (Condition)TradeBlazer公式語句;Condition是一個邏輯表達(dá)式,當(dāng)Condition為True的時候,TradeBlazer公式語句將會被循環(huán)執(zhí)行,Condition可以是多個條件表達(dá)式的邏輯組合,Condition必須用()括起來。TradeBlazer公式語句是一些語句的組合,如果TradeBlazer公式語句是單條,您可以省略,二條或者二條以上的語句必須使用。例如,以下的公式用來計算要產(chǎn)生大于100000成交量需要最近Bar的個數(shù):VarsNumeric SumVolume(0);Numeric Counter (0);BeginWhile

21、(SumVolume 100000)SumVolume = SumVolume VolCounterCounter = Counter 1;End首先,我們定義兩個變量SumVolume和Counter,并將其默認(rèn)值設(shè)為0。當(dāng)SumVolume High1)Counter = Counter1 1;.End在TradeBlazer公式中,If語句被廣泛使用,如K線型態(tài)和特征走勢,都需要大量的使用If語句,當(dāng)條件滿足的時候,在滿足條件的Bar上面進(jìn)行標(biāo)記。例如,下面的語句就是特征走勢的例子:If(High High1 AND Low High1 AND Low High1 AND Low Clo

22、se1,Value1 = Value1 Vol;否則Value1 = Value1 - Vol,腳本如下:If (Colse Close1)Value1 = Value1 Vol;ElseValue1 = Value1 - Vol;If-Else-IfIf-Else-If是在If-Else的基礎(chǔ)上進(jìn)行擴(kuò)展,支持條件的多重分支。語法如下:If (Condition1)TradeBlazer公式語句1;Else If(Condition2)TradeBlazer公式語句2;ElseTradeBlazer公式語句3;Condition1是一個邏輯表達(dá)式,當(dāng)Condition1為True的時候,Tra

23、deBlazer公式語句1將會被執(zhí)行,Condition1為False時,將會繼續(xù)判斷Condition2的值,當(dāng)Condition2為True時,TradeBlazer公式語句2將會被執(zhí)行。Condition2為False時,TradeBlazer公式語句3將會被執(zhí)行。Condition1,Condition2可以是多個條件表達(dá)式的邏輯組合,條件表達(dá)式必須用()括起來。TradeBlazer公式語句是一些語句的組合,如果TradeBlazer公式語句是單條,您可以省略,二條或者二條以上的語句必須使用。If-Else-If的語句可以根據(jù)需要一直擴(kuò)展,在最后的Else之后再加If(Conditi

24、on)和新的執(zhí)行代碼即可。當(dāng)然您也可以省略最后的Else分支,語法如下:If (Condition1)TradeBlazer公式語句1;Else If(Condition2)TradeBlazer公式語句2;If-Else的嵌套If-Else的嵌套是在If-Else的執(zhí)行語句中包含新的條件語句,即一個條件被包含在另一個條件中。語法如下:If (Condition1)If (Condition2)TradeBlazer公式語句1;ElseTradeBlazer公式語句2;ElseIf (Condition3)TradeBlazer公式語句3;ElseTradeBlazer公式語句4;Condit

25、ion1是一個邏輯表達(dá)式,當(dāng)Condition1為True的時候,將會繼續(xù)判斷Condition2的值,當(dāng)Condition2為True時,TradeBlazer公式語句1將會被執(zhí)行。Condition2為False時,TradeBlazer公式語句2將會被執(zhí)行。當(dāng)Condition1為False的時候,將會繼續(xù)判斷Condition3的值,當(dāng)Condition3為True時,TradeBlazer公式語句3將會被執(zhí)行。Condition3為False時,TradeBlazer公式語句4將會被執(zhí)行。Condition1,Condition2,Condition3可以是多個條件表達(dá)式的邏輯組合,

26、條件表達(dá)式必須用()括起來。TradeBlazer公式語句是一些語句的組合,如果TradeBlazer公式語句是單條,您可以省略,二條或者二條以上的語句必須使用。例如,在一個交易指令中,條件設(shè)置如下:當(dāng)前行情上漲的時候,如果收盤價高于開盤價時,則產(chǎn)生一個以收盤價買入1張合約;否則產(chǎn)生一個以開盤價買入1張合約。當(dāng)前行情沒有上漲的時候,如果收盤價高于開盤價,則產(chǎn)生一個以收盤價賣出1張合約;否則產(chǎn)生一個以開盤價賣出1張合約。腳本如下:If (Open High1)If (CloseOpen)Buy(1,Open);ElseBuy(1,Close);ElseIf (Close Open)Sell(1,

27、Open);ElseSell (1,Close); 接平倉東東SetDollarTrailing (2000,True); 當(dāng)前所有持倉盈利在回落達(dá)到2000之后,執(zhí)行所有持倉位置的價值回落平倉。(此時是計算所有持倉的盈利數(shù))SetDollarTrailing (1000,False); 當(dāng)前持倉的某一個建倉位置的盈利在回落達(dá)到1000之后,執(zhí)行該持倉位置的價值回落平倉。(此時只計算該持倉位置的盈利) 說明 當(dāng)日收盤全部平倉。 語法 SetExitOnClose()參數(shù) 無 備注 當(dāng)日收盤全部平倉,無返回值,該函數(shù)僅支持交易指令。在當(dāng)日收盤之后以收盤價全部平倉,將持倉狀態(tài)變?yōu)槌制剑摵瘮?shù)僅用于

28、歷史數(shù)據(jù)測試,在小于1日線的周期情況下,該操作在建倉日期的最后一個Bar上執(zhí)行,在1日線及以上的周期中,該操作以建倉Bar的收盤價在同一Bar內(nèi)執(zhí)行。在自動交易中因為收盤之后不一定能夠保證成功發(fā)送委托,所以該函數(shù)延遲到第二天的開盤發(fā)送。PositionProfit說明 獲得當(dāng)前持倉位置的浮動盈虧。 語法 Numeric PositionProfit()參數(shù) 無 備注 獲得當(dāng)前持倉位置的浮動盈虧,已考慮交易費用,返回值為浮點數(shù),該函數(shù)僅支持交易指令。只有當(dāng)MarketPosition != 0時,即有持倉的狀況下,該函數(shù)才有意義,否則返回0。當(dāng)前持倉的平均建倉價格說明 獲得當(dāng)前持倉的平均建倉價格

29、。 語法 Numeric AvgEntryPrice()參數(shù) 無 備注 獲得當(dāng)前持倉的平均建倉價格,返回值為浮點數(shù),該函數(shù)僅支持交易指令。 示例 無當(dāng)前持倉位置的每手浮動盈虧ContractProfit說明 獲得當(dāng)前持倉位置的每手浮動盈虧。 語法 Numeric ContractProfit()參數(shù) 無 備注 獲得當(dāng)前持倉位置的每手浮動盈虧,已考慮交易費用,返回值為浮點數(shù),該函數(shù)僅支持交易指令。只有當(dāng)MarketPosition != 0時,即有持倉的狀況下,該函數(shù)才有意義,否則返回0。獲得當(dāng)前的可用資金CurrentCapital說明 獲得當(dāng)前的可用資金。 語法 Numeric Curren

30、tCapital()參數(shù) 無 備注 獲得當(dāng)前的可用資金,已考慮交易費用,返回值為浮點數(shù),該函數(shù)僅支持交易指令。根據(jù)參數(shù)進(jìn)行獲利平倉操作SetProfitTarget (0,2000,True); 當(dāng)前所有持倉盈利達(dá)到2000之后,執(zhí)行所有持倉位置的獲利平倉。(此時是計算所有持倉的盈利數(shù))SetProfitTarget (1,50, False); 當(dāng)前持倉的某一個建倉位置每張合約的盈利達(dá)到50之后,執(zhí)行該持倉位置的獲利平倉。(此時只計算該持倉位置的每張合約盈利) 第一課:實例之戰(zhàn)一個文華交易系統(tǒng)的移植例子多空趨勢-交易系統(tǒng)之文華的公式腳本:Copy to clipboard - CODE:MA

31、1:=EMA(CLOSE,16);MA2:=EMA(CLOSE,35),COLORYELLOW;MA3:=EMA(CLOSE,60);MA4:=REF(HIGH,1);LOWV:=LLV(LOW,9);HIGHV:=HHV(HIGH,9);RSV:=EMA(CLOSE-LOWV)/(HIGHV-LOWV)*100,3);K:=EMA(RSV,3);D:=MA(K,3);MV5:=MA(VOL,5);KK:=REF(K,1);PP:=REF(LOW,1);VAR3:=(2*CLOSE HIGH LOW)/4;VAR4:=LLV(LOW,33);VAR5:=HHV(HIGH,33);ZL:=EMA

32、(VAR3-VAR4)/(VAR5-VAR4)*100,17);SH:=EMA(0.667*REF(ZL,1) 0.333*ZL,2);LC:=REF(CLOSE,1);RSI:=SMA(MAX(CLOSE-LC, 0), 6, 1)/SMA(ABS(CLOSE-LC), 6, 1)*100;CROSS(CLOSE,MA1)&(KD)&(ZLSH)|CROSS(MA1,MA2)&(ZLSH)&(VOL1.25*MV5)&(KD)|CROSS(K,D)&(CLOSEMA1)&(ZLSH)|CROSS(RSI,70),BK;CROSS(PP,CLOSE)&(DK)&(SHZL)|CROSS(D,K

33、)&(CLOSEMA1)&(MA1ZL),SK;CROSS(D,K)|(CLOSEMA1*1.001),BP;TradeBlazer公式代碼:Copy to clipboard - CODE:/-/ 簡稱: Test/ 名稱: 多空趨勢交易系統(tǒng)/ 類別: 交易指令/ 類型: 其他/ 輸出:/-ParamsNumeric Length1(16);Numeric Length2(35);Numeric Length3(9);Numeric Lots(1);VarsNumericSeries Value1;NumericSeries Value2;Numeric LowestValue;Numeri

34、cSeries Value5;NumericSeries RSV;NumericSeries KValue;NumericSeries DValue;Numeric AvgVol5;NumericSeries CloseTmp1;NumericSeries CloseTmp2;NumericSeries RSIValue;NumericSeries PreLow;NumericSeries PreKValue;Numeric Lowest33Value;NumericSeries VarTmp1;NumericSeries VarTmp2;NumericSeries ZL;Numeric SH

35、;BeginValue1 = XAverage(Close,Length1);Value2 = XAverage(Close,Length2);/取兩條均線的值LowestValue = Lowest(Low,Length3);/取最低值Value5 = (CLOSE-LowestValue)/(Highest(High,Length3)-LowestValue)*100;RSV = XAverage(Value5,3);KValue = XAverage(RSV,3);DValue = Average(KValue,3);PreKValue = KValue1;PreLow = Low1;A

36、vgVol5 = Average(Vol,5);Lowest33Value = Lowest(Low,33);VarTmp1 =(2*CLOSE HIGH LOW)/4 - Lowest33Value )/(Highest(High,33) - Lowest33Value) * 100;ZL = XAverage(VarTmp1,17);VarTmp2 = 0.667*ZL1 0.333*ZL;SH = XAverage(VarTmp2,2);CloseTmp1 = Max(Close - Close1, 0);CloseTmp2 = Abs(Close - Close1);RSIValue

37、= WAverage(CloseTmp1,6)/WAverage(CloseTmp2,6) *100;/以上為KD部分只要如何換書寫方式就可了,higest =hhv lowest=llv xAverager=ma / Buy什么時做買入動作,條件If( (CrossOver(Close,Value1 ) & (KValue DValue) & (ZLSH) Or(CrossOver(Value1,Value2) & (ZLSH) & (Vol 1.25 * AvgVol5) & (KValue DValue) Or(CrossOver(KValue,DValue) & (Close Valu

38、e1) & (ZLSH) Or(CrossOver(RSIValue,70)/條件Buy(Lots,Close);/ SellShort 什么作賣出動作If( (CrossOver(PreLow,Close) & (KValue DValue ) & (SHZL) ) Or(CrossOver(DValue,KValue) & (Close Value1) & (Value1 ZL)/條件SellShort(Lots,Close);/ Sell 什么做多平動作If(CrossOver(DValue,KValue) | Close Value1 * 1.001)/條件BuyToCover;End

39、/-/ 編譯版本 GS2004.06.12/ 用戶版本 2007-06-25 10:37/ 版權(quán)所有 TradeBlazer/ 更改聲明 TradeBlazer Software保留對TradeBlazer平臺/ 每一版本的TrabeBlazer公式修改和重寫的權(quán)利/- 第二課:交易思想是靈魂要是打算根據(jù)3日的高低價平倉呢?想法如下想實現(xiàn)這樣一個一個想法:價格突破5天最高價,開多倉,把當(dāng)天和前一天的K線做比較,取兩日的最低價格做為止損,當(dāng)價格突破3日最低價時,平多倉。價格突破5日最低價,開空倉,把今天和 .你看看哦,代碼大致如此: ParamsvarsNumericSeries EntryHi

40、;NumericSeries EntryLo;NumericSeries ShortStop;NumericSeries LongStop;NumericSeries SellHi;NumericSeries SellLo;Numeric myEntryPrice;Numeric myExitPrice;begin/入場點,開多和開空點,突破5天最高或最低EntryHi = Highest(high1,5);EntryLo = Lowest(low1,5);/離場點,止盈點,三天較高或較低SellHi=Highest(high1,3);SellLo= Lowest(low1,3);/止損點,兩天較高或較低ShortStop= Highest(high1,2);LongStop=Lowest(low1,2);if(MarketPosition =0)If(CrossOv

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論