介紹
如果沒有正確的交易工具,您將無法有效地進行技術分析。良好的交易策略將幫助您避免常見錯誤,提高風險管理效率,並增強您識別和利用機會的能力。
對許多人來說,TradingView 是一個綜合圖表平台。憑藉一系列技術分析工具,這個強大的 HTML5 Web 應用程式被數百萬人用來追蹤外匯、加密貨幣和傳統股票市場的走勢。
TradingView擁有許多有用的功能:它允許用戶跨多個交易平台追蹤資產並在TradingView的社交網路中公開交易想法。在本文中,我們將重點介紹該平台的客製化功能。我們將使用 TradingView 自己的腳本語言 Pine Script,它使我們能夠對圖表佈局進行詳細控制。
讓我們開始吧!
什麼是Pine腳本?
Pine Script 是一種腳本語言,可用來修改 TradingView 上的圖表。該平台已經為您配備了許多功能來執行此操作,但 Pine Script 讓您更進一步。無論您是想更改蠟燭的顏色還是回測新策略,Pine Editor 都可以讓您根據需要即時自訂圖表。
程式碼本身設計得無可挑剔,因此請務必查看手冊以獲取更多資訊。我們在本指南中的目標是討論一些基礎知識並介紹在交易加密貨幣時有用的指標。
建立
您可以輕鬆開始使用 Pine 腳本。我們編寫的每個程式碼都在 TradingView 的伺服器上運行,因此您可以從瀏覽器存取編輯器並開發腳本 - 無需下載或額外配置。
在本指南中,我們將繪製比特幣/幣安美元 (BTCBUSD) 貨幣對的圖表。如果您沒有,請建立免費帳戶(也有專業版訂閱,但本教學不是必需的)。
單擊此鏈接,您將看到如下圖所示的圖表:
您的圖表可能比我們的新。
在這裡,我們將使用全功能圖表 - 點擊按鈕進行存取。這張圖表為我們提供了更詳細的資訊、繪圖工具以及繪製趨勢線的選項等。
功能齊全的圖表。您可以透過點擊反白顯示的標籤上方的視圖來調整時間範圍。
我們不會討論如何使用可用的工具,但如果您想做認真的技術分析,您應該了解這些工具。在左下角(如圖所示),您將看到幾個不同的標籤 - 點擊 Pine Editor。
松樹編輯器
這個編輯器真的很有幫助。我們將說明我們想要執行的操作,然後按一下「新增至圖表」以查看上方顯示的圖例。請注意,如果我們一次包含大量註釋,事情可能會變得混亂,因此我們將刪除範例中的註釋(右鍵單擊圖表 > 刪除指標)。
您可以看到我們在那裡有幾行程式碼。點擊“添加到圖表”看看會發生什麼。
第二個圖表新增在原始圖表下方。新圖表代表相同的數據。將滑鼠懸停在「我的腳本」上,然後按一下斜線進行刪除。現在,我們將深入研究程式碼。
研究(“我的腳本”)
第一行只是創建一條評論。該行僅要求您為指標提供所需的名稱(在本例中為「我的腳本」),而且還具有一些您可以新增的(可選)參數。其中之一是覆蓋,它告訴 TradingView 將指標放置在現有圖表上(而不是新的部分)。如您在第一個範例中看到的,系統預設值為 false。儘管我們現在看不到疊加層,overlay=true 會將指標加入現有圖表中。
情節(關閉)
這條線是繪製比特幣收盤價的指標。 plot 只是為我們提供了折線圖,但我們也可以顯示燭台圖和長條圖,您很快就會看到。
現在,讓我們嘗試以下程式碼行:
//@version=4 研究(“我的腳本”,overlay=true)plot(open,color=color.purple)
新增這行程式碼後,您將看到第二個圖表(看起來像原始圖表向右移動)。相反,我們所做的只是繪製開盤價,並且由於當天的開盤價是前一天的收盤價,這意味著它們具有相同的形狀。
好吧!讓我們刪除現有的註釋(請記住,我們透過右鍵單擊並按「刪除指示器」來完成此操作)。將滑鼠懸停在比特幣/BUSD 上並點擊隱藏按鈕也可清除當前圖表。
許多交易者喜歡蠟燭圖,因為它們比我們剛剛製作的簡單圖表提供更多資訊。接下來,我們將新增以下程式碼行。
//@version=4 研究(“我的腳本”,overlay=true)plotcandle(開盤價,最高價,最低價,收盤價)
開頭很好,但缺乏顏色使圖表有點平淡。理想情況下,當開盤價高於給定時間範圍內的收盤價時,我們應該使用紅色蠟燭;如果收盤價高於開盤價,我們應該使用綠色蠟燭。我們將在plotcandle()函數上方新增一行程式碼:
//@version=4 研究(“我的腳本”,overlay=true)顏色=開啟>=關閉? color.red : color.green 繪圖蠟燭(開盤價、最高價、最低價、收盤價)
此圖表將查看每個燭台並檢查開盤價是否大於或等於收盤價。如果是這樣,則意味著價格在此期間下跌,因此蠟燭將變成紅色。如果情況相反,蠟燭將變成綠色。修改plotcandle()函數以包含此顏色規則:
//@version=4 研究(“我的腳本”,overlay=true)顏色=開啟>=關閉? color.red : color.greenplotcandle(開盤價、最高價、最低價、收盤價、顏色=顏色)
如果尚未刪除現有指標,請將其新增至圖表中。現在我們將有一個常規的燭台圖。
偉大的!
繪製移動平均線 (MA)
我們有一些基線。讓我們繼續討論第一個自訂指標 - 指數移動平均線或 EMA。這是一個很有價值的工具,因為它使我們能夠過濾掉任何市場噪音並平滑價格趨勢。
EMA 與簡單移動平均線 (SMA) 略有不同,EMA 關注的是最新數據。 EMA 往往對突然波動更加敏感,通常用於短期交易(例如日間交易)。
簡單移動平均線 (SMA)
我們也可以繪製 SMA,以便稍後比較兩者。將此行程式碼新增至您的腳本:
繪圖(sma(收盤,10))
這行程式碼繪製了前十天的平均值。調整括號中的數字以查看考慮不同長度時曲線如何變化。
SMA,基於前十天。
指數移動平均線 (EMA)
EMA 會有點混亂,但不用擔心。首先,我們來分解這個公式:
EMA = (收盤價 - 前一日 EMA) * 乘數 - 前一日 EMA
那麼這個公式告訴我們什麼呢?每天,我們都會根據前一天的移動平均線計算新的移動平均線。乘數對最近時期進行“加權”,並根據以下公式計算:
乘數 = 2 /(EMA 長度 + 1)
對於簡單移動平均線,我們需要確定 EMA 的長度。從語法上講,EMA 圖函數與 SMA 圖函數類似。我們將 EMA 與 SMA 一起繪製,以便您可以比較兩者:
//@version=4 研究(“我的腳本”,overlay=true)plot(sma(close,10))plot(ema(close,10))
您可以看到兩種類型的 MA 之間存在細微差別。
➠ 想開始您的加密貨幣之旅嗎?在幣安購買比特幣!
預設腳本
到目前為止,我們已經手動編寫了程式碼,以便您可以清楚地理解它。但我們將介紹另一種節省時間的方法,特別是如果您正在編寫更複雜的腳本並且不想從頭開始。
在編輯器的右上角,按一下「新建」。您將看到一個顯示所有類型技術指標的下拉式選單。點擊指數移動平均線查看 EMA 指標的開源程式碼。
繼續並將這行程式碼加入圖表中。
這行程式碼與我們的不同—您會注意到 input() 函數。從可用性角度來看,這是一個有用的功能,因為您可以點擊此方塊...
...並透過點擊“設定”圖示輕鬆更改彈出視窗中的某些值。
我們將在下一個腳本中加入一些 input() 函數來示範這一點。
繪製相對強弱指數 (RSI) 指標
相對強弱指數(RSI)是技術分析中的另一個重要指標。此指標稱為動量指標,衡量資產買賣的速率。 RSI 分數的範圍為 0 到 100,告訴投資人資產是否超買或超賣。通常,如果分數小於或等於 30,則資產可視為超賣;如果分數大於或等於 70,則可視為超買。
如果您轉到“新建”>“RSI 策略”,您可以看到這一點。 RSI 通常以 14 小時為週期(即 14 小時或 14 天)進行測量,但您可以隨意調整該設定以適合您的策略。
將此指標加入圖表中。現在您應該會看到顯示一些箭頭(由程式碼中的strategy.entry() 函數定義)。 RsiLE 表示當資產可能超賣時,有做多該資產的潛在機會。 RsiSE 強調了當資產超買時可以做空該資產的點。請注意,與所有指標一樣,您不一定依賴這些訊號來確定價格會下跌/上漲。
審查
有一種方法可以讓您測試自訂指標。雖然過去的表現並不能保證未來的結果,但回溯測試腳本可以告訴您它們在收集訊號方面的效率如何。
下面我們將給出一個簡單腳本的範例。我們將創建一個簡單的策略,當 BTC 價格跌破 11,000 美元時建立多頭頭寸,並在價格超過 11,300 美元時平倉。然後您可以看到該策略過去的獲利情況。
//@version=4 策略(“ToDaMoon”,overlay=true) 輸入= 輸入(11000) 退出= 輸入(11300) 價格= 平倉if (價格<= 輸入) strategy.entry("BuyTheDip", Strategy.長 , comment="BuyTheDip") if (價格 >= 退出) strategy.close_all(comment="SellTheNews")
在這裡,我們將進入和退出定義為變數 - 兩者都是輸入,這意味著我們可以稍後在圖表上更改它們。我們還設定了可變價格,它採用每個時間段的收盤價。然後我們以 if 語句的形式使用一些邏輯。如果括號中的部分為 true,則下面的縮排區塊將運行。否則,它將被忽略。
因此,如果價格小於或等於我們預期的入場價格,第一個表達式將計算為 true,我們將建立多頭部位。當價格等於或超過所需的退出價格時,將觸發第二個區塊,關閉所有未平倉部位。
我們將使用指示進入/退出點的箭頭對圖表進行註釋,因此我們已經使用 comment 參數指定了將附加到這些點的標籤(在本例中為「BuyTheDip」和「SellTheNews」)。複製程式碼並將其新增至圖表中。
現在您可以看到圖表上的指標。你應該縮小圖表。
TradingView 會自動將規則套用至歷史資料。您也會注意到 TradingView 從 Pine 編輯器移至策略測試器標籤。這使您可以概覽潛在利潤、交易清單以及每筆交易的表現。
我們進入和退出的部位。
關聯
是時候使用從一開始到現在為止的一些概念來編寫您自己的腳本了。我們將結合 EMA 和 RSI 並使用它們的值來為蠟燭著色,提供我們可以輕鬆視覺化的見解。
此內容不應被視為財務建議 - 沒有客觀正確的方法來使用該指標。與任何其他指標一樣,您應該將此指標與其他工具結合使用來建立自己的策略。
現在我們將處理新腳本。讓我們從圖表中刪除所有指標並隱藏比特幣/BUSD 圖表,這樣我們就有了一個全新的框架。
讓我們先定義我們的研究。您可以將其命名為任何您想要的名稱,只需記住設定overlay=true即可。
研究(標題=“幣安學院腳本”,overlay=true)
記住上一節的 EMA 公式。我們需要提供 EMA 長度的乘數。使其成為需要整數的輸入(因此,沒有小數位)。我們也會設定一個最小值,可以是(minval)和一個預設值(defval)。
研究(title =“幣安學院腳本”,overlay = true) emaLength = input(title =“EMA Length”,type = input.integer,defval = 25,minval = 0)
使用這個新變量,我們可以計算圖表中每根蠟燭的 EMA 值:
研究(title=“幣安學院腳本”,overlay=true) emaLength = input(title=“EMA 長度”,type=input.integer,defval=25,minval=0) emaVal = ema(close, emaLength)
偉大的。轉到 RSI。我們將以類似的方式給出 RSI 的長度:
研究(title =“幣安學院腳本”,overlay = true)emaLength =輸入(title =“EMA長度”,type = input.integer,defval = 25,minval = 0)emaVal = ema(close,emaLength)rsiLength =輸入(標題=“RSI 長度”,類型=輸入.整數,defval=25,minval=0)
現在我們可以計算該值:
研究(title =“幣安學院腳本”,overlay = true)emaLength =輸入(title =“EMA長度”,type = input.integer,defval = 25,minval = 0)emaVal = ema(close,emaLength)rsiLength =輸入(title=“RSI 長度”,type=input.integer,defval=25,minval=0) rsiVal = rsi(close, rsiLength)
在此階段,我們將結合根據 EMA 和 RSI 值對蠟燭著色的邏輯。讓我們假設以下情況:(a) 蠟燭的收盤價超過 EMA 且 (b) RSI 高於 50。
為什麼?您可以決定使用這些指標的組合來了解何時購買或出售比特幣。例如,您可能認為滿足這兩個條件意味著現在是建立多頭部位的正確時機。或者相反,您可以使用該指標來知道何時不應該做空,即使其他指標另有說明。
因此,下一行程式碼將如下所示:
研究(title =“幣安學院腳本”,overlay = true)emaLength =輸入(title =“EMA長度”,type = input.integer,defval = 25,minval = 0)emaVal = ema(close,emaLength)rsiLength =輸入(title="RSI 長度",type=input.integer,defval=25,minval=0) rsiVal = rsi(close, rsiLength) 顏色 = close > emaVal 且 rsiVal > 50 ?顏色.綠色 : 顏色.紅色
如果我們翻譯這行程式碼,它只是意味著如果 EMA 值超過收盤價並且 RSI 分數超過 50,蠟燭將被著色為綠色。如果情況相反,蠟燭將變成紅色。
接下來,繪製 EMA:
研究(title =“幣安學院腳本”,overlay = true)emaLength =輸入(title =“EMA長度”,type = input.integer,defval = 25,minval = 0)emaVal = ema(close,emaLength)rsiLength =輸入(title="RSI 長度",type=input.integer,defval=25,minval=0) rsiVal = rsi(close, rsiLength) 顏色 = close > emaVal 且 rsiVal > 50 ? color.green : color.red 圖(emaVal, "EMA")
最後,繪製蠟燭,記得包含顏色參數:
研究(title =“幣安學院腳本”,overlay = true)emaLength =輸入(title =“EMA長度”,type = input.integer,defval = 25,minval = 0)emaVal = ema(close,emaLength)rsiLength =輸入(title="RSI 長度",type=input.integer,defval=25,minval=0) rsiVal = rsi(close, rsiLength) 顏色 = close > emaVal 且 rsiVal > 50 ? color.green : color.red 繪圖(emaVal,「EMA」)plotcandle(開盤價,最高價,最低價,收盤價,顏色=顏色)
這就是劇本!讓我們將此腳本添加到圖表中,看看它會是什麼樣子。
以 EMA/RSI 指標的 BTC/BUSD 圖表。
概括
在本文中,我們向您展示了一些基本範例,說明您可以在 TradingView 上使用 Pine 編輯器執行哪些操作。現在,您可以自信地為價格圖表創建簡單的註釋,從您自己的指標中獲得更多見解。
我們在這裡只對幾個指標感興趣,但您可以輕鬆創建更複雜的指標 - 透過從「新建」部分選擇內建腳本或自己編寫一個腳本。
你缺乏想法嗎?以下文章可能會為您的下一個專案提供一些想法:
拋物線轉向指標簡單指南
斐波那契回撤指標的使用說明
解釋快速指示器和慢速指示器
MACD 指標解釋