follow me

 


2025年12月23日火曜日

MT5(MQL5)で「移動平均線だけ」を使ってEAを作る①

 



まず “何を条件(シグナル)にするか” をきっちり決めるのがコツです。移動平均だけでも、決め方は意外と多いです。


1) 移動平均だけで作れる代表的な売買条件パターン

A. ゴールデンクロス/デッドクロス(基本)

  • 買い:短期MAが長期MAを下→上にクロス

  • 売り:短期MAが長期MAを上→下にクロス
    必要なパラメータ

  • MA期間(例:Fast=10 / Slow=50)

  • MA種類(SMA/EMAなど)

  • 適用価格(Closeが一般的)

  • どの足で判定するか(新しいバー確定で判定推奨)

B. 1本MAの“傾き”でトレンド判定(MA slope)

  • 買い:MAが上向き(MA[0] > MA[1])

  • 売り:MAが下向き(MA[0] < MA[1])
    ※ノイズが多いので、MA[0] - MA[1] > 閾値 のような“最低傾き”を入れるのが定番です(これもMA値だけで作れます)。

C. 価格とMAの位置(乖離を含む)

  • 買い:終値がMAより上で確定(Close[1] > MA[1])

  • 売り:終値がMAより下で確定
    さらに「MAからの距離(乖離)が一定以上のときだけ」なども可能(Close-MAだけで完結)。

D. 3本MA(順序)でフィルタ(いわゆる“パーフェクトオーダー”)

  • 買い:短期 > 中期 > 長期

  • 売り:短期 < 中期 < 長期
    クロスよりダマしが減りやすい一方、入りが遅れやすいです。


2) “EAとして成立させるため”に最低限決めるべき条件(超重要)

移動平均シグナルだけ決めても、EAは事故ります。以下を先にルール化すると安定します。

エントリー関連

  • 判定タイミング:ティックごとではなく「新しいバーが確定したときだけ」がおすすめ
    (同じバーの中で何度もクロスした扱いになりやすい)

  • 同方向のポジション制限:すでに買いがあるなら追加しない、など

決済(出口)関連(ここが成績の大半を決めます)

移動平均だけでも出口は作れます:

  • 反対クロスでドテン or 決済

  • MAを割ったら撤退(CloseがMAを反対側で確定したら)

  • 固定SL/TP(これはMA以外ですがEAとしてはほぼ必須。最低でもSL推奨)

  • トレーリング(MAを追従線として使う:例「SlowMAの反対側に来たらクローズ」)

リスク管理(証拠金取引なので必須)

  • ロット計算(固定ロット or 口座残高%)

  • 最大スプレッドで取引停止

  • 取引時間帯フィルタ(スプレッドが広い時間を避ける)


3) まずはこれで動く:2本MAクロスEAの“条件例”

  • 指標:EMA(Fast=10 / Slow=50)

  • エントリー:バー確定時のクロス

  • 決済:反対クロスでクローズ(またはドテン)

  • フィルタ:スプレッドが一定以下のみ


4) MQL5の最小サンプル(2本MAクロス、バー確定で判定)

※そのまま貼って動く“骨格”です。細部(SL/TP/ロット)を足していく形が安全です。

//+------------------------------------------------------------------+

//|  Simple MA Crossover EA (MT5 / MQL5)                             |

//+------------------------------------------------------------------+

#property strict

#include <Trade/Trade.mqh>

CTrade trade;


input int    FastPeriod = 10;

input int    SlowPeriod = 50;

input ENUM_MA_METHOD MaMethod = MODE_EMA;

input ENUM_APPLIED_PRICE PriceType = PRICE_CLOSE;

input double Lots = 0.10;

input int    MaxSpreadPoints = 30;   // 例: 30 points


int fastHandle, slowHandle;

datetime lastBarTime = 0;


bool IsNewBar()

{

   datetime t = iTime(_Symbol, _Period, 0);

   if(t != lastBarTime)

   {

      lastBarTime = t;

      return true;

   }

   return false;

}


bool GetMA(int handle, double &ma0, double &ma1)

{

   double buf[2];

   if(CopyBuffer(handle, 0, 0, 2, buf) != 2) return false;

   ma0 = buf[0]; // current bar (still forming)

   ma1 = buf[1]; // previous closed bar

   return true;

}


int OnInit()

{

   fastHandle = iMA(_Symbol, _Period, FastPeriod, 0, MaMethod, PriceType);

   slowHandle = iMA(_Symbol, _Period, SlowPeriod, 0, MaMethod, PriceType);


   if(fastHandle == INVALID_HANDLE || slowHandle == INVALID_HANDLE)

      return INIT_FAILED;


   return INIT_SUCCEEDED;

}


void OnDeinit(const int reason)

{

   if(fastHandle != INVALID_HANDLE) IndicatorRelease(fastHandle);

   if(slowHandle != INVALID_HANDLE) IndicatorRelease(slowHandle);

}


void OnTick()

{

   // スプレッドフィルタ

   int spread = (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD);

   if(spread > MaxSpreadPoints) return;


   // バー確定ごとに判定(ダマしと多重発注を減らす)

   if(!IsNewBar()) return;


   double f0,f1,s0,s1;

   if(!GetMA(fastHandle, f0, f1)) return;

   if(!GetMA(slowHandle, s0, s1)) return;


   // クロス判定は「確定足どうし」で見るのが基本 → f1/s1 と f2/s2 を見たいが

   // 最低限、前足(1)とその一つ前(2)で判断するのが堅い。

   // ここでは簡易に CopyBuffer の取り方を変えて2本見る例にする:

   double f[3], s[3];

   if(CopyBuffer(fastHandle, 0, 0, 3, f) != 3) return;

   if(CopyBuffer(slowHandle, 0, 0, 3, s) != 3) return;


   double f1c = f[1], f2c = f[2];

   double s1c = s[1], s2c = s[2];


   bool crossUp   = (f2c <= s2c) && (f1c > s1c);

   bool crossDown = (f2c >= s2c) && (f1c < s1c);


   // いまのポジション状況

   bool hasPos = PositionSelect(_Symbol);

   long posType = hasPos ? (long)PositionGetInteger(POSITION_TYPE) : -1;


   if(crossUp)

   {

      // 反対ポジがあればクローズ

      if(hasPos && posType == POSITION_TYPE_SELL) trade.PositionClose(_Symbol);

      // 買いがなければ新規

      if(!PositionSelect(_Symbol)) trade.Buy(Lots, _Symbol);

   }

   else if(crossDown)

   {

      if(hasPos && posType == POSITION_TYPE_BUY) trade.PositionClose(_Symbol);

      if(!PositionSelect(_Symbol)) trade.Sell(Lots, _Symbol);

   }

}



5) 失敗しがちな点(MAだけEAで特に多い)

  • ティックごと判定で同バー内に連打してしまう → 新バー確定で判定

  • クロス判定に「確定足」を使っていない → [1]と[2]で判定が堅い

  • 出口が弱い(エントリーより出口が重要)

  • スプレッド・約定拒否・ロット計算などの実運用要件が抜ける




2025年12月12日金曜日

FX自動売買ロボットをつくる ①FXとはどういう投資なのか②FXで利益を上げる仕組み③テクニカル分析した指標を使用し値動きを判断する分析方法値動きの差益で儲けていくスタイル

 暇でしたら動画でも見てください参考です。





🤖 FX自動売買ロボットをつくる

① 💱 FXとはどういう投資なのか

FX(外国為替証拠金取引)とは、異なる国の通貨を売買して利益を狙う投資です🌍
たとえば「円を売ってドルを買う」「ドルを売って円を買う」といった取引を行います。

  • 📈 為替レートが上がる/下がる

  • 🔁 その変動を利用して利益を得る

  • ⚖️ 少ない資金で大きな取引ができる(レバレッジ)

といった特徴があります。


② 💰 FXで利益を上げる仕組み

FXの利益の基本はとてもシンプルです✨

  • 📉 安く買って高く売る

  • 📈 高く売って安く買い戻す

この**値動きの差(差益)**が利益になります💵
自動売買ロボットでは、この判断を人の代わりにプログラムが行います🤖


③ 📊 テクニカル分析を使った値動きの判断方法

FX自動売買ロボットでは、テクニカル分析の指標を使って相場を判断します🔍

  • 📈 移動平均線

  • 🔄 RSI

  • 📊 MACD

  • 📉 ボリンジャーバンド など

これらの指標を使い、

  • 「今は買い時か?🤔」

  • 「今は売り時か?🧐」

を数値とルールで判断します。


🎯 値動きの差益で儲けていくスタイル

このロボットの基本スタイルは👇

  • ⏱ 相場の値動きを分析

  • 🤖 条件に合えば自動で売買

  • 💹 価格変動の差益をコツコツ積み上げる

感情に左右されず、ルール通りに取引するのが最大の強みです💪✨


続きとして
👉「自動売買ロボットの仕組み」
👉「どんな指標を組み合わせるか」
も作りますか?📘🚀

FXは90%以上の投資家が負けている

了解です。絵文字入りで、短くわかりやすくまとめます👇


⚠️ FXは90%以上の投資家が負けていると言われる理由

FXは利益を出せる人がごく一部の、非常に難しい投資です💱
一般的に90%以上の投資家が負けていると言われています📉

😵 なぜ多くの人が負けるのか

  • 💥 感情的な取引(恐怖・欲)

  • 🎯 明確なルールがない

  • ⏱ 根拠のないエントリー

  • ⚖️ レバレッジのかけすぎ

  • 🧠 勉強不足・検証不足


🤖 自動売買ロボットが注目される理由

人間の弱点である

  • 😨 恐怖

  • 😤 欲

  • 😫 迷い

を排除し、決めたルールを淡々と実行できるからです🔁✨


🔑 勝つために必要な考え方

  • 📊 優位性のある手法を使う

  • 🧪 過去検証(バックテスト)を行う

  • 💼 資金管理を徹底する

  • 🕰 長期目線でコツコツ運用


FXはギャンブルではなく、
ルールと確率のゲームです📈🎲

自動売買ロボットは、
👉「負ける側90%」から抜け出すための1つの手段になります🤖✨

この流れで
👉「なぜ裁量トレードは負けやすいのか」
👉「自動売買で生き残る戦略」
も続けますか?📘🚀

4つのトレードスタイル ①中長期トレード②スイングトレード ③デイトレード ④スキャルピングトレード

了解です😊
絵文字入りで、4つのトレードスタイルをわかりやすくまとめます👇✨


📊 FXの4つのトレードスタイル

① 🕰 中長期トレード

数週間〜数か月、場合によっては年単位でポジションを保有するスタイル📈

  • 🌍 ファンダメンタルズ重視

  • 📉 大きなトレンドを狙う

  • ⏳ 取引回数は少なめ

  • 😌 時間に縛られにくい

👉 忙しい人・長期目線の投資家向け


② 🌊 スイングトレード

数日〜数週間で売買を行うスタイル📉📈

  • 📊 テクニカル分析が中心

  • 🔄 トレンドの波を取る

  • ⚖️ リスクとリターンのバランスが良い

  • 🧠 比較的冷静な判断がしやすい

👉 自動売買ロボットと相性が良い✨


③ ☀️ デイトレード

その日のうちに取引を完結させるスタイル⏱

  • 🕒 数分〜数時間の保有

  • 📉📈 短期の値動きを狙う

  • 🌙 ポジションを翌日に持ち越さない

  • 😵 集中力と判断力が必要

👉 相場を常に見られる人向け


④ ⚡ スキャルピングトレード

数秒〜数分で何度も売買する超短期スタイル⚡

  • 🔁 取引回数が非常に多い

  • 💰 小さな利益を積み重ねる

  • 🧮 高い技術力が必要

  • 💥 スプレッドや手数料の影響大

👉 上級者・自動売買向けだが難易度高め⚠️


🤖 自動売買ロボットに向いているのは?

  • 🌊 スイングトレード

  • スキャルピングトレード(慎重に)

感情を排除し、ルール通りに動くロボットの強みが活きます💪✨


この次は
👉「各トレードスタイルと時間足の関係」
👉「自動売買に向くスタイルの選び方」

どちらを続けますか?📘🚀

「自動売買に向くスタイルの選び方」

了解です😊
絵文字入りで、**「自動売買に向くスタイルの選び方」**をわかりやすくまとめます👇✨


🤖 自動売買に向くトレードスタイルの選び方

自動売買ロボットは、
感情を排除してルール通りに取引できるのが最大の強みです💪
その強みを活かせるスタイルを選ぶことが重要です🔑


🥇 ① スイングトレード(最もおすすめ)

自動売買と相性が非常に良いスタイルです🌊✨

  • 📊 テクニカル分析を明確なルールにしやすい

  • 🔁 エントリー回数が適度

  • ⚖️ スプレッドの影響が少ない

  • 🧠 ノイズ(無駄な値動き)に振り回されにくい

👉 初心者〜中級者の自動売買に最適🤖


🥈 ② 中長期トレード

安定運用を目指すなら有力な選択肢🕰

  • 🌍 ファンダメンタル要素を組み込みやすい

  • 🔐 取引回数が少なくストレスが少ない

  • 📉 急な値動きに耐える資金管理が必要

👉 資金に余裕がある人向け💼


⚠️ ③ デイトレード(やや難易度高)

自動化は可能だが、調整がシビア⏱

  • ⚡ 判断回数が多い

  • 📉 相場環境の変化に弱い

  • 🧮 スプレッドの影響を受けやすい

👉 上級者向け・十分な検証が必須🧪


🚨 ④ スキャルピング(上級者専用)

自動売買向きに見えるが、実は最難関⚡

  • 🔁 超高速処理が必要

  • 💥 通信遅延・約定力が重要

  • 💰 コスト(スプレッド)が致命的

👉 個人レベルでは難易度が非常に高い⚠️


🎯 スタイル選びのチェックポイント

自動売買スタイルを選ぶときは👇

  • ⏳ 使用する時間足は?

  • 🔁 取引回数は多すぎないか?

  • 💰 コスト(スプレッド)に耐えられるか?

  • 🧪 十分なバックテストができるか?


✅ 結論

🔰 初心者〜中級者の自動売買
👉 🌊 スイングトレードが最適

🤖 自動売買は
「シンプルなルール × 継続運用」
が成功のカギです🔑✨

次は
👉「時間足と自動売買の関係」
👉「勝ちやすい相場・負けやすい相場」

どちらを解説しますか?📘🚀

「時間足と自動売買の関係」

了解です😊
絵文字入りで、**「時間足と自動売買の関係」**をわかりやすく解説します👇✨


⏱ 時間足と自動売買の関係

時間足とは、ローソク足1本が表す時間の長さのことです📊
自動売買では、この時間足の選び方が成績を大きく左右します🤖⚠️


🕰 主な時間足の種類

  • ⏱ 1分足・5分足

  • ⏰ 15分足・30分足

  • 🕒 1時間足

  • 🕯 4時間足

  • 📅 日足・週足


🤖 自動売買に向く時間足とは?

🥇 ① 1時間足・4時間足(最もおすすめ)

自動売買と相性が非常に良い時間足✨

  • 📉 ノイズ(無駄な値動き)が少ない

  • 📊 テクニカル指標が機能しやすい

  • 🔁 取引回数が適度

  • 💰 スプレッドの影響が小さい

👉 スイングトレード向き🌊
👉 初心者〜中級者に最適🤖


🥈 ② 日足(安定重視)

超安定型の自動売買向け📅

  • 🔐 エントリー回数が少ない

  • 🌍 大きなトレンドを狙える

  • 🧠 精神的にも安定

👉 中長期トレード向き🕰
👉 資金に余裕がある人向け💼


⚠️ ③ 5分足・15分足(難易度高)

短期自動売買向けだが注意⏱

  • ⚡ 相場変化が早い

  • 📉 ダマシが増える

  • 💥 スプレッド・滑りの影響大

👉 デイトレード向き
👉 十分な検証と調整が必須🧪


🚨 ④ 1分足(超上級者向け)

自動売買では最難関

  • 🔁 取引回数が多すぎる

  • 💻 通信・約定環境が超重要

  • 💰 コスト負けしやすい

👉 個人の自動売買には不向き⚠️


🎯 トレードスタイル × 時間足の相性

トレードスタイル

向いている時間足

🕰 中長期

日足・4時間足

🌊 スイング

1時間足・4時間足

☀️ デイトレ

5分足・15分足

⚡ スキャル

1分足・5分足


✅ 結論

🤖 自動売買で安定を目指すなら
👉 1時間足 or 4時間足 × スイングトレード が王道👑✨

長い時間足ほど、
シンプルなルールが機能しやすい
これが自動売買成功の重要ポイントです🔑

次は
👉「勝ちやすい相場・負けやすい相場」
👉「自動売買ロボットの基本構成」

どちらに進みますか?📘🚀

「自動売買ロボットの基本構成」

了解です😊
絵文字入りで、**「自動売買ロボットの基本構成」**をわかりやすく解説します👇✨


🤖 自動売買ロボットの基本構成

FX自動売買ロボットは、
**「判断 → 実行 → 管理」**の流れで動いています🔁
主に5つのパーツで構成されます🧩


① 📊 相場分析ロジック(分析エンジン)

「今、買う?売る?待つ?」を判断する頭脳部分🧠

  • 📈 テクニカル指標(移動平均線・RSIなど)

  • 🕯 ローソク足の形

  • 📉 トレンド・レンジ判断

👉 すべて数値とルールで定義するのがポイント🔑


② 🎯 エントリー条件

取引を開始する明確なルール🚪

  • 📈 買い条件(ロング)

  • 📉 売り条件(ショート)

  • ⏳ 時間足の確定タイミング

👉 曖昧さゼロが重要⚠️


③ 🛑 決済ルール(利確・損切り)

利益と損失を確定させる重要パート💰⚖️

  • 💹 利確(TP)

  • 💥 損切り(SL)

  • 🔁 トレーリングストップ

👉 損切りは必須🚨
👉 勝率より「損小利大」を意識🎯


④ 💼 資金管理(マネーマネジメント)

生き残るための最重要要素🛡

  • 💰 ロットサイズ計算

  • 📉 最大ドローダウン制限

  • 📊 1回の損失割合(例:口座の1〜2%)

👉 どんな手法でも資金管理が甘いと破綻💣


⑤ ⚙️ 実行・管理システム

実際に注文を出し、管理する部分🖥

  • 📨 成行・指値・逆指値

  • ⏱ 注文タイミング

  • 📡 通信エラー対策

  • 🔍 ログ・履歴管理

👉 安定稼働の土台部分🏗


🔁 自動売買ロボットの流れ

1️⃣ 相場データを取得📊
2️⃣ 分析ロジックで判断🧠
3️⃣ 条件一致でエントリー🎯
4️⃣ ルール通りに決済💰
5️⃣ 資金管理しながら継続運用🔁


✅ 成功する自動売買ロボットの共通点

  • 📏 ルールがシンプル

  • 🧪 十分なバックテスト

  • 🔁 相場に合わせた調整

  • 🛡 無理をしない資金管理


🎯 結論

🤖 自動売買ロボットは
「分析・ルール・資金管理・安定実行」
この4本柱がそろって初めて機能します💪✨

次は
👉「エントリー条件の作り方」
👉「損切りと利確の最適化」

どちらを深掘りしますか?📘🚀


📉円高が急進!ドル円一時152円台へ|米景気減速懸念でドル売り加速【2週間ぶり水準】💱

  。 🇺🇸米経済統計がきっかけに…ドル売り強まる💵⬇️ 10日に発表された米国の経済指標が市場心理に影響しました。 昨年12月の米小売売上高(季節調整値) 前月比 0%(横ばい) 市場予想を下回る結果に📉 この結果を受けて「米国景気が減速するのでは?」との懸念が高まり、...