[TS懶人包] [保險服務]

2009年12月29日 星期二

程式交易 - TradeStation 幾個好用的保留字

這些保留字分別為:

SetStopLoss(DollarValue)
SetProfitTarget(DollarValue)
SetPercentTrailing(FloorAmnt, Percent)
SetDollarTrailing(DollarValue)
SetExitOnClose


就來一個一個介紹吧…首先是

SetStopLoss(DollarValue):

這個保留字用來設定停損使用。括號內放的數值是金額…以台指來講就是用點數乘上 200。以 SetStopLoss 設定的停損為觸點停損…對同一根 K 線內的進場也是有效用的。例如 buy next bar at market 進場後,行情往下走碰觸到停損點就會直接出場了。

SetProfitTarget(DollarValue):

這個保留字用來設定停利。和上面的停損相同…也是觸點就出場了。

SetPercentTrailing(FloorAmnt, Percent):

這個保留字是用來設定停利使用…他是以進場後的最大獲利折返多少百分比後出場。括號內的第一個數值是獲利的最小值,舉個例子:SetPercentTrailing(20000, 10) 來說…獲利超過 20000 後,折返 10% 就會出場(也就是折返 2000),但是當獲利沒有超過 20000 的時候,就不會執行出場囉。

SetDollarTrailing(DollarValue):

同樣是用來設定停利(或停損)使用,可以想成移動停損點。舉個例子:SetDollarTrailing(8000)來說,會以進場之後的最大獲利減掉 8000 作為出場點。假設買進在 8000 點,那目前的出場就是 7960 (8000 - 40 點),如果進場後最高漲到 8100,那出場就會在 8060 (8100 - 40 點)。

SetExitOnClose:

最後就是這個出場條件。懶人回測專用…通常寫到當沖程式都會在程式最後面加上:

if marketposition <> 0 and time = 1330 then begin
exitlong next bar at market;
exitshort next bar at market;
end;


這一串程式碼雖然不長…不過如果只是突然有個當沖的想法想回測一下…又懶的打這麼多字…那就可以先在程式碼內加上 SetExitOnClose,代表出場在當天結束的時候。

不過只能回測使用…因為系統判斷每一天的交易是否結束…是等待隔天的第一個 tick 出來才知道原來昨天已經收盤了。

20 則留言:

  1. …又懶的打這麼多字…

    建議: 自建1個Signal, 在 T
    radeStation StrategyBuilder選用即可

    如:
    if marketposition <> 0 and time = 1330 then begin
    exitlong("DLX") next bar at market;
    exitshort("DSX") next bar at market;
    end;

    回覆刪除
  2. SetStopLoss(DollarValue)
    SetProfitTarget(DollarValue)
    SetPercentTrailing(FloorAmnt, Percent)
    SetDollarTrailing(DollarValue)
    SetExitOnClose

    關於這幾個好用的語法
    HTS要怎樣翻呢?

    回覆刪除
  3. 形雲: 也是可以..等於是另外寫一個收盤平倉的程式一直套用。

    回覆刪除
  4. Maogic: hts 並沒有這些保留字喔..需要自己將程式轉過去使用了。

    回覆刪除
  5. 您好~HTS裡面有看到一個函數的叫做SetTrailingStop,跟TS的SetPercentTrailing很類似可是好像不盡然完全一樣的功能....? 而且無法檢查通過。

    回覆刪除
  6. Schmidt: 剛看了一下這個函式..他比較像 SetDollarTrailing(DollarValue),這個函式的內容為獲利超過多少點後…折反多少點就去作什麼事情…簡單的用法如下:

    if settrailingstop(100, 50, "A") then
    exitlong next bar at market
    exitshort next bar at market
    end if

    上面的用法為獲利超過 100 點後折返 50 點就出場。當然你也可以作其它的事…另外他的獲利算法是用 close 價…並不是用最高最低價。

    還有…第三個參數其實一點用處也沒用..所以我就給他個 "A"。

    回覆刪除
  7. DK大大 您好
    那HTS中
    maxpositionprofit函數的功能是否和settrailingstop又類似.其寫法要如何寫呢?感謝大大

    回覆刪除
  8. OK新手:看起來不是。這個保留字只是目前的獲利狀況而已...
    你可以用 print(maxpositionprofig(0)) 去看看。

    回覆刪除
  9. exitlong this bar at entryprice(0)+MaxPositionProfit(0)/200 -20 stop
    好像也是最高點後再下修20

    是否可以請大大能翻譯一下哩^^"

    感謝大大解惑

    回覆刪除
  10. OK新手: 翻譯啊...應該就都是字面上的意思了..

    多單出場 這根K線 在 進場價 + 最大獲利 - 20 點

    回覆刪除
  11. D.K感謝
    但是在下還是不明白所謂的
    maxpositionprofit"最大獲利"
    是如何依據?
    不好意思老是請大大解惑^^

    感謝

    回覆刪除
  12. OK新手: 假如是多單..那就是以進場後的最高價去減掉進場價就是最大獲利了..

    回覆刪除
  13. SetPercentTrailing(40000,15)

    抱歉...以上如果要翻成HTS要如何翻呢?

    回覆刪除
  14. Maogic: hts 沒有內鍵的函式可以用。所以需要自行用程式去寫出這個判斷了。

    回覆刪除
  15. D.K. 您好,
    我嘗試去理解 SetDollarTrailing的機制,
    我有2根K線如下
    date , time, o , h , l , c , vol, int
    01022001,1315,4880,4898,4880,4880,208,0
    01022001,1320,4880,4919,4880,4919,238,0
    我在 time 1315 使用了以下指令
    Buy 1 contracts next bar at 4907 or higher;
    SetDollarTrailing(1)
    的確有一筆多單在time=1320, 進場價格為 4907, 然而卻又在time=1320, 4906的價格 出場。

    照理說:根據模擬交易策略,在 time 1320, 模擬的順序應為 Open->Low->High->Close, 所以,在多單於 4907 進場後,4906這張單子應該不會出現才對!我想了老半天,不能理解為何 SetDollarTrailing 會出現?您能幫忙一下嗎?

    我的交易軟體是 TS 9, 交易費用設為0.

    謝謝您的幫忙

    回覆刪除
    回覆
    1. 我特地找了根實體紅 k 來試試…結果是正確的…

      https://lh5.googleusercontent.com/-WpXJoilGTAA/T0bteN_TTVI/AAAAAAAAE7A/F5Mq3onrSr4/s490/2012-02-24_095038.png

      我用的程式碼如下:


      if date = 1120222 and time = 1015 then buy next bar at 7944 stop;
      setdollartrailing(1);

      刪除
    2. DK 謝謝你的幫忙,不知道有哪裡需要變更設定?
      或者是版本問題?

      請問你的版本是?

      刪除
    3. 我看你提供的圖,似乎是買在 open price,
      我也嘗試買在 open price,
      Buy 1 contracts next bar at market;
      setdollartrailing(1);

      結果也是正確的,但我一開始的問題還是存在。

      刪除
    4. 我是用 Multicharts...

      https://lh5.googleusercontent.com/-pm9gCmfi0e4/T0cD3Jr1_II/AAAAAAAAE7U/pBWiNBGW6Rs/h301/2012-02-24_112539.png

      即使不是買在開盤價也是正確的~

      至於怎麼設定…這我就不確定了…因為我也沒改過什麼設定。

      刪除
    5. 謝謝您的幫忙,
      那應該確認是 TS 9 的問題。
      Bug 好多。

      剛剛測了一下,只要不是買在 open 就有問題。

      刪除

請留下您的大名…匿名者恕不回應…

Related Posts Plugin for WordPress, Blogger...