如何用TradingView腳本編輯器功能設定避開空頭的技術指標【程式篇】

最後更新:2023-08-07

這篇文章市場先生提供一個TradingView操作範例,
是提供一個腳本編輯器功能範本(沒錯就是寫code,我有提供一個範本)。

上一篇文章有提供了一個避開空頭的技術指標設定,
可閱讀:如何用TradingView設定避開空頭的技術指標【指標篇】

裡面有提到如何用內建的功能設定技術指標並修改參數,
這篇則是分享如何用語法編輯器來寫指標。

TradingView是一個目前全球用來看股票價格線圖最方便的免費網站
基本上連yahoo finance的圖表都是用他們家的圖表,
資料最齊全、功能最多、而且畫出來的圖好看,
商品圖表基本上是從股票指數ETF外匯期貨差價合約、虛擬貨幣都有。
目前台灣的TradingView網站也有提供中文化介面。

TradingView有提供語法編輯的功能,彈性很大可以寫任何自己想要的指標,
以下分享語法編輯器如何操作的案例:

(以下建議用電腦打開操作,手機上應該不方便操作)

 

第一步:打開TradingView

TradingView圖表網頁(點選連結)

 

第二步:輸入代號SPX(s&p500),打開全功能圖表

SPX是S&P500指數的代號,打開網頁後在左上輸入SPX即可。
有時候進去會是英文,在輸入代碼(ticker)的左側有一個EN,點一下可以切換成中文。

可閱讀:什麼是S&P500指數?

然後就可以看到圖表了

 

第三步:打開畫面下方的Pine編輯器
新增空白指示腳本、貼上程式碼

1. 打開畫面下方Pine編輯器
2. 新增空白指示腳本(畫指標圖的意思)
3. 複製貼上我提供的腳本
4. 儲存

以下先提供我的腳本策略範本,有興趣人也可以自己研究改寫:

策略概念:不頻繁進出的情況下,避開大幅的下跌(目前只適用在S&P500)
指標:如果5MA低於250MA包路線下緣2.5%就出場,並且22交易日(一個月)內不再進場,並於圖中用箭頭標示出有風險的區域。

上述策略已經寫好腳本,
在腳本中複製貼上以下程式碼即可 (2023/8/7更新,TradingView有改版,所以之前有些舊的函數不能用,以下我有換成新的寫法):

//@Mr. Market

indicator(title=”MAs for risk managememt”, overlay=true)
short = ta.sma(close, 5)
long = ta.sma(close, 250) * 0.975
risky_period = ta.sma(math.sign(short-long)*0.5 – 0.5 ,22)*22
risky_indicator = risky_period<0?1:0
plot(short,  color=color(color.teal))
plot(long,  color=color(color.green))
plotarrow(risky_indicator,  colorup=color.new(color.black,30),  colordown=color.new(color.orange,30), maxheight=20)

<補充:有網友提到,文字複製貼上時雙引號(“)或一些符號有時會自動變成全形文字,要重新輸入一次才能使用>

至於程式碼我就先不解釋了,
這語法跟Multicharts很類似有寫過的人可能可以很快上手,
有興趣的自己研究囉。

完成:在圖表上標記出空頭風險區塊

完成後可以看到圖表中標黑色箭頭的,
就是長期投資需要暫時出場的區域。

當然沒有任何策略是絕對完美的,
這類風控策略雖然可以避開例如2008年巨大的大跌,
但在盤整時有時幅度較大也可能先出場,例如2015年就會被洗一次,
但主要本著不頻繁進出的原則,避開有劇烈波動的區段,讓長期投資的風控可以更好。

(本策略僅供教學使用,請勿作為任何進出的依據)

剩下的自己打開TradingView試試看吧。

TradingView官網(點選連結)

Trading View最佳看盤畫線圖工具》操作與服務介紹

更多理財教學:

1. ETF投資入門》教學懶人包

2. 5家台灣人最常用的美股券商比較(美股、ETF、期貨等)

3. 如何買進ETF?從開戶到下單全教學

4. 股票開戶》最新優惠開戶活動分享

5. 基金入門教學懶人包

6. 基金開戶》買基金0手續費的開戶優惠

加入市場先生FB社團,充實更多理財好知識

50歲之前想退休一定要懂理財,
解決投資的煩惱!

最近市場先生開了一堂的「用美股ETF創造穩定現金流」教學課程,
這堂課程會從基礎入門、資料查詢到實際操作,
教你學會建立一個穩定的全球ETF投資組合,目前累積已經有將近1100位同學上課。

線上課程》美股ETF創造穩定現金流線上課程連結


如果覺得這篇文章有幫助,
幫我按個讚,分享給更多人看到,謝謝!

上 / 下一篇文章

一般留言

  1. 您好,市場先生,
    謝謝分享此有用的網站以及code, 不過我按照您的方式,在表格沒有顯示黑色的箭頭耶?
    code也有儲存,請問儲存後還需要什麼步驟嗎? 謝謝。

    1. plotarrow(risky_indicator, colorup=black, colordown=orange, maxheight=20,transp=30)看這行是不是沒貼到

      或是檢查一下左上的日期是不是”日”,如果用週K或月K會出不來喔

      1. 謝謝您的回覆,還是無法。以下是我貼的語法:
        //@Mr. Market
        study(title=”MAs for risk managememt”, overlay=true)
        short = sma(close, 5)
        long = sma(close, 250) * 0.975
        risky_period = sma(sign(short-long)*0.5 – 0.5 ,22)*22
        risky_indicator = risky_period<0?1:0

        plot(short, color = teal)
        plot(long, color = green)
        plotarrow(risky_indicator, colorup=black, colordown=orange, maxheight=20,transp=30)")

        然後add to chart時候顯示:
        Add to Chart operation failed, reason: Script could not be translated from: null

        謝謝。

        1. plotarrow(risky_indicator, colorup=black, colordown=orange, maxheight=20,transp=30)”)
          這行後面多了一個 “)

          1. Hi, 您好,
            已經改為正確的code,但是還是一樣的訊息:
            Add to Chart operation failed, reason: Script could not be translated from: null
            >”<

          2. 原因是因為 study(title=”MAs for risk managememt”, overlay=true) 這一行的兩個雙引號被blog變成全型,重新用半形打兩個””就可以了,檢查雙引號是全形還是半形就可以了

          3. study(title=”MAs for risk managememt”, overlay=true)
            short = sma(close, 5)
            long = sma(close, 250) * 0.975
            risky_period = sma(sign(short-long)*0.5 – 0.5 ,22)*22
            risky_indicator = risky_period< 0?1:0

            plot(short, color = #008080)
            plot(long, color = #008000)
            plotarrow(risky_indicator, colorup=#000000, colordown=#FF7F00, maxheight=20,transp=30)

  2. 您好 我貼上語法也確定在日線 但卻說添加到圖表操作失敗, 原因:Script could not be translated from: null
    不知道是哪裡錯誤了呢?
    以下是我貼的語法
    謝謝!

    //@Mr. Market
    study(title=”MAs for risk managememt”, overlay=true)
    short = sma(close, 5)
    long = sma(close, 250) * 0.975
    risky_period = sma(sign(short-long)*0.5 – 0.5 ,22)*22
    risky_indicator = risky_period<0?1:0

    plot(short, color = teal)
    plot(long, color = green)
    plotarrow(risky_indicator, colorup=black, colordown=orange, maxheight=20,transp=30)

    1. 可以把下面一行一行拿掉做檢查 找到看是哪一行被認為出問題~

      如果還是不行的話需要截圖到我信箱看才知道喔

      1. 老師是因為blog會自動把”變成全形造成的哦,可能要標註一下要自己改成半型

  3. study(title=”MAs for risk managememt”, overlay=true)
    short = sma(close, 5)
    long = sma(close, 250) * 0.975
    risky_period = sma(sign(short-long)* 0.5 – 0.5 ,22)*22
    risky_indicator = risky_period<0?1:0

    plot(short, color=#008080)
    plot(long, color=#008000)
    plotarrow(risky_indicator, colorup=#000000, colordown=#FF7F00, maxheight=20,transp=30)

    //這樣就會顯示了

  4. 我的可以了
    study(title=”MAs for risk managememt”, overlay=true)
    要改成study(title=”MAs for risk managememt”, overlay=true)
    就可以了

  5. Copy & Paste 过去的字型会有问题,把加减乘除和引号等删除后从新打过一次就可以了。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *