如何用TradingView腳本編輯器功能設定避開空頭的技術指標【程式篇】
這篇文章市場先生提供一個TradingView操作範例,
是提供一個腳本編輯器功能範本(沒錯就是寫code,我有提供一個範本)。
上一篇文章有提供了一個避開空頭的技術指標設定,
可閱讀:如何用TradingView設定避開空頭的技術指標【指標篇】
裡面有提到如何用內建的功能設定技術指標並修改參數,
這篇則是分享如何用語法編輯器來寫指標。
TradingView是一個目前全球用來看股票價格線圖最方便的免費網站,
基本上連yahoo finance的圖表都是用他們家的圖表,
資料最齊全、功能最多、而且畫出來的圖好看,
商品圖表基本上是從股票、指數、ETF、外匯、期貨、差價合約、虛擬貨幣都有。
目前台灣的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.975risky_period = ta.sma(math.sign(short-long)*0.5 – 0.5 ,22)*22risky_indicator = risky_period<0?1:0plot(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試試看吧。
本文為資訊整理與觀念教學分享,內容提到任何標的或券商均無推薦之意,投資必定有風險,任何投資決策前請務必自行評估判斷。
其他理財教學:
1. TradingView模擬交易工具功能介紹(流程圖解)
2. 常見的技術指標有哪些?
3. 美股看盤軟體推薦哪個?
加入市場先生FB社團,充實更多理財好知識
50歲之前想退休一定要懂理財,解決投資的煩惱!
市場先生開了一堂的「用美股ETF創造穩定現金流」教學課程,
這堂課程會從基礎入門、資料查詢到實際操作,
教你學會建立一個穩定的全球ETF投資組合,目前累積已經有將近2000位同學上課。
線上課程》美股ETF創造穩定現金流線上課程連結
如果覺得這篇文章有幫助,
幫我按個讚,分享給更多人看到,謝謝!
您好,市場先生,
謝謝分享此有用的網站以及code, 不過我按照您的方式,在表格沒有顯示黑色的箭頭耶?
code也有儲存,請問儲存後還需要什麼步驟嗎? 謝謝。
plotarrow(risky_indicator, colorup=black, colordown=orange, maxheight=20,transp=30)看這行是不是沒貼到
或是檢查一下左上的日期是不是”日”,如果用週K或月K會出不來喔
謝謝您的回覆,還是無法。以下是我貼的語法:
//@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
謝謝。
plotarrow(risky_indicator, colorup=black, colordown=orange, maxheight=20,transp=30)”)
這行後面多了一個 “)
Hi, 您好,
已經改為正確的code,但是還是一樣的訊息:
Add to Chart operation failed, reason: Script could not be translated from: null
>”<
原因是因為 study(title=”MAs for risk managememt”, overlay=true) 這一行的兩個雙引號被blog變成全型,重新用半形打兩個””就可以了,檢查雙引號是全形還是半形就可以了
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)
您好 我貼上語法也確定在日線 但卻說添加到圖表操作失敗, 原因: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)
可以把下面一行一行拿掉做檢查 找到看是哪一行被認為出問題~
如果還是不行的話需要截圖到我信箱看才知道喔
老師是因為blog會自動把”變成全形造成的哦,可能要標註一下要自己改成半型
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)
//這樣就會顯示了
我的可以了
study(title=”MAs for risk managememt”, overlay=true)
要改成study(title=”MAs for risk managememt”, overlay=true)
就可以了
Copy & Paste 过去的字型会有问题,把加减乘除和引号等删除后从新打过一次就可以了。
謝謝回復!
我也有上述的問題 程式碼改用 gist 貼比較不會有問題
https://gist.github.com/stanwu/69265c159e141795e156d4e3b81efdf8
謝謝回饋~