加值服務 | 相關文章

【趣味】如何用 ChatGPT 寫出 MultiCharts 的交易策略?能用嗎?

2023/02/17 - MultiCharts,TOUCHANCE,ChatGPT,人工智慧,AI,均線交叉,績效報告

什麽是 Chat GPT?

ChatGPT 是一款人工智能聊天機器人,2022 年 11 月發布後受到全球的矚目,微軟、谷歌、蘋果等科技巨頭與全球的網紅每個都要蹭一下 ChatGPT,當然我們也要跟瘋(跟著瘋一下),一起蹭蹭 ChatGPT 的熱度。

不過要蹭這個聰明的 AI 我們也要知道一些他的特性才行,ChatGPT 是在 Azure AI 超級計算基礎設施上訓練的,訓練的内容從歷史、哲學、經濟、時事到日常生活等話題統統包含在内。

Image of hand holding an ai face looking at the words "chatgpt openai"

圖片來源: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.