
【趣味】如何用 ChatGPT 寫出 MultiCharts 的交易策略?能用嗎?
2023/02/17 - MultiCharts,TOUCHANCE,ChatGPT,人工智慧,AI,均線交叉,績效報告
什麽是 Chat GPT?
ChatGPT 是一款人工智能聊天機器人,2022 年 11 月發布後受到全球的矚目,微軟、谷歌、蘋果等科技巨頭與全球的網紅每個都要蹭一下 ChatGPT,當然我們也要跟瘋(跟著瘋一下),一起蹭蹭 ChatGPT 的熱度。
不過要蹭這個聰明的 AI 我們也要知道一些他的特性才行,ChatGPT 是在 Azure AI 超級計算基礎設施上訓練的,訓練的内容從歷史、哲學、經濟、時事到日常生活等話題統統包含在内。
圖片來源:https://investingnews.com/invest-in-openai-chatgpt/
跟 ChatGPT 溝通時,就像跟真人聊天!在對話的形式下,ChatGPT可以回答問題,承認錯誤,提出質疑同時拒絕不適當的請求。當你發出問題,沒有幾秒的時間她就可以行雲流水的與你侃侃而談。
AI 能寫程式已經不是新聞!
我們今天就來跟 ChatGPT 合作一下,看看她能不能幫我們寫出 MultiCharts 可執行的交易策略!
我:hi 會用 MultiCharts 的 PowerLanguge 寫程式嗎?
ChatGPT: 抱歉,我只是一個語言模型,我並不具備實際操作 MultiCharts 與 PowerLanguage 的能力。。。
OS:
看到 ChatGPT 的回答,我就知道她誤會我了,我怎麽可能會要求她來操作 MultiCharts 呢?
可見跟 ChatGPT 溝通,語意真的很重要!
我:我知道你沒有辦法操作 MultiCharts,那麽你能幫我生成程式碼嗎?
ChatGPT: 當然可以幫你生成程式碼。。。
OS:
可以耶!而且非常 nice 的提供了更多的資訊,不但仔細的提醒要明確的跟她說要什麽,還提醒你生成的程式碼要進一步的修正與調整才能符合我的需求,這不跟坊間賣策略的一樣嗎。。。
沒關係,我們繼續!
我:先幫我用 MultiCharts 生成一個均線交叉策略
ChatGPT: 好的,以下是一個簡單的均線交叉策略的 PowerLange 代碼。。。
OS:
還滿有模有樣的!比我寫的還快 XD。
寫完還會説明程式内容與策略的邏輯,這根本新手救星!
第一次生成的程式碼:
inputs:
FastLength(10),
SlowLength(20);
variables:
AvgFast(0),
AvgSlow(0);
AvgFast = Average(Close, FastLength);
AvgSlow = Average(Close, SlowLength);
if AvgFast crosses above AvgSlow then
buy("Long") next bar at market
else if AvgFast crosses below AvgSlow then
sellshort("Short") next bar at market;
我:看起來不錯,幫我在生成的均線交叉策略基礎上,添加停利與移動停損的程式碼。
ChatGPT: 好的,以下是在均線交叉策略基礎上添加停利與移動停損的 PowerLanguage 代碼。。。。
OS:
想增加一點難度,結果還是輕易的生成了!(應該是我太嫩了)
第二次生成的程式碼:
inputs:
FastLength(10),
SlowLength(20),
ProfitTarget(100),
StopLoss(100);
variables:
AvgFast(0),
AvgSlow(0),
EntryPrice(0),
StopPrice(0),
TargetPrice(0);
AvgFast = Average(Close, FastLength);
AvgSlow = Average(Close, SlowLength);
if MarketPosition = 0 then begin
if AvgFast crosses above AvgSlow then begin
EntryPrice = Close;
TargetPrice = EntryPrice + ProfitTarget;
StopPrice = EntryPrice - StopLoss;
buy("Long") next bar at market;
end
else if AvgFast crosses below AvgSlow then begin
EntryPrice = Close;
TargetPrice = EntryPrice - ProfitTarget;
StopPrice = EntryPrice + StopLoss;
sellshort("Short") next bar at market;
end;
end
else if MarketPosition = 1 then begin
if Close >= TargetPrice then
sell("Exit Long") next bar at market
else if Close <= StopPrice then
sell("Stop Long") next bar at market;
end
else if MarketPosition = -1 then begin
if Close <= TargetPrice then
buytocover("Exit Short") next bar at market
else if Close >= StopPrice then
buytocover("Stop Short") next bar at market;
end;
見證奇跡的時刻!
我們將 ChatGPT 生成的策略程式碼,實際的放入 MultiCharts ,我們選擇台指期貨作爲商品,周期為 30 分線,回測個 10 年。
OS:
果然不能期待太多,跟我寫的真的有 87 分像。。。。
結論
ChatGPT 真的很好玩,想學程式交易還是乖乖去上課比較實在。
【優質課程推薦】
》張林忠老師課程列表 - https://www.mtcmaster.com/zh-TW/course
》C哥的程式交易 - https://cf995.tw/
The End.