目前日期文章:201007 (13)

瀏覽方式: 標題列表 簡短摘要

From: 異世界

最近剛好在研究怎麼寫多週期的交易策略…就順便寫了一個簡單的教學程式…所謂多週期的策略…就是需要參考到不同週期的資料…進而做進出場的判斷…基本上寫法也不是太難懂…這邊就用個簡單的例子來說明。

進場策略為:
15 分 K 的 10ma 和 20ma 交叉向上,且 60 分 K 的價格在 20ma 之上,則多單進場。
15 分 K 的 10ma 和 20ma 交叉向下,且 60 分 K 的價格在 20ma 之下,則空單進場。
有單時價格觸碰到 30ma 就出場。

就只有這樣子的想法而已…不算很有難度的策略。

JinShiang 發表在 痞客邦 留言(1) 人氣()

今天來談談「三隻小豬」,喔! 是「三隻鴨子」策略,為什麼叫作三隻鴨子策略,看完應該就會知道,基本上,三隻鴨子策略是屬於一種典型的多重時間架構策略,它是由 Captain Currency 所提出,若是讀完本文,還有興趣多了解這個策略,可以參考它的網站:http://captaincurrency.blogspot.com/2007/01/3-ducks-trading-system.html ,而圖示說明,為了讓使用者更清楚了解,我也直接引這個網站的截圖。

所謂多重時間架構策略,就是利用不同的時間架構(time frame),來進行交易。 不同的 time frame 個有個自的優缺點,一般來說比較長的 time frame ,可以看出趨勢的發展,比較容易判定支援、壓力區段,中時間的 time frame ,可以作為整體趨勢走向的判斷與確認,而短時間的 time frame,可作為實際進出點的基準。 因此若是能夠結合短、中、長的 time frame,可以由於各種不同角度觀察,提昇交易績效。 Marcel Link 在 「High Probability Trading」 (中譯本:高勝算操盤 - 學做操盤高手) 一書中,也是大力推薦多重時間架構的策略運用。

以下,就來說明「三隻鴨子」策略的內容:

「三隻鴨子」策略中,有三隻鴨子可以讓你確認目前是進場的買點或是賣點。 當三隻鴨子依同一個方向排為一列時,表示市場方向已經明確,可以進場的訊號。三隻鴨子的第一隻鴨子可知道目前趨勢是向上或是向下第二隻鴨子用來確認趨勢的方向第三隻鴨子是用來決定進場點

這個系統用三個 time frame,4 hours (第一隻鴨子), 1 hour (第二隻鴨子), 5 minutes (第三隻鴨子),每一個 time frame,都使用 60 k-bar 的均線 (60 SMA, 60 period simple moving average)。 下面是用外匯作例子,但同樣的觀念,應該在很多市場都適用。

Step 1 - 第一隻鴨子
看目前的價格(Price)是在 4 hours - 60 SMA 的上面或下面,若是在下面,則我們應該站在賣方會比較有例。


Step 2 - 第二隻鴨子
在 1 hours time frame,我們需要確認 第一隻鴨子 的方向,也就是若是第一隻鴨子是在賣方,則Price也需要確認在 1 hours - 60 SMA 的下面,才能到 step 3,否則,則不能到下一個step。

JinShiang 發表在 痞客邦 留言(0) 人氣()

From: 小肥牛

inputs: Length( 18 ), OverSold( 40 ) ;
variables: OverBought(60), oFastK( 0 ), oFastD( 0 ), oSlowK( 0 ), oSlowD( 0 );

OverBought = 100 - OverSold;
Value1 = Stochastic( H, L, C, Length, 3, 3, 1, oFastK, oFastD, oSlowK, oSlowD ) ;

if oSlowK cross over oSlowD and oSlowK < OverSold then begin
    Buy ( "StochLE" ) next bar at market ;
end;

if oSlowK cross under oSlowD and oSlowK > OverBought then begin
    Sell Short ( "StochSE" ) next bar at market ;

JinShiang 發表在 痞客邦 留言(0) 人氣()

From : 藍色投機客

進場點Strategy Potential的觀念就是指一個交易系統具有良好的進場系統,價格的走勢通常會在進場之後,就往我們喜歡的方向發展,也就是我們一進場之後就開始獲利的意思。在那篇文章當中,我們用了一個3rd party的軟體來看進場點是不是具有potential,今天要報告的是用不需花錢就可以做到同樣功能的方法,也就是Time Exit(Fix Bar Exit)出場方法。

還記得我們在尋找出場系統的時候,會想要設計一個中立的(Neutral)”進場系統,所以我們設計了隨機進場系統,好方便來測試出場點是不是能夠獲利的。

我們也可以反過來做,如果我們想要尋找能夠獲利的進場系統的話,就應該把出場設計為中立的(Neutral)”’才對。所以如果測試出來的結果是會獲利的,因為出場是不具有獲利能力的,所以我們就可以歸納是因為良好的進場系統讓我們獲利的。而這裡所謂中立的出場點有幾種方法,收盤出場是其中一種,接下來要報告的Time Exit也是其中一種。

Time Exit的觀念其實很簡單,就是在我們進場之後,固定幾根K線之後就出場。完全不管進場之後價格如何發展,沒有濾網,沒有追蹤停損,也沒有獲利了結的觀念,所以算是相當Neutral的出場方法。TS也已經把這個出場系統內建在標準策略裡面了,所以我們直接套用就可以了。

接下來我想用一個例子作簡單的說明。比如說我們想要測試兩條移動平均線進場系統是不是具有獲利能力,那我們就可以固定住用10K線和100K線這兩條移動平均線的進場系統,加上Time Exit(Bars)的這個出場系統。然後我們只對Time Exit(Bars)幾根K線出場這個參數跑最佳化。當跑完最佳化以後,我們可以來看Strategy Optimization Report

接著我們讓Optimization Report依照test順序排好,然後滑鼠點選All:Net Profit這個欄位,接著按Line Graph這個按鈕。

這時候就會出現一個曲線圖,這個曲線圖的X軸代表著是進場之後固定幾根K線出場。Y軸代表的是這個策略的獲利能力。由下面的圖我們可以看得出來,我們固定在10K線和60K線交叉之後進場的話,平均來說,剛進場之後會是賠錢的。但是在經過11K線的時間發展之後,我們開始進入獲利的狀態,而且約略在第60K線附近,我們的獲利能力達到高峰。

這時候我們就會知道,兩根移動平均線的進場系統是具有Strategy Potential的。平均來說,雖然剛進場之後是會賠錢的,但是經過11 K線時間的發展,價格就會發展到讓我們獲利的程度。所以我們接下來就可以測試不同的出場系統,例如不同的追蹤停損方法,看哪一種方法可以讓我們保留最多的利潤。

另外一種情形,如果我們跑出來的曲線是像下面這樣的話,那就代表這個進場系統很爛,一進場之後就讓我們賠錢(因為都在水平面之下),不管經過幾根K線之後,都還沒有辦法讓我們進入獲利的狀態。像這種情形,不管用什麼樣的出場系統(追蹤停損,獲利了結),也沒辦法改善這個進場系統。這時候我們就知道應該花時間開發其他的進場系統了。

JinShiang 發表在 痞客邦 留言(2) 人氣()

From: TSTS星人

這裡介紹的是海龜通道突破系統,海龜始祖:理察‧丹尼斯,會用這個方法不是沒道理的,因為簡單的二個參數,便道盡交易的真理,不管你用DMI、MACD、均線交叉,說穿了就是通道突破而已(當你均線交叉了,通常通道也突破了)
模型設定:

1、當突破過去N根K線的高點,做多。

2、當突破過去N根K線的低點,做空。

附上程式碼

JinShiang 發表在 痞客邦 留言(0) 人氣()

From: TSTS星人

bollinger band的逆勢系統,bollinger band的主要構成為,均線及均線加減2倍標準差以後,所形成的上下通道。在統計上,超過2倍標差,代表價格偏離均線過大,如果一個具有均數回歸特性的期貨,那麼價格通常會回歸均數。

模型設定:

1、當價格站上n天bollinger band的通道上緣時,且下一根kbar向下穿過bollinger band的上緣時,放空。

2、當價格跌破n天bollinger band的通道下緣時,且下一根kbar向上穿過bollinger band的下緣時,做多。

會想等價格跌破bollinger band上緣或站上bollinger band下緣時,才進場,是怕如果趨勢太強,有可能價格一直在bollinger band上緣或下緣,意思就是,別逆勢去空在勢頭上,或太快去接掉下來的刀子。當然也有可能,放空了一口後,價格開始下跌,然後一直在band的下緣都站不上去,就都不會反手做多,會變成很可觀的獲利。

附上程式碼:

inputs:

JinShiang 發表在 痞客邦 留言(0) 人氣()

  • 這是一篇加密文章,請輸入密碼
  • 密碼提示:company
  • 請輸入密碼:

DMI利用計量分析方法,以較客觀性的態度,研判股價漲跌的趨勢。在研判時,未摻雜個人主觀性的判斷,且能考慮股價每日的最高價、最低價及收盤價三者間的波動情形,可對股價的波動情形做完整性分析。

1.先求出趨向變動值(DM)--趨向變動值為本日股價變動幅度大於昨日股價變動幅度的『最大值』。
『+DM』= 本日最高價 - 昨日最低價
『-DM』 = 本日最低價 - 昨日最低價
DM能表達出股價波動增減的幅度。『+DM』及『-DM』計算出來後,再分別求出其N日移動平均值(一般以10日、12日、14日為計算日期)。
2.找出真實的波幅(真實的波動價位值,簡稱TR)--TR為本日行情與昨日行情比較後的最大變動值。該變動值需比較下列三種差價的『絕對值』後,取其中最大者為本日之TR。
  1. 本日最高價 - 本日最低價
  2. 本日最高價 - 昨日收盤價
  3. 本日最低價 - 昨日收盤價
TR求出後,再計算其N日之移動平均值。
3.求出方向線(DI)--為探測股價上漲或下跌方向的指標,以 +DI表示上升方向指標,為最近N日內實際上漲的動量百分比;以 - DI表示下跌方向指標,為最近N日內實際下跌的動量百分比。
  1. +DI = + DI N日平均 / TR N日平均
  2. -DI = - DI N日平均 / TR N日平均
4.最後求出平均方向的移動平均值(ADX)--
  1. 方向平均值(DX) =︱ (+DI) - (-DI)︱ (絕對值) / (+DI) + (-DI)
  2. 再計算其N日移動平均值ADX

ex.10日移動平均值 = 本日 ADX = 昨日 ADX * 9/10 + 本日的 ADX * 1/10

 

  • 正DI為上漲方向指標,正DI值愈高,代表漲勢明確而強烈;負DI為下跌方向指標,負DI值愈高時,代表跌勢明確而乏力。
  • +DI線由下向上突破 -DI線時,兩者交叉時,為買進訊號,若ADX線再上揚,則漲勢更強。因股價上漲, +DI線會向上攀升,顯示上升動量的增強, -DI線則會下跌,反映下跌動量的減弱。
  • +DI線由上向下跌破 -DI線時,兩者交叉時,為賣出訊號,若ADX線再走上揚,則跌勢更凶。
  • ADX為趨勢動量指標,在漲勢或跌勢明顯的階段,ADX線會逐漸增加,代表上漲或下跌的力量已經增強。因此若ADX經常在低檔徘徊時,表示行情處於漲升乏力的弱勢市場中;若ADX經常在高檔徘徊,則代表行情處於作多有利的強勢市場中。
  • +DI線與 -DI線經常接近甚至糾纏不清,此時若ADX值亦降至20以下時,代表行情處於盤整的牛皮階段,作多或作空均不易獲利。
  • 當股價到達高峰或谷底時,,ADX會在其前後達到最高點後反轉,因此,當ADX從上升的走向轉而為下降時,顯示行情即將反轉。故在漲勢中,ADX在高檔處由升轉跌,表示漲勢即將結束;反之,在跌勢中,ADX也在高檔處由升轉跌,亦表示跌勢將告結束。

  • JinShiang 發表在 痞客邦 留言(0) 人氣()

    From 藍色投機客

    今天要報告的系統是”Building winning Trading Systems with TradeStation”裡面的第四個系統。這是屬於適應性(Adaptive)系統之一,所謂的適應性系統的觀念,是指這種系統的參數,會依據市場目前的狀況而自行調整。


    舉例來說,Donchian Channel(也就是我最愛的Price Channel Breakout)系統,如果參數設的太短(比如說20天的價格突破),那麼在趨勢明確的市場裡就會表現的不錯,因為可以在行情剛啟動的時候就產生訊號進場。而且出場的機制也會跟蹤的比較緊密,不容易讓到手的獲利回吐出去。但是太短的參數在擺盪的市場裡,就會因為進出場訊號出現的太頻繁而導致常常被巴來巴去。所以在擺盪的市場裡,應該要把參數設得比較長一點(比如說60天的價格突破),讓訊號不要產生的那麼頻繁而導致反覆被巴的情形。而Adaptive System(適應性系統)的設計原則,就是讓系統本身的參數會依據目前市場的狀況而自行調整參數本身的值,而不是像一般人常用的固定參數值的方式。


    而如何讓參數的值會依據市場狀況的變動而自行調整呢?之前報告過的ChoppyMarketIndex可以是一種方式,ADX也可以是一種方式。這兩種指標都可以指出目前市場是屬於趨勢市場或者是擺盪市場。而在這本書裡,用的則是市場的波動度來做為衡量的標準。作者認為在擺盪市場裡,市場的波動會隨著變大,所以應該要隨著增加Donchian Channel系統參數的值(在這裡用look back days),這樣比較不容易產生進反覆的出場訊號。而在趨勢市場裡,市場的走勢趨向明確,而波動度會隨著變小,因此應該要減少參數的值,讓行情一發動的時候就可以進場,也讓出場的點位追蹤的比較緊密。(藍色投機客註:我發現波動度跟市場的趨勢性不一定呈現負相關,但是為了忠於原著,所以繼續用作者的觀點來做說明。畢竟重點是要讓大家知道適應性系統Adaptive System的觀念)


    在決定了採用什麼指標來代表目前市場的趨勢性之後,我們可以根據 Donchian Channel在過去歷史資料的回測,來看理想的參數值應該訂在什麼樣的上下限之間。而根據作者的一些回測顯示,參數值最低不應該低於20天,最高不應該高過60天。所以我們訂出參數值的上下限應該介於20天到60天之間。


    接下來我們就來看如何界定市場的波動度。一開始的時候,這個系統會以20天的價格突破來做為基準,之後每天收盤的時候,去計算最近30天收盤價的標準差,然後用這30天收盤價的標準差來定義市場的波動度。我們也可以用ATR來代替標準差。然後每天來比較市場波動度的增減,如果市場波動度變大10%,那麼也就把look back days參數值增加10%。而如果市場波動度減少10%,那麼也就跟著把look back days參數值減少10%。

    JinShiang 發表在 痞客邦 留言(0) 人氣()

    From 藍色投機客

    系統的細節說明如下:

    Setup : 開盤後等待一個小時,然後抓取開盤後第一個小時的高點和低點。(一個小時只是範例,可以依據市場調整)
    Entry : 開盤區間的時間過後,突破區間高點+2檔進場做多,跌破區間低點-2點進場做空。(+ - 2點只是一個簡單的濾網,是要防止價格點到區間高/低點就回頭,而不是真突破)。每天每個方向只進場一次,以防止當天盤整盤,導致反覆進場。
    Exit : 收盤出場。或者可以根據每個人不同的個性,採用不同的出場方式。Profit Target, StopLoss, Percent Trailing, ATR Trailing, Channel Trailing等不同的出場法都可以用。不過原則就是收盤前一定要出場。

    input :
    ORBeginTime(0845), // Opening Range Begin Time
    OREndTime(0945), // Opening Range End Time
    NoTradeTime(1300); // Don't place order after 13:00

    JinShiang 發表在 痞客邦 留言(1) 人氣()

    程式交易大方向分成當沖與波段,但是在設計當沖程式的時候有些
    觀念看似簡單,但是卻是很多人容易忽略的地方。

    在這裡歸納幾個要點:
    • 不留倉:當沖程式不能留倉,所以一定要在收盤前平倉,而
      且要避免在最後結束才平倉,因為當 13:45 才出現訊號,這
      筆交易應該是不會成功的。

    • 變數重設:當沖程式每天的變數都必須重新初始化,這樣才
      確保資料的正確性。

    JinShiang 發表在 痞客邦 留言(0) 人氣()

    60分鐘的第二根K棒開於第一根之內
    則突破第一根K棒高點則買進
    則跌破第一根K棒低點則賣出

    一篇滿久的文章,2007年的問題

    這是個很簡單的交易策略,雖然板上已經有寫出答案,但是這
    個答案似乎跟上面想法有點出入,因此在這裡將上面的想法利
    用TS回測,並將想法修正成5K線:

    JinShiang 發表在 痞客邦 留言(0) 人氣()

    Entryprice

    意義:進場點位

    PS. 無論是TS或是HTS,括弧內的數值代表過去的值

    這參數常常被拿來使用,如果只是使用單一口單應該是不會有什麼問題
    Entryprice(0)表示進場單點位,假設程式在 7100 做一口多單,也就是
    Entryprice(0)的數值就是 7100。

    JinShiang 發表在 痞客邦 留言(0) 人氣()