見出し画像

ChatGPTを活用したEAの開発手法について

はじめに

本著は以下のような方に向けて書いています。

  • MQL4言語の基礎を理解している

  • FXの基礎を理解している

  • ChatGPTにアクセスできる

  • AIを活用したプログラミングを試してみたい

著者について

はじめまして。
私は「FXで焼肉を食べたい」というEAコミュニティを運営しています。
FXトレーダー、システムエンジニアとしてそれぞれ10数年のキャリアがあります。
よろしくお願い致します。

ChatGPTに開発させる2つの方法

早速ですが本題です。
ChatGPTに開発業務をさせるには大きく分けて2つの方法があります。
それぞれ見ていきましょう。

仕様を説明し、その通りに開発させる

最もシンプルな方法です。
注文条件、決済条件などの仕様を与えてその通りのEAを開発させます。
以下、サンプルプロンプトです。

以下の仕様に従い、MQL4言語でEAを開発してください

#条件1
5分足のEMAの25,75,200が上昇パーフェクトオーダーである

#条件2
1分足のEMA20と100のゴールデンクロスである

#条件3
オープンしている注文数が0である

条件1、条件2、条件3を全て満たしたなら買い注文をする
TPは20pips、SLは10pipsとする

自身が作りたいEAの形がハッキリしていればこの方法が最適です。
ChatGPTは「パーフェクトオーダー」や「ゴールデンクロス」と言った用語を理解し、コーディングすることが出来ます。
ただし、理解が十分でない場合があります。例えばゴールデンクロスは「移動平均線の短期が長期を下から上に抜いた時」と定義されるべきものですが、ChatGPTの生成するコードは単純に「短期が長期より上にある」というものです。
そのようなコードが生成された場合、以下のようなプロンプトを追加して修正させます。

ゴールデンクロスとは、短期の移動平均線が長期の移動平均線を下から上に抜いた瞬間と定義される言葉です。
その生成されたコードではゴールデンクロスの瞬間を検知できていません。
修正してください。

これで正しくゴールデンクロスを検知する関数に修正されます。

ChatGPTに仕様を質問させる

次に、AIと対話しながら仕様を決めていく手法です。
イメージとしては「命令」より「依頼」に近い形です。
以下、会話の一部です。

私
あなたにMQL4言語でEAを開発してもらいます
開発に必要な情報を1メッセージにつき1つずつ私に質問してください
全ての情報が揃ったら開発したソースコードを出力してください

ChatGPT
了解しました。MetaTrader 4(MT4)プラットフォーム用のExpert Advisor(EA)を開発するにあたって、まず最初に知る必要がある情報は次のとおりです。
EAが取引を開始するための基本的な条件は何ですか?例えば、特定のインディケーターのシグナル、移動平均のクロス、RSIやMACDなどのレベルの達成など、具体的なトリガーを教えてください。

私
スキャルピングにおすすめの戦略を選んでください

ChatGPT
スキャルピングに適したシンプルな戦略の一つとして、移動平均線(MA)のクロスオーバーを使用する手法があります。短期MAが長期MAを上から下にクロスしたら売り(ショート)し、逆に短期MAが長期MAを下から上にクロスしたら買い(ロング)するというものです。

以下のような基本的な条件を設定しましょう:

5分足(M5)チャートを使用。
短期MA:5期間の単純移動平均(SMA)。
長期MA:10期間の単純移動平均(SMA)。
買い(ロング)シグナル:5期間SMAが10期間SMAを下から上にクロス。
売り(ショート)シグナル:5期間SMAが10期間SMAを上から下にクロス。
ストップロスとテイクプロフィットは固定pipsで設定。
この戦略でよろしければ、次にEAが取引を実行する際のリスク管理に関する詳細(ストップロスとテイクプロフィットの距離、ロットサイズなど)を教えてください。

これにより、設計に不慣れな人でも仕様の漏れを少なくすることができます。

その他にできること

例えばコンパイルエラーを修正させたり

コンパイルエラーを修正してください
'M5' - undeclared identifier	GPT.mq4	32	26

トレード手法について相談してみたり

生成されたEAで利益が出ません
何か提案はありませんか?

リファクタリングさせたり

以下のソースコードを適切にリファクタリングしてください

など、様々な仕事をさせることが出来ます。

ChatGPTにできないこと

この記事が気に入ったらサポートをしてみませんか?