ChatGPTをビジネスで使っている人の割合は年々増加傾向にあります。
ネットで使用状況等を調べてみると、色々なデータが見れますが、
仕事で少しでも使った経験がある人の割合は概ね2~3割程度でしょうか。
肉体労働系では使いどころはないですし、
当然デスクワーク系に限られますので、まぁそんなところでしょう。
私も2年ほど前にChatGPTをトレードで使えないか、
色々と考えてみたことがあるのですが、
既にマイルールが確立し、トレード記録を付ける作業もパターン化されており、
どこにもChatGPTを取り入れる余地が無かったので不使用。
また、私はEA(自動売買)の開発もしているので、
それにChatGPTを活用できないかと思い、
色々とプログラミングさせてみたこともあるのですが、
私が満足するような高度な処理は不可能だと分かり、こちらも不使用。
結局、私の仕事での活用場所はないと判断して、
それ以降は遊び以外ではほとんど使ったことは無かったのですが…
最近になり、為替の市況を確認している際に、
気になるタイトルの記事を散見するようになってきました。
「ChatGPTを使えばEAは普通に作れるよ」
「プログラミング知識なしでもEAは簡単に作れる」
「生成AIを使えば誰でもEAプログラマーになれる」
??本当??
生成AIの解析技術は年々飛躍的に進歩しています。
私がChatGPTにプログラミングさせたのは2年前だったので、
「もしかしたら今なら本当にEAが作れるのではないか?」
と思い、
再度ChatGPTで幾つかプログラミングさせてみたのですが…

初心者がChatGPTにプログラミングさせることのデメリット5選
結論から言うと、
ChatGPTを使えば誰でも簡単にEA(自動売買)が作成できるのか?
…いいえ。できません。
EAプログラマーの立場から
EA開発する際、ChatGPTを始めとする生成AIに
プログラミングを任せることへのデメリットを解説します。
- EAが簡単に作れることと期待値>1のEAが作れることは全くの別物
- 当たり前のようにコンパイルエラーになる
- 自分好みのコーディングではない
- バックテストの解釈はどうするの?
- 指示するプロンプトに明確に伝えるスキルが必要
これらは私が感じた代表的なデメリットです。
プログラミングの知識なしでEAを作ろうとなると、
これらの障壁にぶち当たります。
EAが簡単に作れることと期待値>1のEAが作れることは全くの別物
そもそも論として、
私達EAプログラマーの目的はEAを簡単に作ることではありません。
期待値>1のEAを作ることが最大の、且つ、最終目標です。
簡単に作ることに意義はありません。
期待値>1のEAを作ることに意義があります。
ChatGPT任せで期待値>1のEAが作れますか?
否。
期待値>1のEAを開発するには、プログラマー本人によるトレード経験の積み重ねが必須。
トレードで利益を上げてきた経験をどのようにプログラミング上に表現するか、
自身の手法を具体的にどのような構文にするのか、For文、If文などで
正確に伝えるスキルが求められます。
プログラムの経験のない素人が、トレードの経験のない素人が
ChatGPTの吐き出したコーディングが期待値>1になっているかどうか判断できますか?
単純なロジックなら(移動平均線のクロス戦術やRSIの買われ過ぎ売られ過ぎ戦術etc)
ある程度は適切にコーディングしてくれます。
でもそれは期待値>1ではありません。
プログラムの経験のない素人が、トレードの経験のない素人が
ChatGPTの吐き出したプログラムそのままでEAを完成させリアル口座で実践する…
…そんなこと本当にできますか?
私なら怖くて怖くて絶対にできません。
誰でも簡単に…無理です。嘘です。
トレーダーとして相当な経験、プログラマーとして相当な経験が必要です。
当たり前のようにコンパイルエラーになる
試しにChatGPTにプログラミングさせてみてください。
当たり前のように、頻繁にコンパイルエラーになりますから。
もしコンパイルエラーになったらどうしますか?
どうやってデバッグ作業を行いますか?
プログラムの経験が無い素人がコンパイルエラーの原因を特定追究できますか?
仮に原因が分かったとして正しい構文に修正することができますか?
結局はプログラミングの知識が必要になるんです。
誰でも簡単に…無理です。嘘です。
プログラマーとして相当な経験が必要です。
自分好みのコーディングではない
コーディングって1種類ではありません。
単純な足し算でも3~4種類の書き方があります。
For文、If文で処理をさせる構文の書き方なんて5~6通り、
いやそれ以上の書き方があるでしょう。
また、コード内での名前の付け方も人それぞれ好みがあります。
ローマ字表記主体にしたい人もいれば、英語表記主体にしたい人もいます。
添字もxを使いたい人もいれば、iを使いたい人もいます。
EA全体の構文の書き方なんて、同じ処理でも無限大にあります。
よって、ChatGPTが吐き出したコードが自分好みの構文になっている可能性は低いです。
プログラマーなら他人が書いたコードを理解するのは難しいと感じたことは
誰にでもあるはずです。
いわんやChatGPTをや。
仮に多少プログラミングの知識があったとしても、
ChatGPTの吐き出したコードを理解するのには時間がかかってしまいます。
誰でも簡単に…無理です。嘘です。
プログラマーとして相当な経験が必要です。
バックテストの解釈はどうするの?
EA開発ってプログラミングだけではありません。
過去チャートを使ったバックテストも必須のスキルです。
プログラミングの経験が無い人は当然バックテストの経験も無いでしょう。
バックテストの経験が無い人がバックテストの結果を適切に分析できますか?
仮にバックテストの結果が右肩下がりの収益になっていたら、
何が原因なのか特定できますか?
ロジックのどこを直せば収益の改善が見込めるか判断できますか?
プログラムの構造を理解していない、ブラックボックス状態では
ほぼ改良不可能でしょう。
誰でも簡単に…無理です。嘘です。
プログラマーとして相当な経験が必要です。
指示するプロンプトに明確に伝えるスキルが必要
ChatGPTに適切なコードを書かせるためには
自分がどのような条件でエントリーしたいのか、決済したいのかを
明確に伝える必要があります。
人間側が希望する出力を得るために、
ChatGPTなどの生成AIへ適切な[指示/命令]を[設計/入力]するスキルのことを
プロンプトエンジニアリングと呼びますが、
EAのプログラム言語であるMQL4の知識が少ない状態で、且つ、
プロンプトエンジニアリングとしての知識が少ない状態で
ChatGPTに適切な命令を入力すること自体難しいです。
「抵抗線をブレイクしたらロングして」
こんな抽象的な命令ではこちらの意図は正確に伝わらず、
ChatGPTが情報の不足分を勝手に解釈してコードを吐き出してしまいます。
ロジックの挙動一挙手一投足を全て順序立ててChatGPTに伝えなければいけないのですが、
そんなことができる人はプロンプトエンジニアでもほんの一握りでしょう。
誰でも簡単に…無理です。嘘です。
プログラマーとして相当な経験、プロンプトエンジニアとして相当な経験が必要です。

以上の理由から
誰でも簡単にEA(自動売買)が作成できるわけではないんですね。
先に書いたように、この記事を書くにあたり、
久しぶりにChatGPTにコードを書かせてみたんですが、
正直、簡単な関数の一部分だけなら、繰り返しChatGPTとやり取りすることで
“それなりのもの“なら出力できるようにはなっています。
でも…何度もChatGPTとやり取りするのって時間がかかり過ぎます。
そんな事をするよりも最初から自力でプログラミングした方が手っ取り早いです。
それに…何度もChatGPTとやり取りするのって…楽しくないですよね。
私はプログラミングすることが楽しいのに、
それをChatGPTに任せるなんて…私の楽しみを奪わないでって感じです。


