那谈天機器人在過去幾年中,網路上也都時不時都有,但跟以往的谈天機器人不同,他是專門依照人類語言溝通的办法訓練的AI(自然語言處理),以是你跟他對話起來,對話的體驗感是大幅上升一個維度的。

而他學習了在公開網路上成千上萬的知識,以是幾乎可以面對任何領域的利用者,所提出的問題都能夠回答。
當然一些比較敏感或爭議性的問題有被OpenAI公司刻意屏蔽。

從去年底,2022年11月30日公開發布起,就造玉成網轟動,網路上許多大神用ChatGPT來創作出賺錢的文案、完全劇情的短影片等等,都讓人驚艷。

而我們在電影中看到鋼鐵人跟他的AI語音助理Jarvis那樣自然的對話,並且可以幫鋼鐵人處理各式各樣的問題,ChatGPT便是Jarvis的雛型,艾比相信在未來幾年內,我們每個人都會有一位像Jarvis的私人虛擬助理。

ChatGPT自动写MT4/MT5的程式交易 EA師將失落业ChatGPT第一集

如果你還沒開始用ChatGPT,那一定要開一個帳號去體驗看看。

https://openai.com/blog/chatgpt/

順帶一提, OpenAI的創始人是伊隆·馬斯克,那個超狂的男人。

谈天機器人有什麼新功能?

你一定會納悶說:不就一個谈天機器人,能有多厲害?怎麼網路上講得彷佛要顛覆天下一樣?

因為他的功能遠遠超過谈天。

以下艾比就示範幾個常見的功能:

1.寫文章、寫小說、寫詩、寫歌詞

請ChatGPT寫比較長的文章時,常常會碰着寫一半斷掉、他人消逝的狀況,此時請他繼續就可以了。

之前大家一贯認為機器人會取代社會中的勞力事情,但目前看起來,可能連創作事情都會不保(哈哈。

2. 想主題、列大綱

這根本便是靈感量產機,如果創作者在創作時碰着沒靈感不知道要做什麼內容,就可以請ChatGPT幫你列出幾十幾百個。

雖然他給出的答案都很中規中矩,而現在的創作者很哀求個人特色,但實在是不失落為一個發想靈感的輕鬆办法。
如果你有創作需求,不妨來奴役他看看(邪惡的笑

3. 寫功能信件

ChatGPT很強的是你還可以哀求他的寫作風格,這因此往傳統谈天機器人辦不到的,同樣的內容,你可以叫他用各種不同風格寫一次給你。

當然你還可以請他幫你寫情書,你供应ChatGPT一些對方的特質,讓他幫你寫出符合對方口味的情書。

4. 虛擬助理、虛擬客服、虛擬情人

你可以問他各種問題,有必要可以進一步訓練他,讓他能客製化回答你公司的問題,串接在你自己的用戶窗口,就直接化身虛擬客服。

也可以化身為你的虛擬秘密情人…哇!
超宅的!

小心未來網路上的情绪詐騙,真面孔也不是一個肥宅,而只是一隻程式了。
(我寧願選程式)

5. 寫Excel公式

眾所周知,Excel中可以利用各種公式跟VBA的程式語法,但是像艾比這樣對於VBA不熟习的人,要自己寫出來就很困難,而ChatGPT超方便的是,你只要供应給他你想要達成的功能,他就能馬上幫你生出來公式的程式碼。

以是從這邊開始我們可以看到,ChatGPT對於寫「功能性」的程式碼,是非常在行的,接著我們就來看看,他有多厲害、能夠寫那些語言的程式碼。

6. 寫程式碼

以下是請ChatGPT寫Python程式碼。
直接叫他寫一個猜拳遊戲,猜拳遊戲是Python初學者應該都會練習到的一個基本功,利用者可以透過終端輸入數字(分別代表剪刀、石頭、布),然後程式會隨機從三個數字中天生一個,來跟利用者猜拳。

把程式碼直接複製到Python的IDE當中去跑,跑出來超完美。

接下來試試看寫java程式碼:

不過艾比不會寫java語法,也沒有IDE去執行,不確定他寫的功能會不會正常運作,但大致看起來沒什麼問題。

下面這個是期貨程式交易MultiCharts 的語法,給ChatGPT一個策略,讓他直接寫出來:

到這裡,大家應該看得出來,ChatGPT寫程式碼真的是一流,只要給他短短的一段敘述、加上利用哪種語法,他幾乎沒有寫不出來的程式。

那這樣一個超酷的功能,到底是會擊落工程師?還是幫助工程師裝上一對翅膀呢?這個部分我們在底下再來討論。

那我們這個部落格的是針對MT4與MT5的EA程式交易,利用的是mql4與mql5的語法,接下來我們就來試試看,請ChatGPT來寫EA,寫起來是如何呢?

ChatGPT寫EA

在寫程式的時候,大部分的「功能」都可以寫成函數,在主程式碼中呼叫這個函數就可以利用該功能。

以是其實我們可以請ChatGPT把我們想要的每個小功能函數寫出來,再去呼叫利用。

當然我們也會來對ChatGPT做壓力測試,看看他能不能直接寫出完万能交易的EA。

寫MQL4

首先,請ChatGPT寫一個計算場上現在有幾張多單的函數:

以上ChatGPT回答的程式碼是完备正確的,你複製到你的MQL4編輯器當中是就可以直策应用的。

其實艾比測試過ChatGPT這個相同的問題不但一次,雖然之前也會寫出完全的程式碼給我,但整體比較簡短,

而這一次測試時,很驚豔的是他不但寫出程式碼,還告訴我在主程式碼當中要如何呼叫這個函數,並且跟我解釋範例中12345的意思,真的發自內心的覺得好厲害!

再來我們看一下,請ChatGPT寫一個時間到下午四點時平倉的函數:

他寫出的這串代碼,一樣直接複製到MQL4編輯器中編譯後回測,也是完备可以利用的。

那以上示範都是功能性的函數,並且是屬於比較簡單的,接下來我們來看一下,如果請ChatGPT發想一些交易策略,他會回答什麼:

請ChatGPT幫我們想一個策略來區分盤整跟趨勢行情,他給出的是用「兩條均線」來判斷上升趨勢或低落趨勢,然後兩條均線相等時是盤整。

自己有在開發交易策略的就知道,要兩條均線相等是多麼困難的事情好不好!
盤整時均線的表現便是糾纏而已啦,不可能會到相等。

以是犹如他最後說的:「這只是一個示範性的程式碼」,能不能利用還是要看交易員的sense。

不過像這種開放性的問題,其實在ChatGPT裡面,你不同時間點問他可能都會得到不同答案,乃至不同人問也會得到不同答案(笑。

像艾比有位學員也是問ChatGPT這個問題,可是他的ChatGPT回答他的答案,便是艾比自己有利用的高低點加上ATR的濾網,這個答案就超有sense,得到這種回答完备便是賺到了。

高低點加上ATR的濾網,之前文章也有分享過。
延伸閱讀:KD鈍化舊策略加上新濾網變得更神奇了!

寫MQL5

ChatGPT在寫MQL4的語法時,基本上都是正確的,以是可以直接通過編譯利用在MT4當中。

可是MT5利用的語法是MQL5,它雖然邏輯跟MT4是99.9%一樣,但在很多內建語法利用時,名稱寫法跟MT4就完备不一樣。

那我們接下來來看看ChatGPT是否也能寫出MT5的語法:

如果你直接複製ChatGPT給的程式碼到MT5的EA編輯器的話,你會發現內建函數它都沒有變色(以是不是MQL5的內建函數),按編譯後根本全部都是錯誤,沒辦法通過編譯。

第一個,MT5的場上訂單應該是PositionsTotal()而不是OrdersTotal(),OrdersTotal()是MT4的寫法;

第二個,MT4當中才须要先用OrderSelect來選擇訂單,MT5不用,以是也不存在後面的SELECT_BY_POS, MODE_TRADES等的語法。

再來,選擇交易訂單的屬性也不是簡單的OrderMagicNumber這樣的寫法,而是全部都換成PositionGetInteger這樣的抓取訂單特性寫法。

總之看起來便是ChatGPT只會寫MT4哈哈哈。

但恐怖的是,我指定他幫我寫MQL5的寫法,他卻一本正經的供应我MQL4,我跟他說他寫的是錯的,他承認錯誤後急速給我一個新的寫法,但是依然是MQL4啊啊啊啊。

好,那我們來換個題目讓ChatGPT再寫看看MQL5的語法,一樣我們請他寫一個時間到下午四點時平倉的函數:

他又很一本正經的跟我說,MQL5程式碼如下….

我們可以看到,在for迴圈中跟剛剛提到的問題一樣,他依然利用OrdersTotal()、OrderSelect、OrderMagicNumber等這些只能用在MT4的語法。

除此之外MQL5在調用時間的語法,也不能直接寫Hour()跟Minute(),以是這次ChatGPT供应的答案,依然無法直策应用在MT5的EA當中。

這樣看起來,對MT5的利用者來說可能就沒MT4利用者高興了,ChatGPT幾乎可以供应正確的MT4語法,但利用MT5的同學目前可能還是要靠自己(或是靠艾比哈哈)。

缘故原由可能是因為在網路上還因此MQL4的資料居多,並且ChatGPT目前沒有聯網,他學習的資料只有到2021年第四季,以是也沒辦法為利用者即時的去線上查詢MQL5的語法。

但相信未來會推出能夠聯網的ChatGPT(或類似的),到時請ChatGPT幫忙寫MT5程式碼應該也沒問題的。

ChatGPT目前可以取代工程師嗎?

目前(2023/2)是沒辦法的。
缘故原由有二:

一,ChatGPT會用肯定語氣給出錯誤答案

其實透過上面的幾個請ChatGPT寫程式的例子我們就可得知,如果利用者是不懂程式碼的人,直策应用ChatGPT給出的答案程式碼是有風險的。
纵然他的正確率很高,但一旦有錯誤時,還是要靠工程師才能揪出錯誤,並去人工修正,以是懂程式碼的工程師還是须要的。

二,內行人才能講出好咒語

從畫圖AI到語言AI(ChatGPT),都是透過利用者輸入特定笔墨當作指令,而要精準的寫出該功能的程式碼,也是要懂得人才能下出指令,不懂的人應該連要請ChatGPT寫什麼功能都講不出來,以是目前還沒有簡單到可以讓生手小白來直接讓ChatGPT變出能用的程式。

以是目前ChatGPT還不會擊落工程師,反而是幫助工程師裝上一對翅膀!

懂程式碼的工程師可以大幅減少coding時間,可以直接把想要的功能請ChatGPT幾秒鐘來寫出來,再檢查看有沒有錯誤、或是去IDE編譯後看有沒有error。

或是像艾比這樣非理工背景出生的寫程式者,很多時候燒腦的是去想程式碼的邏輯要怎麼呈現,例如迴圈、陣列等…現在有了ChatGPT,我就不用在逐步去想邏輯怎麼寫,直接請他寫就好,在這部分,不得不說ChatGPT是更輕鬆的。

應該所有工程師都要去跟ChatGPT當好朋友!