ストキャスのEAを作る方法!ノーコードで自作

ストキャスのEAを作る方法!ノーコードで自作

「ストキャスティクスを使ってEAを作りたいけど、MQL4なんて書けない」——そう感じている方は多いと思います。私も最初はまったく同じでした。でも今はノーコードツールのおかげで、プログラミング不要でストキャスのEAを自作できるようになりました。

この記事では、ストキャスティクスとは何かという基礎から、実際にノーコードでEAを組む手順まで、順を追って説明します。バックテストで検証する方法もカバーしているので、初めてEAを作る方でも最後まで読めば「やってみよう」と思えるはずです。

この記事のポイント
  • ストキャスティクスの仕組みと売買シグナルの読み方がわかる
  • %Kと%Dのクロスを使ったEAロジックの考え方がわかる
  • ノーコードツールでストキャスEAを作る具体的な手順がわかる
  • バックテストと最適化でEAを仕上げる方法がわかる
目次

ストキャスティクスEAの基礎知識

ストキャスティクスインジケーターのチャート画面

ストキャスティクスとは何か

ストキャスティクスは、1950年代にジョージ・レーン氏が開発したテクニカルインジケーターです。日本語では「確率論的振動指標」とも呼ばれますが、難しく考える必要はありません。要は「今の価格が直近の高値・安値のどのあたりにいるか」を0〜100のスケールで表すオシレーター系指標です。

MT4に標準搭載されており、インジケーターの追加設定なしにすぐ使えます。チャート下部にサブウィンドウとして表示されるのが一般的です。表示される線は主に2本で、%Kライン(高速)と%Dライン(%Kを平均化した低速線)です。この2本のクロスが売買シグナルとなります。

一般的な設定値は「%K期間:5、%D期間:3、スローイング:3」です。スローストキャスティクスとも呼ばれるこの設定がデフォルトでよく使われます。%K期間が短いほど反応が速くなる反面、ダマシも増えます。長くすると安定しますが遅れが出るので、自分のトレードスタイルに合わせて調整が必要です。

ストキャスティクスはRSIと同じオシレーター系ですが、計算方式が異なります。RSIが「値上がり幅と値下がり幅の比率」を見るのに対して、ストキャスティクスは「直近の価格レンジ内での現在価格の位置」を見ます。

80以上が「買われすぎゾーン」、20以下が「売られすぎゾーン」とされています。この水準を使ったフィルタリングをEAに組み込むことで、ノイズを減らすことができます。単純にクロスだけでエントリーするよりも、80以上でのデッドクロス・20以下でのゴールデンクロスという条件を加えると、シグナルの精度が上がりやすいです。

ストキャスティクスの計算式は以下のとおりです。%K = (現在値 − 直近N期間の最安値)÷(直近N期間の最高値 − 直近N期間の最安値)× 100。これを平均化したものが%Dで、さらにそれを平均化したものがSlow%Dです。EAで使う際はこの計算を自動でやってくれるので、式を暗記する必要はありません。

EAとは何か・なぜ自作するのか

EA(Expert Advisor)とは、MT4・MT5上で動く自動売買プログラムのことです。あらかじめ設定したルールに従って、24時間自動でエントリーとエグジットを行ってくれます。裁量トレードと違って、感情に左右されずにルールを守り続けられるのが最大の利点です。

EAを自作するメリットは「自分のロジックを正確に再現できること」です。既製品のEAは中身が見えないことが多いですが、自作なら何の条件でエントリーしているかが100%わかります。

市販のEAや無料で配布されているEAは多数ありますが、自分のトレードスタイルに合っているとは限りません。また、過去の相場に最適化されすぎている「オーバーフィッティング」の問題を抱えているものも少なくないです。自作EAなら自分でロジックを理解しているので、パラメータをどう変えればいいかも判断できます。

「でもプログラミングができない」という方がほとんどだと思います。従来、EAを作るにはMQL4やMQL5というプログラミング言語を習得する必要がありました。しかし近年ではノーコードでEAを作れるツールが登場しており、ドラッグ&ドロップやフォームへの入力だけでロジックを組めるようになっています。

ストキャスティクスのEAは、ロジックが比較的シンプルなので初めてEAを作る方の練習にも最適です。「%Kが%Dを下から上に突き抜けたら買い」というルールは言葉で説明しやすく、ノーコードツールでも設定しやすい条件です。まず一つ完成させて動かしてみることが、自動売買を学ぶ上で一番の近道です。

EAを使う際は必ずデモ口座でテストしてから本番運用に移ることをお勧めします。どんなに精度の高いバックテストをしても、リアルトレードでは想定外の挙動が起きることがあります。

%Kと%Dクロスの売買シグナル

ストキャスEAの核心は「%Kと%Dのクロス」です。この2本の線の交差をエントリートリガーとして使います。具体的には次のとおりです。

  • ゴールデンクロス(買いシグナル):%Kが%Dを下から上に突き抜けた
  • デッドクロス(売りシグナル):%Kが%Dを上から下に突き抜けた

ただしクロスだけを条件にすると、相場がレンジ状態のときに頻繁にシグナルが出てしまいます。そこで「20以下でのゴールデンクロスだけを買いに使う」「80以上でのデッドクロスだけを売りに使う」というフィルターを追加するのが定石です。

クロスの「その時点での値」だけを見るのではなく、「前の足では%Kが%Dより下にいて、今の足では上に来た」という前後関係の変化を検出するのがポイントです。ノーコードツールではこの「前後比較」を直感的に設定できます。

クロスシグナルの見方を整理するとこうなります。

シグナル種類条件エントリー方向
ゴールデンクロス(通常)%Kが%Dを下から上へ突き抜け買い
ゴールデンクロス(強い)20以下のゾーンで発生買い(精度高め)
デッドクロス(通常)%Kが%Dを上から下へ突き抜け売り
デッドクロス(強い)80以上のゾーンで発生売り(精度高め)

ゾーンフィルターを使うとシグナルの発生頻度は下がりますが、ダマシを減らす効果があります。逆にシグナル数を増やしたい場合はフィルターを外すか、閾値を80/20ではなく70/30などに緩めるとよいです。どちらが良いかはバックテストで比べてみましょう。

また、ストキャスティクスはトレンドが強い相場では機能しにくいことがあります。上昇トレンド中に80以上に張り付いたままになって、デッドクロスが出るたびに逆張りして負け続けるパターンが代表的な失敗例です。移動平均線でトレンド方向を確認してから、トレンドに順じる方向のシグナルだけを使うという組み合わせも効果的です。

パラメータ設定の基本的な考え方

ストキャスEAで設定が必要な主なパラメータは「%K期間」「%D期間」「スローイング(Slowing)」「買われすぎ水準」「売られすぎ水準」の5つです。デフォルト値の「5・3・3・80・20」から始めるのが定番ですが、これがすべての通貨ペアや時間軸に最適というわけではありません。

%K期間を短くすると感度が上がる代わりにダマシも増えます。長くすると安定しますが遅れが出ます。まずはデフォルト値でバックテストを行い、その結果を基に調整する順序がおすすめです。

時間軸によっても最適なパラメータは変わります。5分足や15分足のような短い時間軸では、デフォルト値だとシグナルが頻繁すぎてスプレッドで負けることもあります。1時間足や4時間足など中長期の時間軸を使う場合は、%K期間を14や21に延ばすことでシグナルの質が安定することが多いです。

通貨ペアとの相性も重要です。ドル円のような比較的方向感が出やすいペアと、ユーロドルのようなレンジになりやすいペアとではストキャスティクスの効き方が違います。レンジになりやすいペア・時間帯でのほうがオシレーター系は機能しやすい傾向があります。

ただし、あまりパラメータを細かく最適化しすぎると過学習(オーバーフィッティング)に陥ります。特定の期間のデータにだけ完璧にフィットして、その後の相場では全く機能しないEAができてしまうことがあります。パラメータ最適化はほどほどにして、ロバスト性(頑健性)を重視するのが長続きするEA作りのコツです。

損切り(ストップロス)と利確(テイクプロフィット)の設定もEAの成否を左右します。ストキャスのクロスでエントリーしても、出口の設定次第で勝率とリスクリワード比は大きく変わります。ATRベースの損切り幅を使うか、固定Pips方式にするかは、バックテストで比べてみることをお勧めします。

ストキャスEAのよくある失敗パターン

ストキャスEAを作る上で陥りやすい失敗パターンを知っておくと、無駄な回り道を避けられます。私自身が経験した失敗も含めて紹介します。

最もよくある失敗は「トレンド中の逆張り地獄」です。ストキャスティクスは相場が横ばいのときに機能する逆張り的な使い方が多いため、強いトレンドの最中では連続でやられてしまいます。

  • トレンド方向を無視した逆張りEA(チャートが一方向に動くとひたすら損切りされる)
  • 損切りなし設定(含み損を抱え続けて最終的に大きなダメージになる)
  • バックテスト期間が短すぎる最適化(直近の相場にだけ合っているEA)
  • スプレッドを考慮しない設定(細かいシグナルが多いとスプレッドで溶ける)

「損切りなし設定」は特に危険です。EAに損切りを設定しないでいると、含み損が増え続けて最終的に口座が壊滅するリスクがあります。バックテストでは「ある程度耐えて回復した」ように見えても、実際の相場では予想以上に動くことがあります。必ず損切りを設定してください。

バックテスト期間の問題も重要です。例えば2022年以降のような相場と、2020〜2021年の相場ではボラティリティが大きく異なります。できれば5年以上の期間でバックテストを行い、様々な相場環境での挙動を確認することが大切です。ノーコードツールを使えばバックテストも簡単に実行できます。

スプレッドの考慮も忘れがちです。ストキャスのクロスを使ったEAは設定によっては短時間でシグナルが多発することがあります。1回のエントリーでのスプレッドは数Pipsかもしれませんが、1日に何十回もエントリーすれば積み重なって大きなコストになります。バックテスト時には実際に使うブローカーのスプレッドを設定して確認しましょう。

無料で試してみる

ストキャスEAをノーコードで自作できる無料ツール「NoCode EA Studio」はこちら。
▶ NoCode EA Studio を無料で使う

ノーコードでストキャスEAを自作する手順

ノーコードEA作成ツールの操作画面イメージ

NoCode EA Studioに登録する

NoCode EA Studioは、プログラミングなしでMT4用のEAを作れる国産のノーコードツールです。ブラウザで動作するため、特別なソフトのインストールも不要です。まずは無料アカウントを作成するところから始めましょう。

登録の流れはシンプルです。公式サイト(app.nocodeeastudio.com)にアクセスして、メールアドレスとパスワードを入力するだけです。クレジットカードの登録は不要で、無料プランですぐに試せます。

STEP
公式サイトにアクセス

app.nocodeeastudio.com を開いてアカウント登録ページに移動します

STEP
メールアドレスで登録

メールアドレスとパスワードを入力して無料アカウントを作成します

STEP
ダッシュボードにログイン

ログイン後、新規EA作成ボタンからEA作成画面を開きます

ダッシュボードに入ると、EA一覧画面が表示されます。最初は何もない状態ですが、「新しいEAを作る」ボタンをクリックするとEA作成画面が開きます。ここからストキャスティクスを使ったロジックを組んでいきます。

無料プランでも基本的なEA作成とMT4ファイルのダウンロードができます。まずは無料で試してみて、使い勝手を確かめてから必要に応じてアップグレードするのがおすすめです。

ツールの画面はシンプルに設計されており、左側にロジックを設定するパネル、右側にプレビューが表示されます。操作に迷ったら画面内のヘルプアイコンをクリックすると解説が表示されるので、初めての方でも安心して進められます。

EA名を最初に入力します。「stoch_cross_EA」のような英数字の名前をつけておくと、後からMT4でファイルを管理するときに区別しやすいです。日本語名でも動きますが、一部の環境で文字化けすることがあるので英数字推奨です。

エントリー条件をノーコードで設定する

EA作成画面のエントリー条件設定では、「インジケーター」の一覧からストキャスティクスを選択します。インジケーターの種類が一覧表示されているので、「Stochastics」または「ストキャスティクス」を選んでください。

選択したら、先ほど説明したパラメータを入力します。デフォルト値(%K期間:5、%D期間:3、スローイング:3)で始めるのが最も手軽です。パラメータは後からバックテストの結果を見て調整できるので、まずはデフォルトで動かしてみましょう。

「条件タイプ」の選択では「クロス(ゴールデン)」「クロス(デッド)」「レベル以上」「レベル以下」などのオプションが用意されています。今回の基本ロジックでは「クロス(ゴールデン)= 買い」「クロス(デッド)= 売り」を選択します。

ゾーンフィルターを加えたい場合は、追加条件として「ストキャスティクスが20以下のときのみ買いエントリー」という設定を追加します。ノーコードツールでは複数の条件をAND/ORで組み合わせられるので、「クロスが発生」AND「20以下のゾーン」という設定をドロップダウンで選ぶだけです。

エントリー方向の設定も確認しましょう。「ロングのみ(買いだけ)」「ショートのみ(売りだけ)」「両方向」の選択ができます。最初は「両方向」で設定してバックテストを見てから、どちらか一方に絞るかを判断するといいです。通貨ペアによっては一方向の取引のほうが成績が良いケースがあります。

時間足(タイムフレーム)の設定も重要です。EA実行時に使う時間足と、エントリー条件を計算する時間足を一致させる必要があります。例えば1時間足でEAを動かすなら、ストキャスの計算も1時間足ベースで行う設定にします。ノーコードツールでは「現在の時間足を使用」などの選択肢があるので、基本はそれで問題ありません。

損切りと利確の設定方法

エントリー条件の次は、損切り(ストップロス)と利確(テイクプロフィット)の設定です。これはEAの収益性とリスク管理の核心部分です。「損切りなし」は絶対に避けてください。

FXの自動売買では、設定ミスや予期しない相場の動きで大きな損失が発生する可能性があります。損切りは必ず設定し、1回のトレードで口座残高の1〜2%以上を失わないようにロットを管理してください。

損切り幅の設定方式は主に3種類あります。

  • 固定Pips方式:「エントリー価格から30Pips下に損切り」など固定値で設定
  • ATRベース方式:ボラティリティに連動した動的な損切り幅(例:ATR×1.5)
  • 直近高値・安値方式:直近のスイングハイ・スイングローに損切りを置く

初心者の方には「固定Pips方式」が最もわかりやすいです。ドル円なら損切り30Pips・利確60Pipsのように設定して、リスクリワード比を2:1にするのが基本的な考え方です。ノーコードツールでは「ストップロス:30(Pips)」「テイクプロフィット:60(Pips)」のように数値を入力するだけで設定できます。

トレイリングストップ(利益を追いかけて損切りを移動させる機能)を使うと、大きなトレンドが出たときに利益を伸ばせます。ただし設定が複雑になるので、最初は固定の利確・損切りで始めて、EA作りに慣れてから追加機能を試すのがおすすめです。

リスクリワード比(損切り幅 vs 利確幅の比率)は最低でも1:1以上にしましょう。勝率50%でも損切り<利確の設定なら長期的にプラスになれます。逆に利確<損切りの設定だと、高い勝率がないと収益化できません。

ロットサイズ(取引数量)の設定は、リスク管理の観点から「口座残高に対する固定リスク%」での設定が最も安全です。例えば「1トレードで口座の1%のリスク」と設定すれば、損切りに引っかかっても口座残高の1%しか失いません。ノーコードツールによっては「自動ロット計算」機能があり、損切り幅と許容リスク%を入力するだけで適切なロットを自動計算してくれます。

MT4ファイルの書き出しと設置

ロジックの設定が完了したら、MT4用のEAファイル(.ex4形式)を書き出します。NoCode EA Studioでは「ダウンロード」ボタンをクリックするだけで、MT4で読み込める形式のファイルが生成されます。プログラミングコードを1行も書かずにEAファイルが完成するのがノーコードツールの強みです。

ダウンロードしたEAファイルをMT4に設置する手順は以下のとおりです。

STEP
MT4のデータフォルダを開く

MT4上部メニューの「ファイル」→「データフォルダを開く」をクリックします

STEP
Expertsフォルダに配置

開いたフォルダ内の「MQL4」→「Experts」フォルダに.ex4ファイルをコピーします

STEP
MT4を再起動して確認

MT4を再起動するとナビゲーターの「エキスパートアドバイザ」欄にEAが表示されます

EAがナビゲーターに表示されたら、チャートにドラッグ&ドロップします。「自動売買を許可する」のチェックボックスにチェックが入っているか確認してから「OK」をクリックしてください。チャート右上にEA名が表示されれば正常に動作しています。

MT4の「ツール」→「オプション」→「エキスパートアドバイザ」タブで「自動売買を許可する」にチェックが入っていないとEAが動きません。設置してもEAが機能しないと感じたら、まずここを確認してください。

最初は必ずデモ口座で動作確認を行ってください。リアル口座でいきなり動かすのは危険です。デモ口座で数日から数週間動かして、意図したとおりのエントリー・エグジットが行われているかをチェックします。ログを確認することでトレードの詳細を確認できます。

バックテストで戦略を検証する方法

EAを設置したら、MT4のストラテジーテスター(バックテスト機能)で過去データを使ったテストを行います。バックテストはEAのパフォーマンスを客観的に評価できる唯一の方法です。感覚でEAの良し悪しを判断するのではなく、データで確認する習慣をつけましょう。

MT4のストラテジーテスターの開き方:「表示」メニュー→「ストラテジーテスター」または Ctrl+R でテスター画面が開きます。

バックテストの設定では以下の項目を確認してください。

  • エキスパートアドバイザ:作成したEAを選択
  • 通貨ペア:テストしたいペアを選択(例:USDJPY)
  • 時間足:EA動作に使う時間足と合わせる
  • 期間:少なくとも1〜3年以上の期間を設定
  • モデル:「全ティック使用(全ての刻み値)」が最も精度高め
  • スプレッド:実際のブローカーに近い値を設定(例:2〜5)

バックテストで最も重視すべき指標は「プロフィットファクター(PF)」です。1.5以上あれば優良、2.0以上なら非常に良好とされています。ただし、バックテスト期間が短いほどPFが高くなりやすい(過学習)ので、長期間での検証が不可欠です。

バックテスト結果の見方を整理すると、確認すべき指標はこちらです。

指標目安確認ポイント
プロフィットファクター(PF)1.5以上総利益÷総損失。高いほど良い
最大ドローダウン口座の20%以下最も大きい連続損失の深さ
勝率40〜60%低くてもPFが高ければ問題なし
総トレード数100回以上少ないと統計的に信頼性が低い

バックテストで良い結果が出たとしても、それがそのままフォワードテスト(リアルタイムの相場でのテスト)で再現されるとは限りません。バックテストは過去データへの当てはめであり、未来の相場は必ず異なります。バックテストはあくまで「最低限のフィルター」として使い、フォワードテストで実際のパフォーマンスを確認することが重要です。

まとめ

ストキャスティクスEAの作り方について、基礎知識から実際にノーコードで自作する手順まで説明しました。最後にポイントを整理します。

  • ストキャスティクスは0〜100で相場の過熱感を示すオシレーター系指標
  • %Kと%Dのクロスを基本シグナルとして、20以下・80以上のゾーンフィルターを加えると精度が上がる
  • ノーコードツールを使えばMQL4の知識なしにストキャスEAを自作できる
  • 損切りは必須設定。バックテストで長期間の検証を必ず行う

「プログラミングができないからEAは作れない」という時代は終わりました。NoCode EA Studioのようなノーコードツールを使えば、ストキャスのロジックを設定してMT4用のファイルを書き出すまでが、数十分で完結します。まずは無料で試してみて、自分だけのEAを作る体験をしてみてください。

完成したEAはまずデモ口座で動かして、バックテストの結果と近い挙動が出ているかを確認してから本番運用に移ることをお勧めします。一つ完成させる経験が、次のEA作りをぐっと楽にしてくれます。

免責事項

本記事はFX自動売買(EA)に関する一般的な情報提供を目的としています。FX取引には為替レートの変動による損失リスクが伴います。記事内の情報は執筆時点のものであり、最新の状況と異なる場合があります。本記事の内容は特定の投資行動を推奨するものではありません。実際のトレードは自己責任で行い、必要に応じて専門家にご相談ください。また、EAのパフォーマンスは過去の結果であり、将来の利益を保証するものではありません。

EA自作の全体像を把握するにはEA自作を初心者が始める完全ガイドもあわせてご覧ください。

よかったらシェアしてね!
目次