PR

AIで最適化されたトレード戦略の作成

AI MQL4 プログラミング FX MQL4初心者講座
この記事は約26分で読めます。
[PR] 記事内に広告が含まれています。

AIの進化に伴い、トレード戦略も高度化しています。

特にFXトレードでは、AIを利用することで、より精緻で効率的なトレード戦略が構築可能です。

本記事では、AIを用いたトレード手法の提案と、それに伴うインジケーターの選定方法について解説します。

SFではAIが市場データをインターネット上から持ってきてあらゆる角度から分析し、AIゆえの高速情報処理で売買を瞬時に行い利益を積み上げるというものですが・・・私達一般人にはそのようなシステムは持ちえません(泣)

FXトレードの方法やインジケーターの組み合わせ方を教えてもらうのが現在出来ることですね。

初心者の方でも分かりやすく、具体的なステップを踏みながら説明していきますので、ぜひ参考にしてくださいね。

  1.  AIを活用したトレード戦略の基本
    1. 1 インジケーターの選定
    2. 2 パラメーターの最適化
  2. AIによるエントリー根拠の強化
    1. 1 インジケーターの相性を分析
    2. 2 インジケーターの組み合わせによるシグナルの精度向上
    3. 3 インジケーターのパラメーター最適化
    4. 4 バックテストによる戦略の検証
  3.  AIで始めるテクニカル分析:インジケーターエントリーの人気手法
    1. 1. 移動平均線(Moving Average: MA)
    2. 2. 相対力指数(Relative Strength Index: RSI)
    3. 3. MACD(Moving Average Convergence Divergence)
    4. 4. ボリンジャーバンド(Bollinger Bands)
    5. 5. 一目均衡表(Ichimoku Kinko Hyo)
  4. ChatGPTに聞こう!インジケーターの組み合わせとエントリー手法
    1. インジケーターの基本
    2. AIでインジケーターを選ぶ方法
    3. エントリーポイントの見極め方
    4. インジケーターのパラメーター設定
  5. ChatGPTにFXの取引手法を提案してもらうためのプロンプトは?
    1. 1. インジケーターの選定に関するプロンプト
    2. 2. エントリーおよびエグジットのタイミングに関するプロンプト
    3. 3. リスク管理に関するプロンプト
    4. 4. バックテストに関するプロンプト
    5. 5. トレード戦略の最適化に関するプロンプト
  6. 実際にChatGPTに提案してもらった
    1. インジケーターの選択
      1. トレンドを見極めるためのインジケーター
      2. エントリーおよびエグジットのタイミングを判断するためのインジケーター
    2. インジケーターの組み合わせ
      1. トレード戦略概要
      2. 詳細なトレード戦略
        1. 1. トレンドの確認
        2. 2. エントリーシグナルの確認
        3. 3. エグジットシグナルの確認
  7. ChatGPTにバックテスト用のEAを作成してもらう
    1. EAコード
    2. バックテスト結果
  8. まとめ

 AIを活用したトレード戦略の基本

AI MQL4 プログラミング FX

AIを活用することで、従来のトレード手法を大幅に改善できます。

AIは膨大なデータを分析し、最適なエントリーポイントを見つけ出す能力を持っています。

例えば、AIは過去のトレードデータを基にパターンを学習し、将来の価格動向を予測します。

これにより、人間が見落としがちな市場の動きをキャッチし、効果的なトレードが可能になります。

1 インジケーターの選定

インジケーターとは、トレードの判断材料となる指標のことです。

AIを使うことで、最適なインジケーターの組み合わせを見つけることができます。

例えば、移動平均線(MA)や相対力指数(RSI)、ボリンジャーバンド(BB)などが一般的に使用されます。

これらのインジケーターは、それぞれ異なる市場の側面を示しており、適切に組み合わせることでトレードの精度を高めることができます。

以下に代表的なインジケーターをいくつか紹介します。

インジケーター 説明
移動平均線(MA) 価格の平均値を表示し、トレンドを把握するために使用されます。
相対力指数(RSI) 価格の変動の速度と変化を示し、買われ過ぎや売られ過ぎの状態を判断します。
ボリンジャーバンド(BB) 価格の変動範囲を示し、ボラティリティを判断します。
移動平均収束拡散手法(MACD) 2本の移動平均線の差を基にトレンドの方向と強さを示します。
ストキャスティクス(STC) 現在の価格と過去の価格を比較し、売られ過ぎや買われ過ぎの状態を判断します。
パラボリックSAR 価格の動きを追跡し、トレンドの反転ポイントを示します。

2 パラメーターの最適化

各インジケーターには設定すべきパラメーターがあります。

例えば、移動平均線の期間設定やRSIのしきい値などです。

AIはこれらのパラメーターを最適化し、トレードの成功率を高めます。

パラメーターの最適化には、過去のトレードデータを利用します。

これにより、特定の市場条件に最も適した設定を見つけ出すことができます。

最適化のプロセスは以下の通りです。

  1. データ収集: 過去の価格データやトレード履歴を集めます。
  2. モデル構築: インジケーターの初期設定を基にAIモデルを作成します。
  3. パラメーター調整: AIが様々なパラメーターの組み合わせを試し、最も成果の出る設定を見つけます。
  4. バックテスト: 最適化されたパラメーターを用いて、過去のデータでテストを行います。
  5. 実装: 最適化された設定を実際のトレードに適用します。

このプロセスを繰り返すことで、トレード戦略を常に最新の市場状況に適応させることができます。

AIの助けを借りることで、パラメーターの調整作業が大幅に効率化されますよ。

また、AIは人間では見つけにくい微妙なパターンやトレンドを検出することが得意です。

これにより、トレードの精度をさらに高めることが可能になります。

AIによるエントリー根拠の強化

エントリー根拠とは、トレードを開始する際の理由や条件のことです。

AIは複数のインジケーターを組み合わせることで、エントリー根拠を強化します。

これにより、より確実性の高いトレードが実現します。

ここでは、AIがどのようにしてエントリー根拠を強化するのかを詳しく見ていきましょう。

1 インジケーターの相性を分析

AIは異なるインジケーターの組み合わせを試し、その相性を評価します。

例えば、移動平均線とMACD(移動平均収束拡散手法)を組み合わせることで、トレンドの強さと方向性を同時に把握できます。

この組み合わせにより、トレードのエントリーポイントをより正確に見極めることができます。

インジケーターはそれぞれ異なる情報を提供します。

例えば、移動平均線(MA)は価格の平均値を計算し、トレンドの方向を示します。

一方、MACDは2本の移動平均線の差を利用して、トレンドの強さと転換点を示します。

AIはこれらのインジケーターを組み合わせることで、より強力なトレード根拠を提供します。

次に、具体的なインジケーターの相性分析の手法について見ていきましょう。

2 インジケーターの組み合わせによるシグナルの精度向上

AIは膨大な過去データを用いて、異なるインジケーターの組み合わせをテストします。

その結果、どの組み合わせが最も高い成功率を持つかを判断します。

例えば、移動平均線とRSI(相対力指数)を組み合わせることで、過熱状態の回避とトレンドフォローが同時に可能になります。

移動平均線が上昇トレンドを示しているとき、RSIが過熱を示す場合にはエントリーを避けるといった判断ができます。

このように、AIは異なるインジケーターの組み合わせを最適化し、シグナルの精度を向上させます。

また、AIは新しいデータを学習し続けるため、常に最新の市場状況に適応した戦略を提供します。

3 インジケーターのパラメーター最適化

各インジケーターには設定すべきパラメーターがあります。

例えば、移動平均線の期間やRSIのしきい値などです。

AIはこれらのパラメーターを最適化することで、トレードの成功率を高めます。

具体的には、AIは過去のデータを分析し、最も効果的なパラメーター設定を見つけ出します。

例えば、移動平均線の期間を20日から50日まで変動させ、どの期間が最も収益性が高いかをテストします。

このようにして、AIはトレード戦略のパラメーターを常に最適な状態に保ちます。

さらに、AIは市場の変動に応じてパラメーターを動的に調整することもできます。

これにより、予期せぬ市場変動にも柔軟に対応できるトレード戦略が実現します。

4 バックテストによる戦略の検証

AIは過去のトレードデータを使用して、新しい戦略をテストします。

これにより、その戦略が実際の市場でどれだけ効果的かを事前に確認することができます。

バックテストを行うことで、リスクを最小限に抑えつつ、効果的な戦略を見つけることができます。

バックテストでは、過去の価格データを用いて、トレード戦略をシミュレーションします。

例えば、特定のインジケーターのシグナルに基づいてエントリーとエグジットを行った場合の収益を計算します。

このプロセスを通じて、戦略の強みと弱点を明らかにし、改善点を見つけ出します。

また、AIは複数の市場や時間枠でバックテストを行うことで、戦略の汎用性を確認します。

これにより、異なる市場環境でも効果的に機能する戦略を構築できます。

バックテストの結果は、視覚的なグラフや統計データとして表示されるため、トレーダーは直感的に結果を理解できます。

これにより、トレード戦略の信頼性を高め、自信を持って実際の取引に臨むことができます。

 AIで始めるテクニカル分析:インジケーターエントリーの人気手法

テクニカル分析は、価格の過去の動きを基に将来の動向を予測する方法で、特にFXトレードでは欠かせない手法です。

AIを使うことで、これらの分析をより精緻かつ迅速に行うことができます。

ここでは、AIを活用したインジケーターエントリーの人気手法について、初心者にもわかりやすく解説しますね。

テクニカル分析を始めたいけれど、どのインジケーターを使えば良いかわからないという方も、この記事を読めば理解が深まるはずです。

1. 移動平均線(Moving Average: MA)

移動平均線 トレンド インジケーター チャート FX

移動平均線は、一定期間の価格の平均をとることでトレンドを把握するためのインジケーターです。

最も一般的な手法として、単純移動平均線(SMA)と指数平滑移動平均線(EMA)が挙げられます。

SMAは指定した期間の価格の平均を計算しますが、EMAは直近の価格に重みを置いて計算します。

これにより、EMAはSMAよりも価格の変動に敏感に反応します。

移動平均線を利用したエントリー方法としては、短期の移動平均線が長期の移動平均線を上抜ける「ゴールデンクロス」が買いシグナルとなります。

反対に、短期の移動平均線が長期の移動平均線を下抜ける「デッドクロス」が売りシグナルとなります。

2. 相対力指数(Relative Strength Index: RSI)

RSI オシレーター インジケーター チャート FX

RSI

RSIは、価格の上昇と下落の割合を示すインジケーターで、過熱感や売られ過ぎの状態を判断するのに使われます。

RSIの値は0から100の間で示され、一般的には70以上が買われ過ぎ、30以下が売られ過ぎとされます。

RSIを利用したエントリー方法としては、RSIが30以下のときに買いエントリーし、70以上のときに売りエントリーするというものがあります。

また、RSIが50を超えると上昇トレンド、50を下回ると下降トレンドとみなすこともあります。

RSIのメリットは、トレンドがはっきりしないレンジ相場でも有効に機能する点です。

3. MACD(Moving Average Convergence Divergence)

MACD オシレーター インジケーター チャート FX

MACD

MACDは、2本の移動平均線の差を利用してトレンドの強さや転換点を見つけるインジケーターです。

MACDは、短期移動平均線と長期移動平均線の差(MACDライン)と、そのシグナル線(MACDラインのEMA)から構成されます。

MACDラインがシグナル線を上抜けると買いシグナル、下抜けると売りシグナルとなります。

また、MACDヒストグラム(MACDラインとシグナル線の差)も参考になります。

ヒストグラムが正から負に転じると売りシグナル、負から正に転じると買いシグナルです。

4. ボリンジャーバンド(Bollinger Bands)

ボリンジャーバンド トレンド インジケーター チャート FX

ボリンジャーバンドは、価格のボラティリティ(変動性)を示すインジケーターです。

一定期間の移動平均線の上下に標準偏差の倍数でバンドが描かれます。

価格がボリンジャーバンドの上限に触れると売りシグナル、下限に触れると買いシグナルとなることが多いです。

また、バンドの幅が広がるとボラティリティが高く、狭まるとボラティリティが低いことを示します。

ボリンジャーバンドを利用することで、相場の過熱感や調整のタイミングを把握できます。

5. 一目均衡表(Ichimoku Kinko Hyo)

一目均衡表 インジケーター FX

一目均衡表

一目均衡表は、日本で開発されたインジケーターで、トレンド、サポート・レジスタンス、エントリーポイントを同時に示すことができます。

一目均衡表は、転換線、基準線、先行スパン1、先行スパン2、遅行スパンの5つのラインで構成されます。

転換線が基準線を上抜けると買いシグナル、下抜けると売りシグナルです。

先行スパン1と先行スパン2の間の雲がサポート・レジスタンスとして機能します。

また、遅行スパンが価格の上にあるときは上昇トレンド、下にあるときは下降トレンドとみなされます。

これらのインジケーターを活用することで、FXトレードのエントリータイミングをより正確に見極めることができます。

AIを利用することで、これらのインジケーターを効果的に組み合わせ、より精度の高いトレード戦略を構築できますよ。

ChatGPTに聞こう!インジケーターの組み合わせとエントリー手法

FXトレードを成功させるためには、適切なインジケーターの選択とエントリーポイントの確立が重要です。

AIの力を借りて、最適なインジケーターの組み合わせとエントリー手法を見つける方法を見ていきましょう。

まずは、AIにどのようなインジケーターを選ぶべきかを聞いてみましょう。

その後、選んだインジケーターをどのように組み合わせてエントリーの根拠を強化するかについて解説します。

インジケーターの基本

インジケーターとは、トレードのタイミングや市場の動向を分析するための指標です。

主にテクニカル分析で使用され、価格や取引量などのデータを基に計算されます。

例えば、移動平均線(Moving Average)は、一定期間の平均価格を線で表したもので、トレンドの方向を示すのに役立ちます。

相対力指数(Relative Strength Index, RSI)は、価格の変動幅を基に売られすぎや買われすぎの状態を示します。

他にも、ボリンジャーバンド(Bollinger Bands)やMACD(Moving Average Convergence Divergence)など多くのインジケーターがあります。

これらのインジケーターを適切に組み合わせることで、トレードの精度を高めることができます。

AIでインジケーターを選ぶ方法

AIを使えば、多くのインジケーターの中から最適なものを選ぶ手助けをしてくれます。

例えば、ChatGPTに「どのインジケーターを使うべきか」と質問すると、具体的なアドバイスが得られます。

「トレンドを見極めるためには、移動平均線とMACDが相性が良いですよ。」

また、「オシレーター系のインジケーターとしては、RSIとストキャスティクスを組み合わせると良いでしょう。」

といった具合に、具体的な組み合わせ例を提示してくれます。

このようにして、複数のインジケーターを効果的に組み合わせることで、トレードの成功率を高めることができます。

エントリーポイントの見極め方

エントリーポイントとは、トレードを開始するタイミングのことです。

適切なエントリーポイントを見極めるためには、複数のインジケーターを組み合わせることが重要です。

例えば、移動平均線がゴールデンクロスしたときにエントリーする、という手法があります。

ゴールデンクロスとは、短期移動平均線が長期移動平均線を下から上にクロスすることです。

また、RSIが30以下で売られすぎの状態になったときにエントリーする、という手法も有効です。

このように、複数のインジケーターのシグナルが一致したときにエントリーすることで、成功率を高めることができます。

インジケーターのパラメーター設定

インジケーターには、それぞれ設定すべきパラメーターがあります。

例えば、移動平均線の期間設定やRSIのしきい値などです。

AIはこれらのパラメーターを最適化する手助けをしてくれます。

具体的には、過去のトレードデータを基に最適なパラメーターを見つけ出します。

これにより、トレードの成功率をさらに高めることができます。

例えば、移動平均線の期間を20日に設定するか50日に設定するか、どちらが良いかをAIが分析して教えてくれます。

これを基に、トレード戦略を最適化することができます。

 

ChatGPTにFXの取引手法を提案してもらうためのプロンプトは?

FXトレードにおいて、AIを活用することで効率的に取引手法を開発することができます。

特に、ChatGPTを使うことで、具体的なプロンプトを入力してトレード戦略やインジケーターの選定方法を提案してもらうことが可能です。

この記事では、ChatGPTにFXの取引手法を提案してもらうためのプロンプトの例を紹介します。

初心者の方にもわかりやすく、具体的なプロンプトを使ってトレード手法を構築する方法を解説しますので、ぜひ参考にしてくださいね。

1. インジケーターの選定に関するプロンプト

インジケーターは、トレードのタイミングを判断するための重要なツールです。

例えば、以下のようなプロンプトをChatGPTに入力すると、最適なインジケーターの組み合わせを提案してくれます。


インジケーターの選定に関するプロンプト:
"FXトレードに最適なインジケーターの組み合わせを提案してください。トレンドを見極めるために有効なインジケーターと、エントリーおよびエグジットのタイミングを判断するためのインジケーターを教えてください。"

このプロンプトを使うことで、ChatGPTは移動平均線(MA)や相対力指数(RSI)、ボリンジャーバンド(BB)などのインジケーターを提案してくれます。

また、それぞれのインジケーターの使い方や、組み合わせた際の効果についても説明してくれますよ。

2. エントリーおよびエグジットのタイミングに関するプロンプト

次に、具体的なエントリーおよびエグジットのタイミングを見極めるためのプロンプトを紹介します。

以下のプロンプトを使うと、トレードの具体的なタイミングを提案してくれます。


エントリーおよびエグジットのタイミングに関するプロンプト:
"移動平均線とRSIを使ったエントリーおよびエグジットのタイミングを教えてください。具体的な例を挙げて説明してください。"

このプロンプトを使うことで、例えば「移動平均線がゴールデンクロスした時にエントリーし、RSIが70を超えた時にエグジットする」などの具体的な戦略を教えてくれます。

また、チャートを見ながら具体的なタイミングを確認する方法も解説してくれますよ。

3. リスク管理に関するプロンプト

トレードにおいてリスク管理は非常に重要です。

以下のプロンプトを使うことで、リスクを最小限に抑えるための方法を提案してもらうことができます。


リスク管理に関するプロンプト:
"FXトレードにおけるリスク管理の方法を教えてください。ポジションサイズの決定方法や、ストップロスの設定方法について具体的に説明してください。"

このプロンプトを入力すると、ChatGPTはポジションサイズの計算方法や、適切なストップロスの設定方法について詳しく教えてくれます。

例えば、「口座残高の2%をリスクとして設定し、ストップロスを30ピップスに設定する」などの具体例を挙げて説明してくれます。

4. バックテストに関するプロンプト

トレード戦略の有効性を確認するためには、過去のデータを使ったバックテストが重要です。

バックテストを行うために提案されたトレード戦略のEAを作成してMT4でバックテストを行う方法があります。

提案されたトレード手法をChatGPTでEAにしてもらうことで出来ますが、あまりに複雑なロジックですとMQL4の知識が無いと難しいですね。

5. トレード戦略の最適化に関するプロンプト

最後に、トレード戦略を最適化するためのプロンプトを紹介します。

以下のプロンプトを使うことで、ChatGPTに戦略の最適化方法を提案してもらうことができます。


トレード戦略の最適化に関するプロンプト:
"移動平均線とRSIを使ったトレード戦略のパラメーターを最適化する方法を教えてください。"

このプロンプトを使うことで、ChatGPTはパラメーターの調整方法や、最適化のための具体的な手順を教えてくれます。

例えば、移動平均線の期間やRSIのしきい値をどのように設定すれば良いかなどのアドバイスをもらうことができます。

これらのプロンプトを活用することで、ChatGPTを使って効果的なFXトレード手法を構築することができます。

ぜひ、実際にプロンプトを入力して、あなた自身のトレード戦略を見つけてみてくださいね。

実際にChatGPTに提案してもらった

では早速ChatGPTに聞いてい見ましょう。

インジケーターの選択

インジケータの選択するために聞いてみました。

FXトレードに最適なインジケーターの組み合わせを提案してください。トレンドを見極めるために有効なインジケーターと、エントリーおよびエグジットのタイミングを判断するためのインジケーターを教えてください。

ChatGPT4oですと、

トレンドを見極めるためのインジケーター

  • 移動平均線 (Moving Average, MA)長期のトレンドを把握するために、50日、100日、200日の単純移動平均線(SMA)を使用します。
  • 一目均衡表 (Ichimoku Kinko Hyo)複数の要素からトレンドの方向性と強さを確認できます。特に雲(Kumo)が有効です。
  • 平均足 (Heikin Ashi)ローソク足のノイズを減らし、トレンドを視覚的に確認しやすくします。

エントリーおよびエグジットのタイミングを判断するためのインジケーター

  • RSI (Relative Strength Index)買われ過ぎ、売られ過ぎを判断するために使用し、エントリーとエグジットのタイミングを計ります。一般的には30以下で買い、70以上で売りのシグナルです。
  • MACD (Moving Average Convergence Divergence)短期的な価格の変動を捉え、エントリーとエグジットのタイミングを判断します。シグナルラインとのクロスオーバーが重要です。
  • ストキャスティクス (Stochastic Oscillator)現在の価格レベルと一定期間の価格レンジを比較し、買われ過ぎ、売られ過ぎを判断します。20以下で買い、80以上で売りのシグナルです。
  • ATR (Average True Range)市場のボラティリティを測定し、ストップロスの設定やトレードのリスク管理に使用します。

インジケーターの組み合わせ

続いてChatGPT4oにこれらのインジケーターの組み合わせで取引手法を組み立ててもらいました。

「これらのインジケーターを組み合わせてFX取引初心者でもわかりやすいエントリータイミングとエグジットが判断できるトレード戦略を提案してください。」

答えがこちら。

以下に、FX取引初心者でもわかりやすいトレード戦略を提案します。この戦略は、トレンドを見極めるインジケーターとエントリーおよびエグジットのタイミングを判断するインジケーターを組み合わせて、明確なシグナルを提供します。

トレード戦略概要

  1. トレンドの確認
    • 移動平均線 (MA)
      • 50日移動平均線(短期)と200日移動平均線(長期)を表示します。
      • 50日移動平均線が200日移動平均線を上回っている場合は上昇トレンド、下回っている場合は下降トレンドと判断します。
  2. エントリーシグナルの確認
    • MACD
      • MACDラインがシグナルラインを下から上にクロスした場合は買いエントリー、上から下にクロスした場合は売りエントリー。
    • RSI
      • RSIが30以下で買い、70以上で売りのシグナルを確認。
  3. エグジットシグナルの確認
    • ストキャスティクス
      • ストキャスティクスが20以下で買い、80以上で売りのシグナルを確認。
    • ATR
      • ボラティリティに応じてストップロスを設定し、リスク管理を行います。

詳細なトレード戦略

トレード戦略は次の通りです。

1. トレンドの確認

移動平均線 (MA)

  • チャートに50日移動平均線と200日移動平均線を表示します。
  • 50日移動平均線が200日移動平均線を上回っている場合、上昇トレンドと判断します。
  • 50日移動平均線が200日移動平均線を下回っている場合、下降トレンドと判断します。
2. エントリーシグナルの確認

MACD

  • MACDラインがシグナルラインを下から上にクロスした場合、買いエントリーのシグナルです。
  • MACDラインがシグナルラインを上から下にクロスした場合、売りエントリーのシグナルです。

RSI

  • RSIが30以下の場合、買いシグナルと判断します。
  • RSIが70以上の場合、売りシグナルと判断します。

 

3. エグジットシグナルの確認

ストキャスティクス

  • ストキャスティクスが20以下の場合、買いエグジットのシグナルです。
  • ストキャスティクスが80以上の場合、売りエグジットのシグナルです。

ATR (Average True Range)

  • ATRを使用して、ストップロスを設定します。
  • ATRの値が高いほどボラティリティが高いことを示し、ストップロスを広めに設定します。

 

ChatGPTにバックテスト用のEAを作成してもらう

実際にバックテストを行うためにこの取引手法のEAを作成します。

ATRでストップロスを設定というのがちょっと難しかったのでそこは省きました。

上の戦略を元にEAを作成してもらった結果(エラーも出ていましたがChatGPT4oとClaudeにデバックしてもらいました。)出来たのがこちらです。

EAコード

inputになっていないのでパラメータが変更できない様になっています。

ロットサイズは0.1に固定のようです。

コンパイルを通ってバックテストをしたら、同じ時刻に複数回エントリーがされて居ましたので[Volume[0] == 1](ローソク足1つに付き1エントリー)を追加してあります。


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   //--- initialization
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   // Define variables
   double ma50, ma200;
   double macdMain, macdSignal;
   double rsi;
   double stochMain, stochSignal;
   double point = Point;
   // Calculate indicators
   ma50 = iMA(NULL, 0, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
   ma200 = iMA(NULL, 0, 200, 0, MODE_SMA, PRICE_CLOSE, 0);
   macdMain = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0);
   macdSignal = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 0);
   rsi = iRSI(NULL, 0, 14, PRICE_CLOSE, 0);
   stochMain = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, 0);
   stochSignal = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_SIGNAL, 0);
   // Check for existing open positions
   bool hasBuyPosition = false;
   bool hasSellPosition = false;
   for(int orderPos = 0; orderPos < OrdersTotal(); orderPos++) { if(OrderSelect(orderPos, SELECT_BY_POS, MODE_TRADES)) { if(OrderType() == OP_BUY) hasBuyPosition = true; if(OrderType() == OP_SELL) hasSellPosition = true; } } // Determine trend bool uptrend = ma50 > ma200;
   bool downtrend = ma50 < ma200; // Entry conditions if(uptrend && !hasBuyPosition && macdMain > macdSignal && rsi < 30 && Volume[0] == 1)
     {
      // Buy signal
      int buyTicket = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0, "Buy Order", 0, 0, Blue);
      if(buyTicket < 0)
         Print("Error opening buy order: ", GetLastError());
     }
   if(downtrend && !hasSellPosition && macdMain < macdSignal && rsi > 70 && Volume[0] == 1)
     {
      // Sell signal
      int sellTicket = OrderSend(Symbol(), OP_SELL, 0.1, Bid, 3, 0, 0, "Sell Order", 0, 0, Red);
      if(sellTicket < 0)
         Print("Error opening sell order: ", GetLastError());
     }
   // Exit conditions
   for(int i = 0; i < OrdersTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderType() == OP_BUY && stochMain > 80)
           {
            if(!OrderClose(OrderTicket(), OrderLots(), Bid, 3, clrRed))
               Print("Error closing buy order: ", GetLastError());
           }
         if(OrderType() == OP_SELL && stochMain < 20)
           {
            if(!OrderClose(OrderTicket(), OrderLots(), Ask, 3, clrBlue))
               Print("Error closing sell order: ", GetLastError());
           }
        }
     }
  }
//+------------------------------------------------------------------+

 

バックテスト結果

バックテスト結果はEUR/USDの15分足でプラスになる結果でした!

エントリー回数は少ないですが着実な感じでしょうか?

レポートは次の通りです。

 

ちなみに他の時間足でのバックテストはすべてマイナスになりました。

1時間足では1取引でマイナス100ドルを超えたことも!!

他にも地雷エントリーとなる要素が省けていないので負け越すことが多いようです。

まとめ

この様にAIに質問をすることでFXの取引戦略を練ることが出来ます。

より詳しい情報を入力することと取引条件を絞ることにより精度の高いアドバイスが貰える可能性があります。

初心者だからこそ鵜呑みには出来ませんが1つの指針とするのもありかもしれませんね。

コメント

タイトルとURLをコピーしました