iT邦幫忙

2023 iThome 鐵人賽

DAY 25
1
自我挑戰組

用GPT 撰寫選股策略系列 第 25

用 chatgpt 學習使用 pinescript 撰寫交易策略 - Day 25

  • 分享至 

  • xImage
  •  

用 chatgpt 學習使用 pinescript 撰寫交易策略 - Day 25

簡介

如何在 Pine Script 中實現趨勢追蹤策略

策略

趨勢追蹤策略是一種常見的交易策略,旨在捕捉市場中的長期趨勢,並在趨勢開始和結束時進行交易。在Pine Script中實現趨勢追蹤策略相對簡單,以下是一個具體的可執行示例。

PineScript 實作

//@version=4
strategy("趨勢追蹤策略", shorttitle="Trend Following", overlay=true)

// 定義趨勢追蹤指標(簡單移動平均線)
length = input(20, title="移動平均線長度")
sma = sma(close, length)

// 定義進出場規則
longCondition = crossover(close, sma)
shortCondition = crossunder(close, sma)

// 繪製移動平均線
plot(sma, color=color.blue, title="移動平均線")

// 標記進出場點
plotshape(series=longCondition, title="進場", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="出場", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// 定義停損和止盈
stopLoss = input(2, title="停損點(ATR倍數)")
takeProfit = input(2, title="止盈點(ATR倍數)")

// 計算平均真實範圍(ATR)
atrLength = input(14, title="ATR 長度")
atr = atr(atrLength)

// 計算停損和止盈價格
stopLossPrice = close - stopLoss * atr
takeProfitPrice = close + takeProfit * atr

// 進場設定
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// 出場設定
strategy.exit("Exit Long", from_entry="Long", stop=stopLossPrice, limit=takeProfitPrice)
strategy.exit("Exit Short", from_entry="Short", stop=stopLossPrice, limit=takeProfitPrice)

回測結果

執行結果分析

本金 1000 USD

移動平均線長度 20

停損點 (ATR倍數) 2

止盈點 (ATR倍數) 2

ATR 長度 14

淨利:

整體淨利為128.97美元,佔投資的12.9%。
第一個交易的淨利為128.97美元,佔投資的12.9%。
第二個交易未實現損益,因此淨利為0美元。

毛利和毛損:

整體毛利為250.49美元,佔投資的25.05%。
第一個交易的毛利為250.49美元,佔投資的25.05%。
第二個交易未實現毛損,因此毛利為0美元。

最大交易獲利和最大交易虧損:

最大交易獲利為135.46美元,佔整體淨利的11.93%。
最大交易虧損為20.31美元,佔整體淨利的1.84%。

購買和保留退貨:

購買和保留退貨總額為1,262,562.76美元,高達投資的126,256.28%。這個數值似乎異常高,可能需要進一步調查。

夏普比率和Sortino比率:

夏普比率為-0.659,可能表示整體的淨利不足以彌補投資的風險。
Sortino比率為-0.728,也反映了相似的風險情況。

盈利因子:

整體的盈利因子為2.061。
第一個交易的盈利因子為2.061。
第二個交易的盈利因子為N/A,因為未實現損益。

持倉損益:

整體持倉損益為0.00美元,佔投資的0%。

已付佣金:

已付佣金為0.00美元。

總持倉和交易次數:

總持倉為0。
總共有1,187個已平倉交易。

勝率:

整體的勝率為15%。
第一個交易的勝率為30.02%。
第二個交易的勝率為0%。

總體而言,交易策略似乎存在一些問題。夏普比率和Sortino比率都顯示出高風險,且整體勝率偏低。購買和保留退貨的數據也顯示異常高的值,需要仔細檢查。第一個交易表現較好,具有良好的盈利因子和較高的勝率。然而,第二個交易表現不佳,勝率為0%,可能需要對策略進一步研究和改進。

策略指標

結論

在Pine Script中實現趨勢追蹤策略可以幫助交易者識別市場中的長期趨勢並自動執行相應的交易。本範例演示了如何使用移動平均線作為趨勢追蹤指標,同時設置了停損和止盈點以控制風險。通過修改範例中的參數,交易者可以自定義策略以適應不同的市場和交易風格。趨勢追蹤策略是一種強大的工具,可用於長期投資和短期交易,並且在Pine Script中實現起來相對簡單。


上一篇
用 chatgpt 學習使用 pinescript 撰寫交易策略 - Day 24
下一篇
用 chatgpt 學習使用 pinescript 撰寫交易策略 - Day 26
系列文
用GPT 撰寫選股策略30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
孤獨一隻雞
iT邦研究生 4 級 ‧ 2023-09-27 09:22:26

河河河河河河

我要留言

立即登入留言