コンテンツにスキップ

用語集

FXおもしろラボの記事で登場する専門用語を解説します。


プログラミング・MQL5関数

【カテゴリ】MQL5関数

【カテゴリ】プログラミング用語


double型

カテゴリ: データ型
初出: 検証#01 double型比較

64ビットの浮動小数点数型。MQL5で価格やインジケータ値を扱う際に使用される。

注意点:

  • == での直接比較は避ける
  • NormalizeDouble または MathAbs で比較すべし
MQL
double price = 1.2345;

NormalizeDouble

カテゴリ: MQL関数
初出: 検証#01 double型比較

浮動小数点数を指定した桁数に丸める関数。

書式:

MQL
double NormalizeDouble(double value, int digits);

使用例:

MQL
// 価格を5桁に正規化
double normalized = NormalizeDouble(1.23456789, 5);  // 1.23457

// 比較に使用
if(NormalizeDouble(a - b, _Digits) == 0.0)
{
    // 一致とみなす
}


MathRand

カテゴリ: MQL5関数
初出: 検証#18 乱数の品質

0〜32767の範囲で疑似乱数を生成する関数。

注意: 品質(分布の均一性)に限界があるため、高品質な乱数が必要な場合は別のアルゴリズムを検討。

MQL
int random = MathRand();  // 0-32767

XorShift

カテゴリ: 乱数アルゴリズム
初出: 検証#18 乱数の品質

高速かつ高品質な疑似乱数生成アルゴリズム。MathRandより良好な分布を持つ。

MQL
ulong XorShift128()
{
    static ulong x = 123456789, y = 362436069, z = 521288629, w = 88675123;
    ulong t = x ^ (x << 11);
    x = y; y = z; z = w;
    return w = (w ^ (w >> 19)) ^ (t ^ (t >> 8));
}

_Digits

カテゴリ: 定義済み変数

現在のチャートの通貨ペアにおける価格の小数点以下桁数。

MQL
// USDJPY の場合: 3 (145.500)
// EURUSD の場合: 5 (1.08765)
Print("Digits = ", _Digits);

_Point

カテゴリ: 定義済み変数

現在のチャートの通貨ペアにおける最小価格変動幅。

MQL
// USDJPY: 0.001
// EURUSD: 0.00001
Print("Point = ", _Point);

MathMod

カテゴリ: MQL5関数
初出: 検証#08 MathModの罠

剰余(余り)を返す関数。浮動小数点誤差により予期しない結果になることがある。

MQL
double result = MathMod(0.3, 0.1);  // 0ではなく0.0999...になる可能性

iCustom

カテゴリ: MQL5関数
初出: 検証#09 iCustomの罠

カスタムインジケータのハンドルを取得する関数。引数を省略すると未定義動作を引き起こす。

重要: すべてのパラメータを明示的に指定すること。


CopyBuffer

カテゴリ: MQL5関数
初出: 検証#09 iCustomの罠

インジケータのバッファから値を取得する関数。MQL5ではiCustomと組み合わせて使用。

MQL
double buffer[];
CopyBuffer(handle, 0, 0, 10, buffer);

MQLInfoInteger

カテゴリ: MQL5関数
初出: 検証#11 無限リトライ

プログラムの状態を取得する関数。MQL_TESTERでバックテスト中かどうかを判定できる。

MQL
if(MQLInfoInteger(MQL_TESTER))
    Print("バックテスト中です");

Sleep

カテゴリ: MQL5関数
初出: 検証#11 無限リトライ

指定ミリ秒だけプログラムを一時停止する関数。リトライ処理の待機に使用。

注意: バックテスト中は動作しない(即座に次の処理へ進む)。

MQL
Sleep(1000);  // 1秒待機

TimeCurrent

カテゴリ: MQL5関数
初出: 検証#12 時刻判定速度

サーバー時刻(最後のティック時刻)を取得する関数。

MQL
datetime now = TimeCurrent();

prev_calculated

カテゴリ: MQL5パラメータ
初出: 検証#14 インジケータ速度

OnCalculate関数のパラメータ。前回呼び出し時に計算済みのバー数を示す。 これを使って差分計算を行うことで、インジケータを高速化できる。


IndicatorCounted

カテゴリ: MQL4関数(廃止)
初出: 検証#14 インジケータ速度

MQL4で使われていた「計算済みバー数」を返す関数。MQL5ではprev_calculatedに置き換えられた。


iClose / iOpen / iHigh / iLow

カテゴリ: MQL5関数
初出: 検証#15 マルチ通貨負荷

他通貨ペアの価格を取得する関数群。マルチカレンシーEAで使用。

MQL
double price = iClose("EURUSD", PERIOD_H1, 0);

iBarShift

カテゴリ: MQL4関数→MQL5自作
初出: 検証#15 マルチ通貨負荷

指定時刻に対応するバーのインデックスを取得する関数。MQL5では標準搭載されていないため、自作が必要。


ArraySetAsSeries

カテゴリ: MQL5関数
初出: EA化#05 一目の幅EA

配列のインデックス順序を設定する関数。 true を設定すると、時系列配列(Close[] など)と同じように、0番目が最新(右端)、インデックスが増えるほど過去になる。

MQL
double buffer[];
ArraySetAsSeries(buffer, true);
// buffer[0] は最新の値

CopyRates

カテゴリ: MQL5関数
初出: EA化#05 一目の幅EA

バーの履歴データ(始値、高値、安値、終値、出来高、時間)をまとめて構造体配列(MqlRates)にコピーする関数。

MQL
MqlRates rates[];
ArraySetAsSeries(rates, true);
int copied = CopyRates(_Symbol, _Period, 0, 100, rates);

ExpertRemove

カテゴリ: MQL5関数
初出: 検証#03 EA停止

EAを自分自身でアンロードするための関数。現在の関数終了後にEAが削除される。

MQL
void OnTick()
{
    if(ShouldStop())
    {
        ExpertRemove();  // EA停止
        return;
    }
}

注意: 保有ポジションは自動クローズされない。


OnDeinit

カテゴリ: MQL5イベント関数
初出: 検証#03 EA停止

EA終了時に呼び出される関数。reason パラメータで終了理由を判別可能。

MQL
void OnDeinit(const int reason)
{
    if(reason == REASON_REMOVE)
        Print("チャートから削除されました");
}

OnInit

カテゴリ: MQL5イベント関数
初出: 検証#07 高速化

プログラムの初期化時に一度だけ実行される関数。ハンドルの取得や変数の初期化を行う。


GetTickCount

カテゴリ: MQL5関数
初出: 検証#07 高速化

システムが起動してからの経過ミリ秒数を取得する関数。処理時間の計測(ベンチマーク)に使用される。


マジックナンバー

カテゴリ: EA設計

各EAを識別するための一意の数値。複数のEAを同時に運用する際に、どのEAが発注したポジションかを区別するために使用。

MQL
input int MagicNumber = 12345678;
trade.SetExpertMagicNumber(MagicNumber);

CTrade

カテゴリ: MQL5クラス

MQL5標準ライブラリの取引クラス。注文発注を簡潔に記述できる。

MQL
#include <Trade\Trade.mqh>
CTrade trade;
trade.Buy(0.01, _Symbol, Ask, 0, 0, "Buy");

SymbolInfoDouble

カテゴリ: MQL5関数

シンボル(通貨ペア)の各種情報を取得する関数。

MQL
double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
double point = SymbolInfoDouble(_Symbol, SYMBOL_POINT);

相場分析・テクニカル指標

一目均衡表

カテゴリ: テクニカル指標
初出: 移植#01 一目三役好転

一目均衡表いちもくきんこうひょう(一目山人 考案)。5本のラインと「雲」で構成される日本生まれの指標。

構成要素:

名称 計算式
転換線 (過去9本の高値 + 安値) ÷ 2
基準線 (過去26本の高値 + 安値) ÷ 2
先行スパン1 (転換線 + 基準線) ÷ 2 を26本先にプロット
先行スパン2 (過去52本の高値 + 安値) ÷ 2 を26本先にプロット
遅行スパン 現在の終値を26本前にプロット

三役好転

カテゴリ: 売買シグナル
初出: 移植#01 一目三役好転

一目均衡表における最強の買いシグナル三役好転さんやくこうてん)。以下の3条件がすべて揃った状態。

# 条件 意味
1 転換線 > 基準線 均衡表の好転
2 遅行スパン > 26本前の終値 遅行スパンの好転
3 終値 > 雲の上限 雲抜け

三役逆転

カテゴリ: 売買シグナル
初出: 移植#01 一目三役好転

一目均衡表における最強の売りシグナル三役逆転さんやくぎゃくてん)。以下の3条件がすべて揃った状態。

# 条件 意味
1 転換線 < 基準線 均衡表の逆転
2 遅行スパン < 26本前の終値 遅行スパンの逆転
3 終値 < 雲の下限 雲割れ

カテゴリ: テクニカル指標
初出: 移植#01 一目三役好転

一目均衡表の先行スパン1と先行スパン2の間の領域(くも)。抵抗帯・支持帯として機能する。

特徴:

  • 雲の上:上昇トレンド
  • 雲の中:レンジ・もみ合い
  • 雲の下:下降トレンド
  • 雲が厚い:強い抵抗/支持
  • 雲が薄い:弱い抵抗/支持

時間論(Time Theory)

カテゴリ: 一目均衡表理論
初出: EA化#05 一目の幅EA

一目山人が重要視した考え方(時間論じかんろん)で、「価格よりも時間」が市場を支配するという理論。


基本数値(Basic Numbers)

カテゴリ: 一目均衡表理論
初出: EA化#05 一目の幅EA

市場のサイクルをつかむための基本的な日数(基本数値きほんすうち)。 9, 17, 26 を基本とし、その組み合わせである 33, 42, 51, 65, 76 などが重要視される。


対等数値(Equal Numbers)

カテゴリ: 一目均衡表理論
初出: EA化#05 一目の幅EA

過去の波動にかかった日数と同じ日数が、次の波動でも繰り返されるという現象(対等数値たいとうすうち)。


変化日(Change Day)

カテゴリ: 一目均衡表理論
初出: EA化#05 一目の幅EA

基本数値や対等数値が到来する日(変化日へんかび)。相場のトレンドが転換したり、加速したりする可能性が高い日とされる。


RSI(相対力指数)

カテゴリ: オシレーター系指標
初出: 検証#02 RSI計算方式

J.W.ワイルダーが1978年に考案した指標(相対力指数しすう)。価格の上昇・下落の相対的な強さを0〜100で表す。

計算式:

\[ RSI = 100 - \frac{100}{1 + RS} \]
\[ RS = \frac{\text{平均上昇幅}}{\text{平均下落幅}} \]

一般的な解釈:

  • 70以上:買われすぎ
  • 30以下:売られすぎ

SMA(単純移動平均)

カテゴリ: 移動平均
初出: 検証#02 RSI計算方式

Simple Moving Average(単純移動平均たんじゅんいどうへいきん)。指定期間の終値を単純に平均する。

計算式:

\[ SMA = \frac{\sum_{i=1}^{N} Price_i}{N} \]
MQL
// MQL5での呼び出し
int handle = iMA(_Symbol, PERIOD_CURRENT, 14, 0, MODE_SMA, PRICE_CLOSE);

SMMA(平滑移動平均)

カテゴリ: 移動平均
初出: 検証#02 RSI計算方式

Smoothed Moving Average(平滑移動平均へいかついどうへいきん)。Wilder's Smoothingとも呼ばれる。

計算式:

\[ SMMA_t = \frac{SMMA_{t-1} \times (N-1) + Price_t}{N} \]

特徴:

  • 過去のデータが徐々に影響(メモリ効果)
  • SMAより滑らか
  • MT4/MT5のRSI、ATR、ADXで使用
MQL
// MQL5での呼び出し
int handle = iMA(_Symbol, PERIOD_CURRENT, 14, 0, MODE_SMMA, PRICE_CLOSE);

ATR(Average True Range)

カテゴリ: テクニカル指標(ボラティリティ)
初出: MQL移植#05 BB-Fibo

J.W.ワイルダーが開発したボラティリティ(価格変動の大きさ)を測る指標。


スイングポイント(Swing Point)

カテゴリ: テクニカル指標
初出: MQL移植#02 SwingPoint View

チャート上の局所的な高値(山)と安値(谷)のこと。


ADX(Average Directional Index)

カテゴリ: トレンド系指標
初出: 検証#04 ADX/DMI

J.W.ワイルダーが考案した、トレンドの「強さ」を測る指標。0〜100の範囲。


DMI(Directional Movement Index)

カテゴリ: トレンド系指標
初出: 検証#04 ADX/DMI

方向性指数。+DI(上昇)と-DI(下落)の2ラインで構成。


MACD

カテゴリ: トレンド系オシレーター
初出: 検証#05 MACD計算方式

Moving Average Convergence Divergence。ジェラルド・アペルが開発。


EMA(指数移動平均)

カテゴリ: 移動平均
初出: 検証#05 MACD計算方式

Exponential Moving Average(指数しすう移動平均)。直近のデータに重みを置く移動平均。

計算式:

\[ EMA_t = Price_t \times k + EMA_{t-1} \times (1 - k) \]
\[ k = \frac{2}{N + 1} \]

ハースト指数 (Hurst Exponent)

カテゴリ: 分析手法
初出: 検証#01 ハースト指数

カオス理論に基づいて、相場の時系列データがトレンドかレンジかを数値化(指数しすう)する指標。


隠れマルコフモデル (HMM)

カテゴリ: 分析手法
初出: 検証#03 隠れマルコフモデル

価格の裏側に「目に見えない状態じょうたい」が存在すると仮定し、確率的に推定するモデル。


ローレンツ分類 (Lorentzian Classification)

カテゴリ: 分析手法
初出: 検証#02 Lorentzian Classification

機械学習を用いて、現在の相場と類似した過去のパターン(分類ぶんるい)を探し出す手法。


ローレンツ距離 (Lorentzian Distance)

カテゴリ: 数学・アルゴリズム
初出: 検証#02 Lorentzian Classification

データ間の類似性を測るための距離きょりの一種。外れ値に強い。


k-近傍法 (k-NN)

カテゴリ: 機械学習
初出: 検証#02 Lorentzian Classification

類似した過去データを取得し予測を行うアルゴリズム(近傍法きんぼうほう)。


Ku-Chart

カテゴリ: インジケータ / 分析手法
初出: 検証#16 Ku-Chart再現

FAI氏が開発・公開した「通貨強弱チャート」。


スパイク (Spike)

カテゴリ: プライスアクション
初出: EA化#02 TickスパイクEA

短時間での価格急騰・急落。


金融・トレード手法

要塞化メソッド

カテゴリ: トレード手法・資金管理
初出: 要塞化メソッド

利益の一部を現物資産に変換する資産防衛術。


三角裁定(Triangular Arbitrage)

カテゴリ: アービトラージ
初出: 移植#06 三角裁定

3つの通貨ペア間の価格整合性を利用した取引手法(裁定さいてい)。


合成通貨

カテゴリ: アービトラージ
初出: 移植#06 三角裁定

複数の通貨ペアを組み合わせて作られる理論上の通貨(合成通貨ごうせいつうか)。


マルチタイムフレーム(MTF)

カテゴリ: 分析手法
初出: EA化#04 三角裁定EA

複数の時間足を同時に監視する手法。


トレンド相場 / レンジ相場

カテゴリ: 相場環境
初出: コラム トレンドvsレンジ


酒田五法

カテゴリ: テクニカル分析
初出: コラム トレンドvsレンジ


平均回帰 (Mean Reversion)

カテゴリ: トレード手法
内容: 価格が平均値に戻る性質を利用した手法。逆張りの基本理念。


逆張り (Contrarian)

カテゴリ: トレード手法
内容: トレンドに逆らってエントリーする手法。


スキャルピング (Scalping)

カテゴリ: トレード手法
内容: 超短期売買手法。


検証・データ分析

バックテスト (Backtest)

カテゴリ: 検証・データ分析
初出: 検証#06 BT詐欺

過去データによるルールの検証。


フォワードテスト (Forward Test)

カテゴリ: 検証・データ分析
内容: リアルタイム相場での検証。


リペイント (Repaint)

カテゴリ: テクニカル指標の問題
初出: 検証#13 リペイントの罠

過去の表示が書き換わる現象。


ランダムウォーク

カテゴリ: 金融理論
初出: 検証#17 ランダムウォーク

価格変動が予測不可能であるという仮説。


カーブフィッティング

カテゴリ: バックテストの問題
初出: 検証#17 ランダムウォーク

過剰な最適化により将来機能しなくなる現象。


IEEE 754

カテゴリ: 規格・標準
初出: 検証#01 double型比較

浮動小数点数の表現規格。


Tick(ティック)

カテゴリ: 相場・データ
初出: 移植#04 TickチャートMA

市場で発生した最小単位の価格変動。


用語は随時追加されます。