今天我們來實際操作一下分向對ChatGPT詠唱,及要如何統整合併。要注意的是,今天我請ChatGPT下的指令皆是使用MQL4語言而非MQL5,因為我發現,MQL5對ChatGPT來說似乎還是太年輕了,要他寫MQL5,但結果寫出來的都是MQL4語法,而從MQL4轉換成MQL5的過程,雖然整體邏輯一樣,但是光是函數的差異就需要花非常久的時間去調整及查詢。所以為了方便性還有除去我們在調整可能會造成的篇幅過於冗長,就只使用他產出來的MQL4做介紹。
OrderSend函數通常不太會出錯,而ChatGPT還給出了程式碼的講解,告訴我們每個參數代表什麼。而空單的進場則是將ASK改BID,訂單類型改成SELL就好了。
這邊使用的是蠻常見的黃金/死亡交叉,ChatGPT不僅正確算出了黃金交叉,還貼心的幫我們在圖表上畫出圖示,不過關於圖示部分的程式碼我不太熟悉,就先當他是對的好了(?
出場的部分就很簡單了,定義一個用來平倉的函數就可以了,多單平倉根空單平倉幾乎一樣我就不再問一次了。
最後我們只需要在OnTick()處理器中加入統合的部分就好。
if(cross == GoldenCross){
CloseAllLongPositions();
EnterLongIfNoOpenPositions();
}
if(cross == DeathCross){
CloseAllShortPositions();
EnterShortIfNoOpenPositions();
}
黃金交叉是多單訊號,所以下單前先平倉空單的部分,死亡交叉亦同。
在條件給的足夠清楚的狀況下,要生產出一個基本的交易邏輯真的非常迅速,甚至比我打這篇文章的時間還短,但恕我對MQL4實在涉略不深,可能有不少錯誤是我沒看出來的。不過邏輯大致沒有問題,所以真出問題頂多就是參數忘記宣告之類的小問題,也不至於難以解決。
至於MQL5的部分,或許多丟一些寫好的範例程式碼給他訓練一下就可以發揮ChatGPT的完整的能力了。