先介紹一下在 TradeStation 內常用到的變數、參數等宣告。比較常用的是變數…在程式的一開頭會宣告為: vars: length(20);
vars 就是 TradeStation 宣告的語法…他代表著如果在程式裡用到 length 這個單字…就是用 20 來取代這個數值。(如果在程式內沒有改變到 length 的數值的話…他將一直都是 20 這個數字)
如果要在 TradeStation 內執行最佳化,需先將要最佳化的變數宣告為參數。宣告的語法為 input。
input:length(20);
程式完成後,進入 StrategyBuilder 後可以可到如下畫面:
在 input 頁面記得重新 reset。往後如果有新增或減少 input 的宣告數量、或是修改預設的參數數值…都需要進到這個頁面按下 reset 才不會出現問題。
接下來在 K 線上新增訊號時會出現的畫面如下:
宣告為 input 的參數皆可以在此直接修改數值…這是宣告為 input 和 vars 的不同之處…在需要修改數值的地方按下 Edit 後就會出現修改畫面了。
修改畫面如下:
在此畫面可以修改數值並按下 OK 後…程式內定的數值將修改為目前的數值…不過此數值修改只在該 K 線上作用…如果是在另外一個圖表上新增此策略…那還是會先用內定值來使用…
換句話說…在此修改的數值並不會直接修改掉預設的數值。
最後,就是最佳化的執行過程…在上圖修改數值的畫面…可以看到左下角有個 Optimize 的選項…把這個勾選起來後…就可以看到最佳化的設定畫面:
這部份的設定需要設定該數值的起始值(Start)、最終值(Stop)、和每次增加的值(Inc)。
假如我要針對 length 從 20 到 50,每次增加 1 來做最佳化的話…在這邊的設定就是 Start: 20, Stop: 50, Inc: 1
程式就會開始從 length(20) 開始回測…一直回測到 length(50)
程式在跑最佳化的畫面如下:
這部份顯示著總共要回測的次數、目前執行到第幾次等資料。也有目前回測最好的獲利狀況為何。當然…在最佳化的時候請記得不要設的太多…另外如果有好幾個參數要一起最佳化…那你所需要花的時間就會變的很長很長…
在最佳化完成後…可以到下圖的地方看最佳化的報表:
TradeStation 會依照每個參數設定的值將結果列出來:
台中人:不好意思, 請教一下,我用ts2000i以ascii匯入歷史資料, 要怎樣畫出成交量呢?
回覆刪除台中人:原來是用指標阿 不好意思阿
回覆刪除taichung:
回覆刪除請問HTS的AverageModifiedMethod函數如何轉成ts呢?
請問大大 我想寫:若趨勢向上 則只買 平 買 平 若趨勢向下 則只賣 平 賣 平,那這 "趨勢向上 向下" 可用何語法?(或用多周期法->用長周期當作趨勢?)
回覆刪除Tony: 那就要看你怎麼定義了..比較簡單的話用長週期的均線其實代表趨勢也可以..
回覆刪除異大大你好:走入程式交易世界,老實說就是由你這開始啟蒙,真的非常感激你無私的奉獻,但是由此啟蒙卻不敢入門....去日盛開戶已經超過2個月,最近發現被日盛hts停權了..原因是當寫了一個不錯的程式,經過最佳化後,績效是非常亮眼的,但是同樣得參數在別的時間,卻是賠慘的....如此的結果,卻讓我裹足不前,不敢進場...請問:你是否有同樣的迷思,該如何解決?是每天做最佳化呢?還是忍痛等待波段來臨?還是以長天期(如10年)的最佳化後參數等待機會!經常最佳化的心得得到一個:短天期最佳化的績效比起長天期最佳化的績效好很多!但是也有可能賠的更慘...我該以長天期最佳化的參數或是短天期最佳化的參數作為操作依據呢?還是必須以多策略因應?以上是我半年來研究程式交易的困擾.希望大大能為在下解答迷津...非常感激...
回覆刪除雲淡風輕:hts 被停掉的話..也許可以麻煩營業員幫你打開…
回覆刪除再來程式的部份…短期的最佳化和長期的最佳化…我比較偏向使用長週期的…當然這不一定是最好的結果…
用短期的最佳化結果會比較符合近期的走勢…不過程式一直在作最佳化其實不太好…所以我比較偏好用長週期的結果…然後就放著不要更動了。
感謝D.K回答問題,尚有幾個問題請教你,以程式交易而言,最怕的盤勢就是盤整,試過很多程式幾乎一到盤整盤勢就是虧損連連,請問你有什麼辦法可以減少虧損,還是耐心等待波段開啟...另外我試過有加停損及未加停損的程式做比較,似乎未加停損的程式績效比較好;當沖及波段程式做比較,似乎波段程式績效比較優,如果是你,會怎樣選擇?非常感謝....
回覆刪除另外我可以使用你提供的免費下單機試用看看嗎?開始我的程式交易之路...我有開日盛及康和帳戶!如果你認識台証營業員可否請與我報價….目前我重點研究ts程式,因為我不願被hts口數給綁死...免費下單機適用ts嗎?是不是像日上或雅策需有一段程式放在主程式之後?如果用ts內建signal程式多個組成一個組合式策略,要把這段程式放在哪裡?還是獨立成一個程式,在把它組合進去…問題實在太多,非常抱歉….感謝你….
雲淡風輕:沒錯…幾乎所有的程式遇到盤整就是巴的死死的…很難有好的獲利…重點在面對這種盤的時候是不是還能夠有心信繼續跟單…這真的就是考驗了…整個五月份幾乎天天是這種盤…連我自己都快跟不太下去了…每天程式進場就是賠錢…我自己也相信…五月份讓非常多的程式交易者畢業…
回覆刪除我目前沒有什麼特別的辦法去避開這種盤…我想也沒有人作的到吧…就是死命跟單就對了…
加上停損和沒加停損…當然沒加停損的績效會比較好…因為有很多盤的走法是會把單子洗到停損就折返的…不過我還是覺得停損是必需要的…畢竟你不知道盤的走法是要洗停損還是真的轉折了…如果真的轉折又不停損…那只會讓虧損愈來愈大…也許回測績效有差…不過在把錢丟進市場的時候心情是絕對不一樣的…
當沖和波段…波段一定是績效比較好…但相對的風險比較高…這要看你自己的考量…波段的留倉風險我自己在上次漲停就遇到…你得考慮自己如果真的遇到這種情況時怎麼處理…這次的漲停還算客氣…還有機會讓我把單子處理掉…但如果遇到重大利空、突發性利空等…又剛好留到多單…那真的是吃二三根跌停不一定出的掉的…波段程式績效比較好…當然必需考慮到是不是都在漲跌停前作對方向…可是方向不可能永遠是對的…你得想到當你作錯方向的時候的問題。
目前我的作法是以當沖為主了…不過還是有留少部份波段單…不過比例上來說已經慢慢調整到 4 當沖 1 留倉…未來還會繼續把當沖調高…
至於免費下單機…當然可以使用…下載回去後註冊一個新的登入帳號就可以用了…台證的營業員的話…手續費是一定會比較低…有興趣可以來信詢問…免費版的下單機也可以讀取 TS 的資料…所以不需要再加寫到文字檔的程式碼(TS 寫到文字檔也會慢一根 k 線…)
感謝D.K詳細的解說,相信以上的問題也是許多新手的問題...造福很多想進入TS的網友,真是佛心來也....祝你操作獲利無限...
回覆刪除