你也可以利用價格波動率作為濾網。價格波動程度會隨著行情或市場而變動,如果價格波動轉劇,突破的確定就必須更謹慎。突破系統內,你可以加上1 個標準差的濾網,來過濾一些偶發性的突破走勢。對於買進信號,標準差快取可以加在最近X 期最高價。你可以把這個條件直接設定在信號上,也可以另外考慮。我的做法如下:
換言之,快取定義為當期之前最近10 期收盤價的1 個標準差。另外,我們也可以考慮採用移動平均突破系統,快取則設定如下:如果收盤價連續處在35 期移動平均之上2 天,則買進。這也可以確保不會只是1 天行情。對於這類的快取,你也可以採用3 天、4 天或任何期間。
If Close > Average ( Close , 35 ) And Close 〔 1 〕 >Average ( Close , 35 ) [ l 〕 Then Buy
如果收盤價>平均值(收盤,35 ) ,而且收盤〔 1 〕>平均(收盤,35 ) 〔 1 〕 ,則買進
第一個條件也就是稍早提到的突破條件,換言之,價格突破最近10 期的最高價。第2 個條件則是成交量構成的濾網,當期成交量超過最近5 期平均成交量的1.25 倍。所以,如果成交量沒有明顯放大,即使價格發生突破,交易系統也不會出現買進信號。
某些突破系統需要一些特殊價格形態的配合,如:通道、趨勢線、雙重頂等,這些形態很難納人電腦程序。對於這類系統,恐怕必須直接採用走勢圖來判斷信號。雖然不能編寫為電腦程序,但畢竟有一組明確的交易法則,所以也是交易系統。【BINGO收集整理】
趨勢跟蹤系統 趨勢跟蹤交易方法,主要採用移動平均與趨勢線。由於趨勢線很難納人電腦程序,所以趨勢跟蹤系統最好採用移動平均。如果想配合價格形態運用,恐怕就必須運用視覺交易系統。
如同先前討論的突破系統一樣,依靠趨勢跟蹤系統建立的部位,持有時間越久,績效通常也越理想。如果行情來回擺蕩,趨勢跟蹤系統就非常不適用。為了避免信號反覆,最好採用較長期的移動均線。不過,有利就有弊。長期均線雖然可以避免信號反覆,但也同時會造成信號不夠及時的問題,當系統發出信號時,行情可能已經發展一大段了。所以,究竟如何在長期與短期均線之間掌握,這是交易者必須自己決定的。另外,請注意,移動平均本身就屬於落后指標。不論漲勢或跌勢,唯有行情發展一段時間之後,既有趨勢才會慢慢反映在移動平均。換言之,移動平均反映的趨勢,是發生在稍早之前。任何系統只要採用移動平均,信號就會落後。但只要趨勢足夠強勁,這類系統仍然能夠捕捉大部分的行情。
最基本的移動平均系統,當屬兩條平均線構成的穿越系統。如果短期均線向上穿越長期均線,則買進。
Input : Length1( 10 ) , Length2( 35 )
If Average ( Close , Length1) Cross Over
Average ( Close , Length2) Then Buy On Close
輸入變數:長度1 ( 10 ) ,長度2 ( 35 )
如果平均數(收盤,長度l )向上穿越
平均值(收盤,長度2 ) ,則收盤價買進
10 期均線向上穿越35 期均線,代表買進信號。雖然信號發生在當期結束,但可以在下一期開盤時採取行動,因為在當期還沒有收盤之前,無法十分確定包含當期收盤價在內的移動平均數值。有時移動平均看起來似乎會穿越,但臨收盤前可能突然發生逆轉。你也可以對其稍微改變,利用前一期資料而在當期開盤買進:
Input : Length1( 10 ) , Length2( 35 )
If Average ( Close , Length1) 〔l〕 Cross Over
Average ( Close , Length2) Then Buy On Open
輸入變數:長度1 ( 10 ) ,長度2 ( 35 )
如果平均數(收盤,長度l )〔l〕向上穿越
平均值(收盤,長度2 ) 〔l〕 ,則開盤買進
系統還可以設定另一個條件,規定只能順著50期或200期均線的變動方向進行交易,使得部位不至於違背主要趨勢。至於移動平均的變動方向,則可以比較目前起算的50期均線與10之前起算移動平均:
Input:BarsBack(10)
Condition1=Average(C,50)>Average(C,50)〔BarsBack〕
輸入變數:數期前(10)
條件1=平均數(收盤,50)>平均值(收盤,50)〔數期前〕
除此之外,你可能還希望買進信號發生時,價格不要遠離移動平均,否則就有追價之嫌。就我個人來說,我會要求當時價格與移動平均之間的距離,不得超過1平均真實區間;除了平均真實區間之外,當然也可以採用標準差或點數。以下利用35期均線來說明:
Input:Length2(35),ATRlen(10)
Condition2=[C-Average(C,Length2)]<ATR[ATRlen(10)]
輸入變數:長度2 (35), ATR長度(10)
條件2=[收盤一平均數(收盤,長度2)]<平均真實區間[ATR長度(10)]
關於移動平均在趨勢跟蹤系統內的運用,各種可能性都有,此處只提供幾個例子供讀者參考。
擺蕩指標為基礎的交易系統 不論如何強調趨勢跟蹤交易的重要性,但有些人就是想要猜測底部或頭部。對於這些逆勢交易者,以擺蕩指標為基礎的交易系統或許十分有用。如果行情處在盤整區間,在支撐與壓力之間來回游走,最適合運用擺盪指標系統在超賣區買進,在超買區賣出,尤其是短線交易。如果你希望永遠留在市場內,也適合採用擺盪指標為基礎的交易系統。關於如何運用擺盪指標結構電腦化系統,可能性雖然很多,但擺盪指標的最佳信號—價格與指標之間的背離—卻很難編寫為電腦程序。通常,背離現象都必須在走勢圖上通過視覺判斷。可是,除此之外,我們可以運用很多方式編寫擺盪指標的電腦化系統,以下準備討論一些可能性。
首先,讓我們討論隨機指標的例子:如果慢速K線向上穿越慢速D線,則買進。
Input:Length(14)
If Slowk(Length)Crosses Above SlowD(Length)Then Buy On Close
輸入變數:長度(14) 【BINGO收集整理】
如果慢速K線(長度)向上穿越慢速D線(長度),則收盤買進
另外,還可以規定,當穿越信號發生時,慢速K線與慢速D線都必須處在超買區(適買區域)。穿越信號發生時,由於慢速K線必定高於慢速D線,所以只需要規定慢速D線的讀數限制。
Tnput:Length(14),BuyZone(30)
If Slowk(Length)>S1owD(Length)and S1owD(Length)Crosses Above BuyZone Then Buy On Close
輸入變數:長度(14),適買區域(30)
如果慢速K線(長度)>慢速D線(長度)而且慢速D線(長度)向上穿越適買區域,則收盤買進
我們也可以利用RSI結構類似的系統:
Input:RSILen(10),BuyZone(30)
If RSI(Close,RSILen)Crosses Over BuyZone Then Buy On Close
輸入變數:RSI長度(10),適買區域(30)
如果RSI(收盤,RSI 長度)向上穿越適買區域,則收盤買進
交易者可以根據自己的觀點設定適買區域。如果你認為RSI 只要超過50 就可以規定買進信號發生時的指標讀數不得超過買線:
Input : SellZone ( 70 )
Condition1 = SlowD ( Length ) < SellZone
輸入變數:適賣區域(70 )
條件1 =慢速D 線(長度)<適賣區域
最后,我準備討論一個適用於強勁趨勢的系統。換言之,買進信號發生時,機指標處於超買區。雖然超買區通常不適合買進,但在不同市場狀況下(大多頭行情),隨機指標很可能長期停留在超買區。此處的買進信號準備採用另一個技術指標ADX (平均趨向指數)。當ADX 顯示強勁的漲勢,而且隨機指標超過某讀數,則買進。
If ADX ( 10 ) > 30 , And SlowD ( 14 ) > 85 , Then Buy On Close
如果ADX ( 10 ) > 30 ,而且慢速D 線(14 ) > 85 ,則收盤買進
我們稍後會詳細討論出場策略,但目前這個例子要規定,只要隨機指標讀數小於70 ,就結束多頭部位,因為強勁趨勢已有軟弱的跡象。同樣,此處只討論隨機指標的少數運用例子。讀者不妨回頭翻閱第7 章,或許可以得到一些結構交易系統的新點子。
根據市況進行調整
交易者必須保持彈性,根據市場狀況調整策略。震盪劇烈的市場,所用的交易系統通常不同於趨勢明顯的行情。如果我看到市場震盪劇烈,通常都會在場外觀望,或者採用隨機指標為基礎的系統,絕對不會用移動平均系統。這種情況下,尤其要避免採用突破系統。我不會在高價附近買進,反而會在此尋找放空機會。如果市場趨勢很明顯,我就會採用趨勢跟蹤指標,只利用擺蕩指標明確趨勢,或等待折返走勢。這類市場狀況下,我不會猜測價格頭部,只會利用擺盪指標尋找超賣區的買進機會。
平均趨向指數(ADX )往往可以協助你判斷市場趨勢的明確程度。如果ADX 讀數低於20 ,你可能採用某套系統;如果ADx 高於30 ,則採用另一套系統。
程序可以編寫如下:
If ADX (Length ) > 30 , Then Trending Market System Else
If ADX(Length ) < 20 , Then Choppy Market System Else ; Middle Ground System
翻譯:
如果ADX (長度)> 30 ,則採用趨勢跟蹤系統
如果ADX (長度)< 20 ,則採用行情震蕩系統;否則就採用中間性質系統
止損與出場
除非設定止損(停止)與出場參數,否則交易系統算不上完整。在整個交易過程中,出場的重要性,最起碼也與進場相同。只提供進場信號的交易系統,就像初學者第一次在陡峭的斜坡滑雪,剛開始,你覺得很快樂,但可能要撞墻才能停下來。絕對不好玩,請相信我。獲利是在出場時才結算,所以不要忽略出場的重要性。我的交易系統往往也有出場設定,但實際上大多在另一個時間結構上通過視覺方法決定出場時機。某些情況下,在出場信號發生之前,由於沒有發生預期中的走勢,我已經決定結束部位。你沒有必要流失部分的獲利,也沒有必要被止損出場。一筆交易只要不再有效,就出場。如果稍後又出現轉機,到時候再進場,現在沒有必要冒險。
停止反轉系統或許是設定出場策略最簡單的交易系統。換言之,只要某些條件成立,預設的停止單就生效,不但結束既有部位,同時也建立反向部位。根據這類系統,你永遠會停留在市場內,或是持有多頭部位。可是,這種系統有一個問題:在短線使用上,你可能會逆勢操作;換言之,部位方向與市場主要趨勢不同。過去我經常採用停止反轉系統,但現在如果碰到逆勢信號,我通常都留在場外。
止損
我個人採用的每個系統,都採用標準化的止損。只要行情偏離進場點達兩個標準差或以上,我就認賠出場。
多頭部位出場,距離收盤進場[標準差(收盤,10)]〔1〕則止損。
收盤進場是指當初進場線形的收盤價。採用這類止損,你必須定義進場信號。下面例子把進場信號定義為:
如果慢速K線(長度)向上穿越慢速D線(長度),則在收盤買進。
止損也可以設定為價格跌破移動平均達某個快取距離:
如果收盤<〔平均值(收盤,長度l )- 快取〕 ,則多頭部位出場。
或者當價格跌破最近5 天的低點,則止損:
如果收盤<最低價(盤中低價,5 )〔 1 〕 ,則多頭部位出場。
出場 除了停止 ---- 反轉系統之外,另一種常見的出場方法,是在特定線形數量之後出場。
當隨機指標進入超買區,則出場;或者,當行情遠離趨勢線或移動平均,則出場。
一旦價格與移動平均之間的距離拉大到5 個標準差,系統就產生出場信號,因為意味著漲勢已經過度延伸,終究會拉回整理。此處只討論一些可能性,讀者應該自行測試,尋找自己最適用的交易法則。你也可以設定一組以上的出場或止損法則,只要有任何一組條件成立,就出場。
多套系統 你沒有必要只採用一套系統。某些人同時運用多套系統在特定股票或商品上。他們可能採用5 套系統,如果每套系統都發出相同信號,就建立5 個相同部位。如果信號彼此沖突,經過抵消之後,可能只建立一個部位。這是相當不錯的方法,因為某些系統特別適用於震盪行情,另一些則適用於趨勢明確的市場。對於每種可能發生的市場狀況,都有一種特別適用的系統;那麼不論市場狀況如何,你都可以應對。如果很多系統都發出類似的信號,通常意味著交易績效將很好。這種情況下,應該採納所有的信號,部位規模也會擴大。
系統性交易或主觀性判斷
對於交易系統發出的信號,使用者究竟應該被動接受,還是可以做主觀性的選擇或判斷,這方面的問題確實很有爭議。純粹的系統性交易者,只要系統經過妥善的測試,就會不經思考的接受每個信號。換言之,信號就是命令,沒有任何討價還價的餘地。這類系統可以排除情緒干擾。採用主觀性判斷系統,使用者可能接受某些信號,否決另一些信號;他們把信號當作警告,然後自行判斷是否應該接受,尤其是當價格已經出現延伸性走勢之後。某些人運用價格形態作為交易工具,由於很難設定為電腦程序,所以系統必然涉及很多主觀判斷。另一些人則根本不採用明確的系統。總之,那些傑出的交易者,即使完全通過主觀判斷進行交易,但還有很明確的買進和賣出法則。
如果不接受系統的每個信號,可能會產生問題:你所否決的某個信號,其獲利或許足以彌補最近5 筆交易的虧損。所以,當使用者怪罪交易系統績效不理想的時候,原因可能是沒有嚴格遵循系統的指示。換言之,績效之所以不理想,使用者必須負最大責任,而不是交易系統。雖然交易過程中允許使用主觀判斷,但系統性交易者不能隨著心情悲喜而任意否決信號。如果你採用的系統經過嚴格測試,最好的單純系統交易者,接受系統的每個信號,不是任意猜測,因為你無法預知哪些形態不能納人電腦化系統。你或許會看到交易系統所看不到的價格形態。你很難通過電腦程序判斷當時的行情處於艾略特波浪的第幾浪,或價格是否已經滿足38.2 %的折返目標。頭肩頸、蝶形、旗形之類的價格形態,幾乎不可能運用Traed Station 設定為電腦程序。可是,這些價格形態有些很適合進行交易。有時你知道政府即將公布某份報告,所以準備暫時留在場外觀望。第6 感也是無法通過電腦程序處理的東西。很多情況下,我會因為“覺得不對勁”而結束部位,即使當時的行情距離止損或獲利目標還很遠。遇到一些特殊狀況或重大事件時,你或許不應該接受系統提供的信號。舉例來說,假定價格突然大幅跳動而引發交易信號,你是否真的願意接受大幅跳動之後的價格呢?當時價位與信號發生價位之間,可能代表每口合約數百元的差異。這種情況下,或許應該少安毋躁,看看有沒有其他更適合進場的機會,即使你想接受信號,也不必急著進場。【BINGO收集整理】
究竟是否應該採用嚴格的系統性方法呢?這個問題恐怕沒有簡單的答案。兩種方法都可能賺錢,也都可能賠錢。可是,我們可以確認一點,如果某些方法確實有效,就不要三心二意。
常見的錯誤
編寫或尋找一套適用的系統,顯然不容易,在此過程中經常發生一些錯誤。除了系統根本不適用之外,還有一些常見的問題。雖然下一章會更深人討論歷史測試,但此處可以先談談可能發生的問題:交易資本不充分,太快就放棄某個系統,系統不具備正數的期望報酬,交易系統經過曲線套入,交易系統沒有經過適當的曆史測試。系統的績效沒有經過適當測試,最好不要採用,因為很可能造成太多不必要的損失。事實上,很多人採用的系統,完全沒有經過測試。在還沒有以實際的資金進行測試之前,最好不要投人太多資本。剛開始,在一些價格波動相對穩定的市場做少量交易,直到你確定該系統的績效能力之後,才以正常的資金規模進行操作。
沒有設定交易系統的績效目標 某些人會不斷嘗試修改系統,但永遠都覺得不滿意。他們花太多時間編寫程序,實際運用系統的時間反而不多。如果預先設定系統的績效目標,就可以避免這方面的困擾。開始時,就應該知道自己想要什麼。如果目標很明確,也就很容易找到適用的系統。假設你希望系統的交易勝率為55 % ,成功交易的獲利是失敗交易的2 倍以上,每筆交易的最大損失不超過3 000 美元,或不超過每個月獲利的5 %。在這種情況下,如果一套系統的測試績效能夠接近上述目標,就很不錯了。不要太吹毛求疵,否則永遠都無法實際出場。
系統範例 以下是一套運用於Trade Station 的簡單系統,相關信號都已經翻譯過。寫在大括弧內的文字,只是翻譯而已,不屬於系統的一部分。通過這個例子,讀者應該可以大致了解交易系統是如何編寫的。
買進信號:價格穿越最近10 期最高價,採用0.5 個標準差作為濾網(標準差根據最近10 期資料計算)。賣出信號也靠相同的方式設定,只是方向相反。所以,進場信號很單純,但出場信號則採用ADX 。如果走勢很強勁而趨勢明顯,就繼續留在場內,直到兩條移動平均交叉為止;如果ADX 很弱,系統將在10期後獲利了結;如果ADX 讀數是中性,則在隨機指標進人超買區之後獲利了結。最後,如果價格反向穿越進場價格的距離到達兩個標準差,則止損出場。
成為最佳交易者
如果想成為最佳交易者,就需要採用某種交易系統。不論是電腦化系統,還是在走勢圖上利用視覺判斷,也不論結構單純還是複雜,你都必須採用某種經過驗證的交易系統。除非你能夠不斷複制相同的決策,否則交易不只很可能會失敗,甚至弄不清楚自己究竟是怎麼失敗的。如果採用交易系統而不能賺錢,只有兩種可能:系統不夠好,或者你沒有嚴格遵守系統指示。如果你發現自己不能嚴格遵守系統信號,就需要尋找其他更適合自己交易風格的系統。如果系統不夠好,就必須想辦法解決,或尋找其他系統。交易系統使用之前,務必利用過去的價格資料進行測試。不採用交易系統的最大問題,就是你可能不知道自己究竟為何發生虧損,因為交易可能沒有明確的理由或動機。
即使採用電腦化系統,仍然可以運用某些主觀判斷,因為有效的策略未必都能設定為電腦程序。某些情況下,你可能覺得不對勁,在出場信號發生之前就想出場。只要你不至於過早了結獲利部位,或經常發生這類情況,就沒有間題。大體上來說,對於一套有效的系統,你應該盡可能採納所有信號,因為你無法預先知道哪些信號有效、哪些無效。
除了進場信號之外,交易系統也必須提供出場與止損信號,即使你採用心理止損而沒有設定在電腦程序內,那也沒有問題。只要你以一貫的態度執行止損,該止損就成為系統的一部分。預先設定出場點,可以減緩交易壓力,不需擔心自己過早或太晚出場,完全由交易系統來操心。【BINGO收集整理】
建構與測試交易系統,是一項大工程,· 但如果你想要成為最佳交易者,就必須花點心思在這方面,因為這是提昇交易勝算的必要條件。
採用交易系統發生虧損原因:
1 .太早放棄系統。
2 .忽略傭金與滑移價差。
3 .缺乏嚴格遵守信號的紀律。
4 .對於信號不能果斷反應。
5 .相信一些不確實的假設性結論。
6 .系統不符合使用者的交易風格。
7 .系統的操作方式超過交易者的資金規模或其他條件。
8 .系統沒有經過適當的測試。
9 .系統採用太多變數與條件。
10 .系統經過曲線套入。
11 .不能把握“保持簡單”的原則。
12. 系統不夠好。
高勝算的系統性交易:
1 .只採用獲利期望值為正數的交易系統。
2 .了解如何測試系統。
3 .系統最好能夠適用於各種不同市場。
4 .交易法則必須很清楚。
5 .出場的重要性,不低於進場。
6 .交易系統必須考慮止損。
7 .系統績效很穩定。
8 .保持簡單。
9 .在較長時間結構上採用另一套系統,作為警報,並監督止損位置。
10.在較短期時間結構上採用另一套系統,用以精確掌握進出場位置。
11 .系統的最大損失不要太大。
12 .了解自己最多能夠承受多少損失。
13 .利用不同系統的信號進行確認。
14 .必要情況下,可以利用主觀判斷。
15 .如果你想成為真正的系統性交易者,就應該採納每個信號。
值得提醒自己的一些問題:【BINGO收集整理】
1 .我是否真的擁有一套系統?
2 .我的系統是什麼?
3 .我的交易系統是否太複雜?
4 .我的交易系統是否考慮止損與出場?
5. 我的交易系統是否經過適當的歷史資料測試?
6 .我是否真的信賴這套系統?
7 .對於系統提供的信號,我是否經常三心二意?