コンテンツにスキップ

「とあるMetaTraderの備忘秘録」検証シリーズ

このシリーズについて

「とあるMetaTraderの備忘秘録」様は、MQL4/MT4時代に数多くの貴重な技術記事を公開されていたブログです。
このシリーズでは、その知見に敬意を表しながら、MQL5での検証・再現・発展を試みます。

時代背景に関する注意

このシリーズで紹介する情報は、2009年〜2010年頃のMQL4/MT4の仕様に基づいています。
現在のMQL5/MT5では改善・修正されている可能性があります。
最新の動作についてはご自身の環境でご確認ください。


記事一覧(全19記事)

  • 乱数生成の品質 #18 乱数生成の品質 — MathRand vs XorShiftの比較


    MQL5標準の MathRand() の品質問題。
    より高速で高品質な乱数生成アルゴリズム XorShift の実装。

    記事を読む

  • ランダムウォークの錯覚 #17 ランダムウォークの錯覚 — テクニカル分析への警告


    ランダムに生成された価格データでもチャートパターンが見える錯覚。
    パレイドリア現象とテクニカル分析の信頼性。

    記事を読む

  • Ku-Chartの再現 #16 Ku-Chartの再現 — 通貨強弱チャートの理論と実装


    FAI-FX発の通貨強弱チャート「Ku-Chart」の論理的背景。
    幾何平均を用いた通貨インデックスの計算方法。

    記事を読む

  • #15 マルチ通貨の負荷問題 — iClose/iBarShiftの負荷軽減


    他通貨ペアのデータアクセスにかかるコスト。
    同期的なデータ取得が引き起こすパフォーマンス低下と対策。

    記事を読む

  • インジケータ速度最適化 #14 インジケータ速度最適化 — prev_calculatedの活用法


    OnCalculate 関数の prev_calculated 引数の重要性。
    再計算を最小限に抑えるための実装パターン。

    記事を読む

  • リペイントの罠 #13 リペイントの罠 — 過去書き換えを見抜く方法


    インジケータのリペイント(過去の再描画)の仕組み。
    視覚的な騙しを防ぐための検証方法。

    記事を読む

  • 時刻判定の高速化 #12 時刻判定の高速化 — 時刻取得の最適化テクニック


    毎ティック実行される時刻判定処理の負荷軽減。
    文字列操作を避けた数値ベースの時刻比較。

    記事を読む

  • #11 無限リトライの罠 — バックテストでSleepが効かない


    エラー時のリトライ処理で無限ループに陥るケース。
    バックテスト環境における Sleep() 関数の挙動と対策。

    記事を読む

  • #10 OrderModifyエラー1 — 「変更なし」エラーの原因と対策


    OrderModify (MQL4) / OrderSend (MQL5) で頻発する「変更なし」エラー。
    Normalizationと価格比較による回避策。

    記事を読む

  • #09 iCustomの引数省略問題 — 引数省略が招く未定義動作


    iCustom() でインジケータ引数を省略した時の危険な挙動。
    意図しないデフォルト値が使われるリスク。

    記事を読む

  • MathModの浮動小数点誤差 #08 MathModの浮動小数点誤差 — 剰余計算の落とし穴


    MathMod() 関数が返す予想外の値。
    浮動小数点の剰余計算における誤差とその回避策。

    記事を読む

  • #07 コード高速化の基礎 — ベンチマーク技術と最適化


    MQL5コードを高速化するための基本テクニック。
    GetTickCount() を使ったベンチマーク測定の実践。

    記事を読む

  • #06 バックテスト詐欺の手口 — 未来参照による偽装テクニック


    驚異的な右肩上がりを実現する「未来参照」の手口。
    詐欺EAを見抜くためのチェックリスト。

    記事を読む

  • MACDシグナル線の罠 #05 MACDシグナル線の罠 — SMA vs EMA


    MACDのシグナル線はSMAかEMAか?
    多くのトレーダーが誤解している計算式の違いを検証。

    記事を読む

  • ADX/DMIの計算式 #04 ADX/DMIの計算式 — プラットフォーム間の計算差異


    Wilderの原著に基づいたADX計算の複雑さ。
    MT4/MT5での実装の違いと、完全再現のためのポイント。

    記事を読む

  • #03 EA停止の正しい方法 — ExpertRemoveの使用


    重大なエラー発生時にEAを安全に停止させる方法。
    ExpertRemove() 関数の使い方と注意点。

    記事を読む

  • RSI計算方式の違い #02 RSI計算方式の違い — SMA vs SMMA


    MT4標準のRSIと、一般的なRSIの計算式の違い。
    Wilderの平滑化移動平均(SMMA)と指数平滑移動平均(EMA)の関係。

    記事を読む

  • double型比較の罠 #01 double型比較の罠 — 浮動小数点比較で発生する誤差と対策


    double 型の値を == で比較してはいけない理由。
    DBL_EPSILON を使った安全な比較関数 CompareDouble() の実装。

    記事を読む


今後の展望

MQL検証シリーズ(#01〜#18 全18記事)は一区切りとなりましたが、今後は以下の新シリーズへの展開を計画しています。

1. インジケータ完全移植シリーズ

MQL4時代の名作インジケータや、FAI-FXブログで紹介されたアイデアを、MQL5の最新機能(Canvas、OpenCLなど)を駆使して完全再現・高性能化します。

2. ロジックEA化シリーズ

検証したロジック(RSI、Ku-Chart、ランダムウォーク理論など)を単なる検証で終わらせず、実際に稼働させるためのEA(自動売買システム) へと昇華させます。

3. FAI-FX分析 Season 2

まだ眠っているBatch 13以降の「黒魔術」的な記事を掘り起こし、現代の相場に通用するかを再検証します。

検証は続く

実験室(ラボ)の灯は消えません。次なる実験にご期待ください。


元サイトについて

とあるMetaTraderの備忘秘録

https://fai-fx.hatenadiary.org/
2009年頃からMT4/MQL4に関する技術記事を多数公開。
オフラインチャート活用、Ku-Chart開発、R言語連携など先駆的な内容が特徴。