環境状態

クライアント端末プロパティ

クライアント端末の情報は TerminalInfoInteger() 及び TerminalInfoString() の 2 つの関数で取得出来ます。パラメータにはそれぞれ ENUM_TERMINAL_INFO_INTEGER 及び ENUM_TERMINAL_INFO_STRING の値が使用されます。

ENUM_TERMINAL_INFO_INTEGER

識別子

説明

TERMINAL_BUILD

クライアント端末ビルド番号。

int

TERMINAL_COMMUNITY_ACCOUNT

フラグは、端末内のMQL5.community 認証データの存在を示します。

bool

TERMINAL_COMMUNITY_CONNECTION

MQL5.community への接続。

bool

TERMINAL_CONNECTED

取引サーバへの接続。

bool

TERMINAL_DLLS_ALLOWED

DLLを使用する許可。

bool

TERMINAL_TRADE_ALLOWED

約定許可。

bool

TERMINAL_EMAIL_ENABLED

端末の設定で指定された SMTP サーバへの電子メールの送信及びログインの許可。

bool

TERMINAL_FTP_ENABLED

端末の設定で指定された FTP サーバへのレポート送信及びログインの許可。

bool

TERMINAL_NOTIFICATIONS_ENABLED

スマートフォンに通知を送信するためのアクセス許可。

bool

TERMINAL_MAXBARS

チャートのバーの最大数。

int

TERMINAL_MQID

このフラグはプッシュ通知の MetaQuotes ID データが存在することを示します。

bool

TERMINAL_CODEPAGE

クライアント端末にインストールされた言語のコードページ。

int

TERMINAL_CPU_CORES

システム CPU コアの数。

int

TERMINAL_DISK_SPACE

端末(エージェント)のMQL5 Filesフォルダの空きディスク容量(MB 単位)。

int

TERMINAL_MEMORY_PHYSICAL

システムの物理メモリ(MB 単位)。

int

TERMINAL_MEMORY_TOTAL

端末のプロセス(エージェント)に使用可能なメモリ(MB 単位)。

int

TERMINAL_MEMORY_AVAILABLE

端末(エージェント)プロセスの空きメモリ(MB 単位)。

int

TERMINAL_MEMORY_USED

端末(エージェント)で使用されるメモリ(MB 単位)。

int

TERMINAL_X64

「64ビット端末」の表示。

bool

TERMINAL_OPENCL_SUPPORT

0x00010002 = 1.2 形式でのサポートされている OpenCL のバージョン。「 0 」は OpenCL をサポートがないことを意味します。

int

TERMINAL_SCREEN_DPI

画像の情報出力解像度は、DPIで測定されます。

このパラメータを知ることで、異なる解像度のモニターで同じように表示されるように、グラフィックオブジェクトのサイズを指定することができます。

int

TERMINAL_SCREEN_LEFT

仮想画面の左座標です。仮想画面はすべてのモニターをカバーする四角形です。システムに右から左に並べた2つのモニターがある場合、仮想スクリーンの左の座標は2つのモニターの境界になります。

int

TERMINAL_SCREEN_TOP

仮想画面の上部座標です。

int

TERMINAL_SCREEN_WIDTH

端末幅

int

TERMINAL_SCREEN_HEIGHT

端末の高さ

int

TERMINAL_LEFT

仮想画面に相対した端末の左座標です。

int

TERMINAL_TOP

仮想画面に相対した端末の上部座標です。

int

TERMINAL_RIGHT

仮想画面に相対した端末の右座標です。

int

TERMINAL_BOTTOM

仮想画面に相対した端末の下部座標です。

int

TERMINAL_PING_LAST

取引サーバまでの既知のping値は、マイクロ秒単位です。1秒は100万マイクロ秒です

int

TERMINAL_VPS

Indication that the terminal is launched on the MetaTrader Virtual Hosting server (MetaTrader VPS)

bool

キー識別子

説明

 

TERMINAL_KEYSTATE_LEFT

「左矢印」キーの状態

int

TERMINAL_KEYSTATE_UP

「上矢印」キーの状態

int

TERMINAL_KEYSTATE_RIGHT

「右矢印」キーの状態

int

TERMINAL_KEYSTATE_DOWN

「下矢印」キーの状態

int

TERMINAL_KEYSTATE_SHIFT

「Shift」キーの状態

int

TERMINAL_KEYSTATE_CONTROL

「Ctrl」キーの状態

int

TERMINAL_KEYSTATE_MENU

「Windows」キーの状態

int

TERMINAL_KEYSTATE_CAPSLOCK

「CapsLock」キーの状態

int

TERMINAL_KEYSTATE_NUMLOCK

「NumLock」キーの状態

int

TERMINAL_KEYSTATE_SCRLOCK

「ScrollLock」キーの状態

int

TERMINAL_KEYSTATE_ENTER

「Enter」キーの状態

int

TERMINAL_KEYSTATE_INSERT

「Insert」キーの状態

int

TERMINAL_KEYSTATE_DELETE

「Delete」キーの状態

int

TERMINAL_KEYSTATE_HOME

「Home」キーの状態

int

TERMINAL_KEYSTATE_END

「End」キーの状態

int

TERMINAL_KEYSTATE_TAB

「Tab」キーの状態

int

TERMINAL_KEYSTATE_PAGEUP

「PageUp」キーの状態

int

TERMINAL_KEYSTATE_PAGEDOWN

「PageDown」キーの状態

int

TERMINAL_KEYSTATE_ESCAPE

「Escape」キーの状態

int

TerminalInfoInteger(TERMINAL_KEYSTATE_XXX)の呼び出しは、GetKeyState()関数と同じキーの状態を示すコードを返します。

 

スケーリング係数を計算します:

//— 画面に1.5インチの幅のボタンを作成します
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // ユーザーのモニターのDPIを取得します
int base_width = 144;                                     // DPI=96の標準モニターの画面のドットの基本の幅
int width      = (button_width * screen_dpi) / 96;         // ユーザーモニター(DPIを含む)のボタンの幅を計算します

//— 百分率でのスケーリング係数の計算
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96;
//— スケーリング係数の計算
width=(base_width * scale_factor) / 100;

こういった場合、グラフィックリソースは、異なる解像度のモニター上で見た目が同じサイズになります。その際、制御要素のサイズ(ボタン、ダイアログボックスなど)は個々の設定に相応します。

 

ENUM_TERMINAL_INFO_DOUBLE

識別子

説明

TERMINAL_COMMUNITY_BALANCE

MQL5.community の残高。

double

TERMINAL_RETRANSMISSION

指定されたコンピュータ上のすべての実行中のアプリケーションおよびサービスのTCP/IPプロトコルにおけるネットワークパケットの再再送信率。パケットロスは、最速かつ正しく設定されたネットワークでも発生し、受信者と送信者との間のパケット配信の確認がないため、失われたパケットは再送信されます。

 

これは特定の端末と取引サーバ間の接続品質を示すものではありません。これは、システムおよびバックグラウンド・アクティビティを含むネットワーク・アクティビティ全体でパーセンテージが計算されるためです。

 

TERMINAL_RETRANSMISSION値は、オペレーティングシステムから1分に1回要求されます。ターミナル自体はこの値を計算しません。

double

 

ファイル操作は 2 つのディレクトリでのみ実行でき、パスは TERMINAL_DATA_PATH 及び TERMINAL_COMMONDATA_PATH プロパティをリクエストして見つけられます。

ENUM_TERMINAL_INFO_STRING

識別子

説明

TERMINAL_LANGUAGE

端末の言語。

string

TERMINAL_COMPANY

会社名。

string

TERMINAL_NAME

端末名。

string

TERMINAL_PATH

端末が起動されるフォルダ。

string

TERMINAL_DATA_PATH

端末データが格納されるフォルダ。

string

TERMINAL_COMMONDATA_PATH

コンピュータにインストールされている全ての端末の共通パス。

string

TERMINAL_PATH、TERMINAL_DATA_PATH 及び TERMINAL_COMMONDATA_PATH パラメータに格納されているパスをより良く理解するために、お使いのコンピュータにインストールされた、クライアント端末の現在のコピーに属する値を返すスクリプトを実行することをお勧めします。

この例のスクリプトはクライアント端末のパス情報を返します。

//+——————————————————————+
//|                                          Check_TerminalPaths.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                             https://www.MQL5.com |
//+——————————————————————+
#property copyright “2009, MetaQuotes Software Corp.”
#property link     “https://www.mql5.com”
#property version   “1.00”
//+——————————————————————+
//| スクリプトプログラムを開始する関数                                          |
//+——————————————————————+
void OnStart()
{
//—
Print(“TERMINAL_PATH = “,TerminalInfoString(TERMINAL_PATH));
Print(“TERMINAL_DATA_PATH = “,TerminalInfoString(TERMINAL_DATA_PATH));
Print(“TERMINAL_COMMONDATA_PATH = “,TerminalInfoString(TERMINAL_COMMONDATA_PATH));
}

スクリプトの実行の結果、エキスパート操作ログに次のようなメッセージが表示されます。

端末の作業フォルダのデータの取得

MQL5 プログラム実行プロパティ

実行中の MQL5 プログラムの情報取得には ENUM_MQL_INFO_INTEGER 及び ENUM_MQL_INFO_STRING からの定数が使用されます。

MQLInfoInteger 関数

ENUM_MQL_INFO_INTEGER

識別子

説明

Type

MQL_MEMORY_LIMIT

MQL5 プログラムの最大動的メモリ量( MB 単位)。

int

MQL_MEMORY_USED

MQL5 プログラムのメモリ使用量( MB 単位)。

int

MQL_PROGRAM_TYPE

MQL5 プログラムの種類。

ENUM_PROGRAM_TYPE

MQL_DLLS_ALLOWED

指定された実行プログラムで DLL を使用する許可。

bool

MQL_TRADE_ALLOWED

指定された実行プログラムでの取引許可。

bool

MQL_SIGNALS_ALLOWED

指定された実行プログラムでシグナルを変更する許可。

bool

MQL_DEBUG

デバグモードを示すフラグ。

bool

MQL_PROFILER

プログラムがコードプロファイリングモードで動作することを示すフラグ。

bool

MQL_TESTER

テスタプロセスを示すフラグ。

bool

MQL_FORWARD

Indication that the program is running in the forward testing process

bool

MQL_OPTIMIZATION

最適化プロセスを示すフラグ。

bool

MQL_VISUAL_MODE

ビジュアルテスタプロセスを示すフラグ。

bool

MQL_FRAME_MODE

エキスパートアドバイザーが最適化結果のフレーム収集モード で動作されるというフラグ。

bool

MQL_LICENSE_TYPE

EX5 モジュールのライセンスの種類。ライセンスは MQLInfoInteger(MQL_LICENSE_TYPEを使用してリクエストされた EX5 モジュールを指します。

ENUM_LICENSE_TYPE

MQLInfoString 関数

ENUM_MQL_INFO_STRING

識別子

説明

Type

MQL_PROGRAM_NAME

実行される MQL5 プログラムの名称。

string

MQL5_PROGRAM_PATH

指定されたプログラムのパス。

string

 

実行中のプログラムの情報には、ENUM_PROGRAM_TYPE の値が使用されます。

ENUM_PROGRAM_TYPE

識別子

説明

PROGRAM_SCRIPT

スクリプト。

PROGRAM_EXPERT

エキスパート。

PROGRAM_INDICATOR

指標。

 

ENUM_LICENSE_TYPE

識別子

説明

LICENSE_FREE

無制限の無料版。

LICENSE_DEMO

マーケットから購入した製品の試用版。ストラテジーテスターー内のみで使用出来ます。

LICENSE_FULL

購入したライセンス版では、少なくとも 5 アクティベーションが可能です。アクティベーションの数は、売主によって指定されます。売主は、アクティベーションの許容数を増加させることが出来ます。

LICENSE_TIME

期間限定ライセンス版。

例:

  ENUM_PROGRAM_TYPE mql_program=(ENUM_PROGRAM_TYPE)MQLInfoInteger(MQL_PROGRAM_TYPE);
switch(mql_program)
{
case PROGRAM_SCRIPT:
{
Print(__FILE__+” is script”);
break;
}
case PROGRAM_EXPERT:
{
Print(__FILE__+” is Expert Advisor”);
break;
}
case PROGRAM_INDICATOR:
{
Print(__FILE__+” is custom indicator”);
break;
}
default:Print(“MQL5 program type value is “,mql_program);
}

シンボルプロパティ

現在の銘柄に関する情報の取得には SymbolInfoInteger()、SymbolInfoDouble() 及び SymbolInfoString() の複数の関数を使用できます。1 番目のパラメータは銘柄名で、2 番目のパラメータの値には ENUM_SYMBOL_INFO_INTEGER、ENUM_SYMBOL_INFO_DOUBLE 及び ENUM_SYMBOL_INFO_STRING の識別子が使用出来ます。

SymbolInfoInteger() 関数には

ENUM_SYMBOL_INFO_INTEGER

識別子

説明

種類

SYMBOL_CUSTOM

カスタムシンボルです。シンボルは板情報および/または外部データソースからの他のシンボルに基づいて総合的に作成されています。

bool

SYMBOL_BACKGROUND_COLOR

「気配値表示」のシンボルに使用されている背景色。

color

SYMBOL_CHART_MODE

シンボルバーを生成するために使用される価格の種類(BidまたはLast)。

ENUM_SYMBOL_CHART_MODE

SYMBOL_EXIST

Symbol with this name exists

bool

SYMBOL_SELECT

「気配値表示」でシンボルが選択されています。

bool

SYMBOL_VISIBLE

シンボルは気配値表示で表示されます。

 

一部のシンボル(主に、証拠金の計算や預金通貨の利益の計算に必要なクロスレート)は自動的に選択されますが、一般的に気配値表示には表示されません。そのようなシンボルを表示するには、それらを明示的に選択する必要があります。

bool

SYMBOL_SESSION_DEALS

現在のセッションの約定数。

long

SYMBOL_SESSION_BUY_ORDERS

現時点での買い注文の数。

long

SYMBOL_SESSION_SELL_ORDERS

現時点での売り注文の数。

long

SYMBOL_VOLUME

最終約定ボリューム。

long

SYMBOL_VOLUMEHIGH

一日の最大ボリューム。

long

SYMBOL_VOLUMELOW

一日の最小ボリューム。

long

SYMBOL_TIME

最終の相場の時刻。

datetime

SYMBOL_DIGITS

小数点以下の桁数。

int

SYMBOL_SPREAD_FLOAT

変動スプレッドの表示。

bool

SYMBOL_SPREAD

ポイント単位でのスプレッド値。

int

SYMBOL_TICKS_BOOKDEPTH

板情報で表示されるリクエストの最高数。要求のないキューを持っていないシンボルの場合、値はゼロに等しいです。

int

SYMBOL_TRADE_CALC_MODE

契約価格計算モード。

ENUM_SYMBOL_CALC_MODE

SYMBOL_TRADE_MODE

注文実行の種類。

ENUM_SYMBOL_TRADE_MODE

SYMBOL_START_TIME

シンボル取引開始の日(通常は先物取引に使用)

datetime

SYMBOL_EXPIRATION_TIME

シンボル取引終了の日(通常は先物取引に使用)。

datetime

SYMBOL_TRADE_STOPS_LEVEL

現在の終値から逆指値注文を配置する場合の最少のインデント(ポイント単位)。

int

SYMBOL_TRADE_FREEZE_LEVEL

取引業務を凍結までの距離(ポイント単位)。

int

SYMBOL_TRADE_EXEMODE

約定実行モード。

ENUM_SYMBOL_TRADE_EXECUTION

SYMBOL_SWAP_MODE

スワップ計算モデル。

ENUM_SYMBOL_SWAP_MODE

SYMBOL_SWAP_ROLLOVER3DAYS

トリプルスワップが加算される曜日。

ENUM_DAY_OF_WEEK

SYMBOL_MARGIN_HEDGED_USE_LEG

より大きな脚を使用したヘッジ証拠金の計算(売りまたは買い)。

bool

SYMBOL_EXPIRATION_MODE

注文期限切れモードの可能なフラグ。

int

SYMBOL_FILLING_MODE

注文充填モードの可能なフラグ。

int

SYMBOL_ORDER_MODE

注文の種類に使用可能なフラグ。

int

SYMBOL_ORDER_GTC_MODE

SYMBOL_EXPIRATION_MODE=SYMBOL_EXPIRATION_GTC(キャンセルされるまで有効)の場合の、決済逆指値及び決済指値の期限</ t2>。

ENUM_SYMBOL_ORDER_GTC_MODE

SYMBOL_OPTION_MODE

オプションの種類。

ENUM_SYMBOL_OPTION_MODE

SYMBOL_OPTION_RIGHT

オプション特権 (買い/売り)。

ENUM_SYMBOL_OPTION_RIGHT

SymbolInfoDouble() 関数では

ENUM_SYMBOL_INFO_DOUBLE

識別子

説明

種類

SYMBOL_BID

売値 – ベストセルオファー。

double

SYMBOL_BIDHIGH

一日の最高売値。

double

SYMBOL_BIDLOW

一日の最低売値。

double

SYMBOL_ASK

買値 – ベストバイオファー。

double

SYMBOL_ASKHIGH

一日の最高買値。

double

SYMBOL_ASKLOW

一日の最低買値。

double

SYMBOL_LAST

直近約定値。

double

SYMBOL_LASTHIGH

一日の最高直近価格。

double

SYMBOL_LASTLOW

一日の最低直近価格。

double

SYMBOL_VOLUME_REAL

最終約定ボリューム。

double

SYMBOL_VOLUMEHIGH_REAL

一日の最大ボリューム。

double

SYMBOL_VOLUMELOW_REAL

一日の最小ボリューム。

double

SYMBOL_OPTION_STRIKE

オプションの行使価格。オプションの買い手が原資産を(コールオプションで)購入したり、(プットオプションで)販売することが出来、オプションの売り手が原資産の適切な量を売買する義務がある価格。

double

SYMBOL_POINT

シンボルのポイント値。

double

SYMBOL_TRADE_TICK_VALUE

SYMBOL_TRADE_TICK_VALUE_PROFIT の値。

double

SYMBOL_TRADE_TICK_VALUE_PROFIT

収益性の高いポジションの計算されたティック価格。

double

SYMBOL_TRADE_TICK_VALUE_LOSS

負けポジションの計算されたティック価格。

double

SYMBOL_TRADE_TICK_SIZE

最少の価格変化。

double

SYMBOL_TRADE_CONTRACT_SIZE

取引契約サイズ。

double

SYMBOL_TRADE_ACCRUED_INTEREST

未収利息。- 累積されたクーポンの利子、すなわち、クーポン債の発行または最後のクーポンの支払からの日数に比例して計算されたクーポンの利子の一部。

double

SYMBOL_TRADE_FACE_VALUE

Face value – 発行者が設定した初期債券価値。

double

SYMBOL_TRADE_LIQUIDITY_RATE

流動性率とは、証拠金に使用できる資産のシェアで。

double

SYMBOL_VOLUME_MIN

約定の最小ボリューム。

double

SYMBOL_VOLUME_MAX

約定の最大ボリューム。

double

SYMBOL_VOLUME_STEP

約定実行のための最小限のボリューム変化のステップ。

double

SYMBOL_VOLUME_LIMIT

シンボルの片方向(売または買)のオープンポジションと未決注文の最大許容総額。例えば、制限が 5 ロットの場合、5 ロットのボリュームでオープン買いポジションを持つことができ、5 ロットのボリュームで、売り指値注文をすることが出来ます。しかし、この場合には、1 方向の総ボリュームが制限を超えてしまうため、買い指値注文をすることや 5 ロット以上の売り指値注文をすることは出来ません。

double

SYMBOL_SWAP_LONG

長期スワップ値。

double

SYMBOL_SWAP_SHORT

短期スワップ値。

double

SYMBOL_MARGIN_INITIAL

当初証拠金とは、1 ロットのボリュームで注文を出すのに必要な証拠金の証拠金通貨での量です。これは、クライアントが市場に入った時に、資産をチェックするために使用されます。

double

SYMBOL_MARGIN_MAINTENANCE

維持証拠金。設定されている場合、1 ロットから課金される、シンボルの証拠金通貨での証拠金量を設定します。これは、クライアントの口座状態が変わった時に、資産をチェックするために使用されます。維持証拠金が 0 に等しい場合、当初証拠金が使用されます。

double

SYMBOL_SESSION_VOLUME

現在のセッション約定ボリュームの概要。

double

SYMBOL_SESSION_TURNOVER

現在のセッションの概要売上高。

double

SYMBOL_SESSION_INTEREST

建玉概要。

double

SYMBOL_SESSION_BUY_ORDERS_VOLUME

現在の買い注文のボリューム。

double

SYMBOL_SESSION_SELL_ORDERS_VOLUME

現在の売り注文のボリューム。

double

SYMBOL_SESSION_OPEN

現在のセッションの始値。

double

SYMBOL_SESSION_CLOSE

現在のセッションの終値。

double

SYMBOL_SESSION_AW

現在のセッションの加重平均価格。

double

SYMBOL_SESSION_PRICE_SETTLEMENT

現在のセッションの決済価格。

double

SYMBOL_SESSION_PRICE_LIMIT_MIN

現在のセッションの最安値。

double

SYMBOL_SESSION_PRICE_LIMIT_MAX

現在のセッションの最高値。

double

SYMBOL_MARGIN_HEDGED

ヘッジポジション(1つのシンボルでの両建て)の1ロットの約定または証拠金の額。ヘッジポジションの証拠金計算の方法は2つあります。計算方法はブローカーによって決められます。

 

基本的な計算:

  • 商品に対し初期証拠金(SYMBOL_MARGIN_INITIAL)が設定されている場合、ヘッジされた証拠金は絶対値(金額の)として表示されます。
  • 初期証拠金が設定されていない(0と同等)場合、SYMBOL_MARGIN_HEDGEDには、取引商品の種別に応じた式 (SYMBOL_TRADE_CALC_MODE)による証拠金計算に使用される約定額が表示されます。

 

最大ポジションによる計算:

  • SYMBOL_MARGIN_HEDGEDの値は考慮されません。
  • 商品によって全てのロング/ショートポジションのボリュームが算出されます。
  • 各側に発注の平均加重価格や、証拠金通貨への交換の平均加重価格が計算されます。
  • 商品種別による式(SYMBOL_TRADE_CALC_MODE)で、ロング/ショートポジションの証拠金が計算されます。
  • 最も大きい数値が、最終値として使用されます。

double

SymbolInfoString() 関数では

ENUM_SYMBOL_INFO_STRING

識別子

説明

種類

SYMBOL_BASIS

デリバティブの原資産。

string

SYMBOL_CURRENCY_BASE

シンボルの基本通貨。

string

SYMBOL_CURRENCY_PROFIT

利益通貨。

string

SYMBOL_CURRENCY_MARGIN

証拠金通貨。

string

SYMBOL_BANK

現在の相場のフィーダー。

string

SYMBOL_DESCRIPTION

シンボル説明。

string

SYMBOL_FORMULA

カスタムシンボルプライシングに使用される公式。

string

SYMBOL_ISIN

ISIN システム( International Securities Identification Number )での銘柄名。International Securities Identification Number はセキュリティを識別する一意の 12 桁の英数字コードです。このシンボルプロパティの存在は取引サーバ側で決定されます。

string

SYMBOL_PAGE

シンボル情報を含むWebページのアドレスで、端末でシンボルプロパティを表示するときにリンクとして表示されます。

string

SYMBOL_PATH

シンボルツリーパス。

string

 

シンボル価格表は、Bid価格またはLast価格に基づくことができます。シンボルチャートのために選択された価格は、端末のバーの生成および表示にも影響します。SYMBOL_CHART_MODEプロパティの値は、ENUM_SYMBOL_CHART_MODEに記述されています。

ENUM_SYMBOL_CHART_MODE

識別子

説明

SYMBOL_CHART_MODE_BID

バーがBid価格に基づいています。

SYMBOL_CHART_MODE_LAST

バーがLast価格に基づいています。

 

各シンボルで、未決注文の期限のモードを指定することが出来ます。フラグが各モードに一致します。フラグは SYMBOL_EXPIRATION_GTC|SYMBOL_EXPIRATION_SPECIFIED のように、論理 OR( | )を持って結合することが出来ます。モードがシンボルで許可されているかどうかの確認には、論理 AND ( & )を使用してのフラグとの比較が使用されます。.

シンボルに SYMBOL_EXPIRATION_SPECIFIED フラグが指定されている場合、送信時に未決注文の期限を指定することが出来ます。

識別子

説明

SYMBOL_EXPIRATION_GTC

1

注文は明示的にキャンセルされるまで、無制限の期間中有効です。

SYMBOL_EXPIRATION_DAY

2

注文は日の終わりまで有効です。

SYMBOL_EXPIRATION_SPECIFIED

4

有効期限の時刻が注文に指定されています。

SYMBOL_EXPIRATION_SPECIFIED_DAY

8

有効期限の日付が注文に指定されています。

例:

//+——————————————————————+
//| 指定された有効期限のモードが許可されているかをチェックする                        |
//+——————————————————————+
bool IsExpirationTypeAllowed(string symbol,int exp_type)
{
//— 許可された有効期限のモードについて説明したプロパティの値を取得する
int expiration=(int)SymbolInfoInteger(symbol,SYMBOL_EXPIRATION_MODE);
//— exp_type モードが許可されている場合はtrue を返す
return((expiration&exp_type)==exp_type);
}

 

SYMBOL_EXPIRATION_MODEプロパティがSYMBOL_EXPIRATION_GTC(キャンセルするまで)に設定されている場合、未決注文の有効期限と決済逆指注文及び決済指値注文は、ENUM_SYMBOL_ORDER_GTC_MODE列挙を使用して追加設定する必要があります。

ENUM_SYMBOL_ORDER_GTC_MODE

識別子

説明

SYMBOL_ORDERS_GTC

未決注文と決済逆指値及び決済指値は、明示的なキャンセルが行われるまで無期限に有効です。

SYMBOL_ORDERS_DAILY

注文は1営業日のみ有効です。一日の終わりに、未決注文や決済逆指値及び決済指値はすべて削除されます。

SYMBOL_ORDERS_DAILY_EXCLUDING_STOPS

取引日が変更すると、未決注文だけが削除され、決済逆指値及び決済指値は保持されます。

 

注文送信時に、注文内にボリュームの充填ポリシーを指定することが出来ます。各シンボルで可能な受注充填モードは表に指定されています。フラグを組み合わせて 1 つのシンボルのための複数のモードを設定することが出来ます。フラグは SYMBOL_FILLING_FOK|SYMBOL_FILLING_IOC のように、論理 OR ( | )を持って結合することが出来ます。モードがシンボルで許可されているかどうかの確認には、論理 AND ( & )を使用してのフラグとの比較が使用されます。

充填ポリシー。

識別子

説明

フィル・オア・キル。

SYMBOL_FILLING_FOK

1

このポリシーは、約定は、必ず指定のボリュームで実行することが出来ることを意味します。金融商品の必要量は、市場で現在利用出来ない場合、注文は実行されません。必要なボリュームは、市場で現在利用可能ないくつかのオファーを使用して満たすことが出来ます。

即時またはキャンセル。

SYMBOL_FILLING_IOC

2

この場合、トレーダーが注文の選択肢のうちで、市場で最大限に利用可能なボリュームの約定実行に同意します。注文の全てを満たすことが出来ない場合、利用可能なボリュームのみが満たされ、残りのボリュームはキャンセルされます。IOC注文を使用する可能性は取引サーバで決定されます。

リターン

識別子はありません。

 

このポリシーは、成行注文(売買)、リミットとストップ指値注文のみ、また「マーケット」または「エクスチェンジ」 実行を持つシンボルのみに使用されます。部分的充填の場合、残りのボリュームを持つ市場やリミット注文はキャンセルされず更に処理されます。

Request 及び Instant 実行モードでは成行注文では常に「フィル・オア・キル」が常に使用され、リミット注文では常に「リターン」ポリシーが使用されます。この場合、OrderSend または OrderSendAsync を使用して注文を送信する時、充填ポリシーを指定する必要はありません。

「マーケット」と「エクスチェンジ」実行モードでは、「リターン」ポリシーは常に全種類の注文に許可されています。他のポリシーが許可されているかどうかを調べるには、SYMBOL_FILLING_FOK とSYMBOL_FILLING_IOC プロパティを使用します。

例:

//+——————————————————————+
//| 指定された充填モードが使用可能かどうかをチェックする                            |
//+——————————————————————+
bool IsFillingTypeAllowed(string symbol,int fill_type)
{
//— 許可された充填モードについて説明したプロパティの値を取得する
int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
//— fill_type モードが許可されている場合はtrue を返す
return((filling & fill_type)==fill_type);
}

 

OrderSend() 関数を使用して取引リクエストを送る場合、操作によっては注文の種類を ENUM_ORDER_TYPE 列挙から指定することが必要です。シンボルには全ての注文の種類が許可されていない場合があります。SYMBOL_ORDER_MODE プロパティは許可されている注文種類のフラグを記述します。

識別子

説明

SYMBOL_ORDER_MARKET

1

成行注文は売買とも使用可能です。

SYMBOL_ORDER_LIMIT

2

指値注文(買い指値と売り指値)は使用可能です。

SYMBOL_ORDER_STOP

4

逆指注文(売買)は使用可能です。

SYMBOL_ORDER_STOP_LIMIT

8

指値つきストップ注文は売買とも使用可能です。

SYMBOL_ORDER_SL

16

逆指注文は可能です。

SYMBOL_ORDER_TP

32

決済指は使用可能です。

SYMBOL_ORDER_CLOSEBY

64

Close By操作の許可、つまり、同じ製品の反対方向のポジションによる決済です。このプロパティは、ヘッジ会計システム( ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)を持つ口座で設定されます。

例:

//+——————————————————————+
//| この関数は、シンボルに許可されている注文の種類を出力する                        |
//+——————————————————————+
void Check_SYMBOL_ORDER_MODE(string symbol)
{
//— 許可された注文の種類について説明したプロパティの値を取得する
int symbol_order_mode=(int)SymbolInfoInteger(symbol,SYMBOL_ORDER_MODE);
//— 成行注文をチェックする(マーケット実行)
if((SYMBOL_ORDER_MARKET&symbol_order_mode)==SYMBOL_ORDER_MARKET)
Print(symbol+“: Market orders are allowed (Buy and Sell)”);
//— リミット注文をチェックする
if((SYMBOL_ORDER_LIMIT&symbol_order_mode)==SYMBOL_ORDER_LIMIT)
Print(symbol+“: Buy Limit and Sell Limit orders are allowed”);
//— ストップ注文をチェックする
if((SYMBOL_ORDER_STOP&symbol_order_mode)==SYMBOL_ORDER_STOP)
Print(symbol+“: Buy Stop and Sell Stop orders are allowed”);
//— ストップリミット注文をチェックする
if((SYMBOL_ORDER_STOP_LIMIT&symbol_order_mode)==SYMBOL_ORDER_STOP_LIMIT)
Print(symbol+“: Buy Stop Limit and Sell Stop Limit orders are allowed”);
//— 逆指注文が許可されているかをチェックする
if((SYMBOL_ORDER_SL&symbol_order_mode)==SYMBOL_ORDER_SL)
Print(symbol+“: Stop Loss orders are allowed”);
//— 指値注文が許可されているかをチェックする
if((SYMBOL_ORDER_TP&symbol_order_mode)==SYMBOL_ORDER_TP)
Print(symbol+“: Take Profit orders are allowed”);
//—
}

 

ENUM_SYMBOL_CALC_MODE 列挙は、シンボルの証拠金要件を計算する方法についての情報を得るために使用されます。

ENUM_SYMBOL_CALC_MODE

識別子

説明

方式

SYMBOL_CALC_MODE_FOREX

外為モード – 外国為替の利益と証拠金の計算。

Margin:  Lots * Contract_Size / Leverage * Margin_Rate

 

利益:(close_price – open_price) * Contract_Size*Lots

SYMBOL_CALC_MODE_FOREX_NO_LEVERAGE

レバレッジなし外為モード – レバレッジを考慮しない外国為替銘柄の利益と証拠金の計算

証拠金:Lots * Contract_Size * Margin_Rate

 

利益: (close_price – open_price) * Contract_Size * Lots

SYMBOL_CALC_MODE_FUTURES

先物モード – 先物の証拠金と利益の計算。

証拠金:Lots * InitialMargin * Margin_Rate

 

利益:  (close_price – open_price) * TickPrice / TickSize*Lots

SYMBOL_CALC_MODE_CFD

CFD モード – CFD の証拠金と利益計算。

証拠金:Lots * ContractSize * MarketPrice * Margin_Rate

 

利益:  (close_price – open_price) * Contract_Size * Lots

SYMBOL_CALC_MODE_CFDINDEX

CFD インデックスモード – インデックスを使用した CFD の証拠金と利益計算

証拠金: (Lots * ContractSize * MarketPrice) * TickPrice / TickSize * Margin_Rate

 

利益:  (close_price – open_price) * Contract_Size * Lots

SYMBOL_CALC_MODE_CFDLEVERAGE

CFD レバレッジモード – レバレッジ取引での CFD の証拠金と利益計算

証拠金: (Lots * ContractSize * MarketPrice) / Leverage * Margin_Rate

 

利益: (close_price-open_price) * Contract_Size * Lots

SYMBOL_CALC_MODE_EXCH_STOCKS

交換モード – 証券取引所で有価証券を取引するための証拠金と利益計算。

証拠金:Lots * ContractSize * OpenPrice * Margin_Rate

 

利益:  (close_price – open_price) * Contract_Size * Lots

SYMBOL_CALC_MODE_EXCH_FUTURES

先物モード –  証券取引所での取引先物契約の証拠金と利益計算。

証拠金: Lots * InitialMargin * Margin_Rate или Lots * MaintenanceMargin * Margin_Rate

 

利益: (close_price – open_price) * Lots * TickPrice / TickSize

SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS

FORTS 先物モード –  FORTS での取引先物契約の証拠金と利益計算。証拠金は、次の規則に従って MarginDiscount のずれ量によって減少させることが出来ます。

1. ロングポジション(買い注文)の価格が見積価格よりも低い場合、証拠金割引 = ロット数 * ((Settle価格 – Order価格) * ティック価格 / ティックサイズ)

2. ショートポジション(売り注文)の価格が予定価格を超えた場合、証拠金割引 = ロット数 * ((Order価格 – Settle価格) * ティック価格 / ティックサイズ)

ここで

    • Settle 価格 – 前のセッションの推定(クリア)価格
    • Order 価格 – 加重平均位置の価格や注文(リクエスト)に設定された始値。
    • ティック価格 – ティック値(一ポイントの価格変動によるコスト)
    • ティックサイズ – ティックサイズ(最低価格変更ステップ)

証拠金: Lots * InitialMargin * Margin_Rate или Lots * MaintenanceMargin * Margin_Rate * Margin_Rate

 

利益: (close_price – open_price) * Lots * TickPrice / TickSize

SYMBOL_CALC_MODE_EXCH_BONDS

Exchange Bonds mode – calculation of margin and profit for trading bonds on a stock exchange

Margin: Lots * ContractSize * FaceValue * open_price * /100

 

Profit:  Lots * close_price * FaceValue * Contract_Size  + AccruedInterest * Lots * ContractSize

SYMBOL_CALC_MODE_EXCH_STOCKS_MOEX

Exchange MOEX Stocks mode – calculation of margin and profit for trading securities on MOEX

Margin: Lots * ContractSize * LastPrice * Margin_Rate

 

Profit:  (close_price – open_price) * Contract_Size * Lots

SYMBOL_CALC_MODE_EXCH_BONDS_MOEX

Exchange MOEX Bonds mode – calculation of margin and profit for trading bonds on MOEX

Margin: Lots * ContractSize * FaceValue * open_price * /100

 

Profit:  Lots * close_price * FaceValue * Contract_Size  + AccruedInterest * Lots * ContractSize

SYMBOL_CALC_MODE_SERV_COLLATERAL

担保モード – シンボルは、取引口座の取引不可能の資産として使用されています。ポジションの市場価値は、ボリューム、現在の市場価格、契約の大きさと流動性比率に基づいて算出されます。値は、株式に追加された資産の中に含まれます。この様なシンボルのポジションは余剰証拠金を増加し、ポジションの追加証拠金(担保)として使用されます。

証拠金:なし

利益:なし

 

市場価格ロット数 * 契約サイズ * マーケット価格 * LiqudityRate

 

シンボル取引モードはいくつかあります。特定のシンボルの取引モードの詳細は、ENUM_SYMBOL_TRADE_MODE 列挙の値に反映されます。

ENUM_SYMBOL_TRADE_MODE

識別子

説明

SYMBOL_TRADE_MODE_DISABLED

シンボルの取引が無効。

SYMBOL_TRADE_MODE_LONGONLY

ロング(買い)ポジションのみ許可。

SYMBOL_TRADE_MODE_SHORTONLY

ショート(売り)ポジションのみ許可。

SYMBOL_TRADE_MODE_CLOSEONLY

ポジション決済操作のみを許可。

SYMBOL_TRADE_MODE_FULL

取引制限なし。

 

可能なシンボルの約定実行モードは ENUM_SYMBOL_TRADE_EXECUTION で定義されています。

ENUM_SYMBOL_TRADE_EXECUTION

識別子

説明

SYMBOL_TRADE_EXECUTION_REQUEST

リクエストによる実行。

SYMBOL_TRADE_EXECUTION_INSTANT

即時実行。

SYMBOL_TRADE_EXECUTION_MARKET

マーケット実行。

SYMBOL_TRADE_EXECUTION_EXCHANGE

エクスチェンジ実行。

 

ポジション転送時のスワップ計算の方法は ENUM_SYMBOL_SWAP_MODE 列挙で指定されています。スワップ計算の方法は SYMBOL_SWAP_LONG 及び SYMBOL_SWAP_SHORT パラメータの測定単位を決定します。例えば、スワップがクライアントの預金通貨で請求された場合、それらのパラメータの値は、クライアントの預金通貨での金額として指定されます。

ENUM_SYMBOL_SWAP_MODE

識別子

説明

SYMBOL_SWAP_MODE_DISABLED

スワップ無効。

SYMBOL_SWAP_MODE_POINTS

スワップはポイントとして請求されます。

SYMBOL_SWAP_MODE_CURRENCY_SYMBOL

スワップはシンボルの基本通貨で払われます。

SYMBOL_SWAP_MODE_CURRENCY_MARGIN

スワップはシンボルの証拠金通貨で払われます。

SYMBOL_SWAP_MODE_CURRENCY_DEPOSIT

スワップは、クライアントの預金通貨で請求されます。

SYMBOL_SWAP_MODE_INTEREST_CURRENT

スワップはスワップの計算の商品価格の指定年利として請求されます(標準銀行年は360日です)。

SYMBOL_SWAP_MODE_INTEREST_OPEN

スワップはポジションの始値から指定年利として請求されます(標準銀行年は360日です)。

SYMBOL_SWAP_MODE_REOPEN_CURRENT

スワップはポジションを再オープンすることによって請求されます。ポジションは取引日の終わりに閉じます。次の日に、終値 +/- 指定されたポイントの数 (パラメータ SYMBOL_SWAP_LONG 及び SYMBOL_SWAP_SHORT)で開けられます。

SYMBOL_SWAP_MODE_REOPEN_BID

スワップはポジションを再オープンすることによって請求されます。ポジションは取引日の終わりに閉じます。次の日に、現在の売値+/- 指定されたポイントの数(SYMBOL_SWAP_LONG 及び SYMBOL_SWAP_SHORT パラメータ)で開けられます。

 

ENUM_DAY_OF_WEEK 列挙の値は曜日の指定に使用されます。

ENUM_DAY_OF_WEEK

識別子

説明

SUNDAY

日曜。

MONDAY

月曜。

TUESDAY

火曜。

WEDNESDAY

水曜。

THURSDAY

木曜。

FRIDAY

金曜。

SATURDAY

土曜。

 

オプションとは、特定の日またはそれ以前に特定の価格で原資産(商品、株式、先物、など)を購入したり、販売する権利(義務ではない)を与える契約です。以下の列挙はオプションの種類とそれから生じる権利を含むオプションのプロパティを記述します。

ENUM_SYMBOL_OPTION_RIGHT

識別子

説明

SYMBOL_OPTION_RIGHT_CALL

コール•オプションを使用すると、指定された価格で資産を買うことが出来ます。

SYMBOL_OPTION_RIGHT_PUT

プット•オプションを使用すると、指定された価格で資産を売ることが出来ます。

 

ENUM_SYMBOL_OPTION_MODE

識別子

説明

SYMBOL_OPTION_MODE_EUROPEAN

ヨーロッパのオプションは、指定された日付(有効期限、実行日、配達日)にのみ行使出来ます。

SYMBOL_OPTION_MODE_AMERICAN

アメリカのオプションは満了前の任意の取引日に行使することが出来ます。買い手がオプションを行使することが出来る期間は指定されています。

口座プロパティ

現在の口座に関する情報を取得するには AccountInfoInteger()、AccountInfoDouble() 及び AccountInfoString() の複数の関数があります。関数のパラメータは、対応するENUM_ACCOUNT_INFO の列挙からの値を受け入れることが出来ます。

AccountInfoInteger() 関数では

ENUM_ACCOUNT_INFO_INTEGER

識別子

説明

Type

ACCOUNT_LOGIN

口座番号。

long

ACCOUNT_TRADE_MODE

口座取引モード。

ENUM_ACCOUNT_TRADE_MODE

ACCOUNT_LEVERAGE

口座レバレッジ。

long

ACCOUNT_LIMIT_ORDERS

アクティブな未決注文の最大許容数。

int

ACCOUNT_MARGIN_SO_MODE

許容された最小証拠金を設定するモード。

ENUM_ACCOUNT_STOPOUT_MODE

ACCOUNT_TRADE_ALLOWED

現在の口座で許可された取引。

bool

ACCOUNT_TRADE_EXPERT

エキスパートアドバイザーで許可された取引。

bool

ACCOUNT_MARGIN_MODE

Margin calculation mode

ENUM_ACCOUNT_MARGIN_MODE

ACCOUNT_CURRENCY_DIGITS

取引結果を正確に表示するために必要な口座通貨の小数点以下の桁数

int

AccountInfoDouble() 関数では

ENUM_ACCOUNT_INFO_DOUBLE

識別子

説明

Type

ACCOUNT_BALANCE

預金通貨での勘定残高。

double

ACCOUNT_CREDIT

預金通貨での口座のクレジット。

double

ACCOUNT_PROFIT

預金通貨での現在の利益。

double

ACCOUNT_EQUITY

預金通貨の口座株式。

double

ACCOUNT_MARGIN

預金通貨での使用された口座の証拠金。

double

ACCOUNT_MARGIN_FREE

預金通貨での口座の余剰証拠金。

double

ACCOUNT_MARGIN_LEVEL

百分率で表した口座証拠金レベル。

double

ACCOUNT_MARGIN_SO_CALL

証拠金コールレベル。ACCOUNT_MARGIN_SO_MODE の設定によってパーセントまたは預金通貨で表されます。

double

ACCOUNT_MARGIN_SO_SO

証拠金ストップアウトレベル。ACCOUNT_MARGIN_SO_MODE の設定によってパーセントまたは預金通貨で表されます。

double

ACCOUNT_MARGIN_INITIAL

当初証拠金。全ての未決注文の証拠金をカバーするために口座内でリザーブされた額。

double

ACCOUNT_MARGIN_MAINTENANCE

維持証拠金。全ての未決済ポジションの最小額をカバーするために口座内でリザーブされた最低資本金。

double

ACCOUNT_ASSETS

口座の流動資産。

double

ACCOUNT_LIABILITIES

口座の流動負債。

double

ACCOUNT_COMMISSION_BLOCKED

口座の現在のブロックされた手数料の額。

double

AccountInfoString() 関数では

ENUM_ACCOUNT_INFO_STRING

識別子

説明

Type

ACCOUNT_NAME

クライアント名。

string

ACCOUNT_SERVER

取引サーバ名。

string

ACCOUNT_CURRENCY

口座通貨。

string

ACCOUNT_COMPANY

口座を提供する会社の名称。

string

取引サーバ上で開くことが出来る口座にはいくつかの種類があります。MQL5 が実行されている口座の種類は ENUM_ACCOUNT_TRADE_MODE 列挙を使用して見つけることが出来ます。

ENUM_ACCOUNT_TRADE_MODE

識別子

説明

ACCOUNT_TRADE_MODE_DEMO

デモ口座。

ACCOUNT_TRADE_MODE_CONTEST

コンテスト口座。

ACCOUNT_TRADE_MODE_REAL

リアル口座。

資本が保有中ポジションを維持するために不充分な場合には、ストップアウト、すなわち強制閉鎖が発生します。ストップアウトが起こる最小証拠金レベルは百分率または金銭で設定することが出来ます。口座がどちらのモードを使用するかは ENUM_ACCOUNT_STOPOUT_MODE 列挙で見つけられます。

ENUM_ACCOUNT_STOPOUT_MODE

識別子

説明

ACCOUNT_STOPOUT_MODE_PERCENT

口座ストップアウトの百分率モード。

ACCOUNT_STOPOUT_MODE_MONEY

口座ストップアウトの通貨モード。

ENUM_ACCOUNT_MARGIN_MODE

Identifier

Description

ACCOUNT_MARGIN_MODE_RETAIL_NETTING

『ネッティング』モード(1つのシンボルに対し、1つのポジションのみ)におけるポジション計算時に市場外市場の為に使用されます。商品種別をベースに証拠金の計算が行われます(SYMBOL_TRADE_CALC_MODE)。

ACCOUNT_MARGIN_MODE_EXCHANGE

株式市場で使用されます。商品設定で指定された割引に基づいて証拠金が計算されます。割引はブローカーによって設定されますが、取引所が決めた額よりも低くなることはありません

ACCOUNT_MARGIN_MODE_RETAIL_HEDGING

株式市場外の独立したポジション計算時(『ヘッジング』は一つのシンボルに対し複数のポジションを保有することができる)に使用されます。商品種別(SYMBOL_TRADE_CALC_MODE)に基づき、ヘッジ対象証拠金のサイズを考慮して(SYMBOL_MARGIN_HEDGED)証拠金の計算が行われます。

下記は簡単な口座情報を出力するスクリプトの例です。

//+——————————————————————+
//| スクリプトプログラムを開始する関数                                          |
//+——————————————————————+
void OnStart()
{
//— 会社名
string company=AccountInfoString(ACCOUNT_COMPANY);
//— クライアント名
string name=AccountInfoString(ACCOUNT_NAME);
//— 口座番号
long login=AccountInfoInteger(ACCOUNT_LOGIN);
//— サーバ名
string server=AccountInfoString(ACCOUNT_SERVER);
//— 口座通貨
string currency=AccountInfoString(ACCOUNT_CURRENCY);
//— デモ、コンテスト、またはリアル(実際の)口座
ENUM_ACCOUNT_TRADE_MODE account_type=(ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE);
//— 列挙値を理解出来る形式に変換する
string trade_mode;
switch(account_type)
{
case ACCOUNT_TRADE_MODE_DEMO:
trade_mode=“demo”;
break;
case ACCOUNT_TRADE_MODE_CONTEST:
trade_mode=“contest”;
break;
default:
trade_mode=“real”;
break;
}
//— ストップアウトは百分率または通貨で設定される
ENUM_ACCOUNT_STOPOUT_MODE stop_out_mode=(ENUM_ACCOUNT_STOPOUT_MODE)AccountInfoInteger(ACCOUNT_MARGIN_SO_MODE);
//— 証拠金コールとストップアウトが発生した時のレベルの値を取得する
double margin_call=AccountInfoDouble(ACCOUNT_MARGIN_SO_CALL);
double stop_out=AccountInfoDouble(ACCOUNT_MARGIN_SO_SO);
//— 簡単な口座情報を表示する
PrintFormat(“The account of the client ‘%s’ #%d %s opened in ‘%s’ on the server ‘%s'”,
name,login,trade_mode,company,server);
PrintFormat(“Account currency – %s, MarginCall and StopOut levels are set in %s”,
currency,(stop_out_mode==ACCOUNT_STOPOUT_MODE_PERCENT)?“percentage”:” money”);
PrintFormat(“MarginCall=%G, StopOut=%G”,margin_call,stop_out);
}

テスト統計

テスト終了後には、取引結果統計のいろいろなパラメータが計算されます。パラメータ値は ENUM_STATISTICS 列挙からパラメータ ID を指定して TesterStatistics() 関数で取得されます。

統計の計算には 2 種類のパラメータ( int とdouble )が使用されますが、関数は全ての値を double で返します。double 型の統計値は、特に指定しない限りデフォルトでは預金通貨で表現されています。

ENUM_STATISTICS

ID

統計パラメータの説明

Type

STAT_INITIAL_DEPOSIT

頭金の値。

double

STAT_WITHDRAWAL

口座から引き落とされたお金。

double

STAT_PROFIT

テスト後の純利益で、STAT_GROSS_PROFIT と STAT_GROSS_LOSS の合計(STAT_GROSS_LOSS は常にゼロか負)。

double

STAT_GROSS_PROFIT

総利益(全ての収益性(正)の取引の合計)。値はゼロ以上です。

double

STAT_GROSS_LOSS

総損失(全ての負の取引の合計)。値はゼロ以下です。

double

STAT_MAX_PROFITTRADE

最大の利益 – 全ての勝ち取引の最大値。値はゼロ以上です。

double

STAT_MAX_LOSSTRADE

最大損失 – 全ての負け取引の最安値。値はゼロ以下です。

double

STAT_CONPROFITMAX

一連の勝ち取引での最大利益。値はゼロ以上です。

double

STAT_CONPROFITMAX_TRADES

STAT_CONPROFITMAX を形成している取引の数(一連の勝ち取引の内の、最大の利益)。

int

STAT_MAX_CONWINS

勝ち取引の最も長い一連の利益総額。

double

STAT_MAX_CONPROFIT_TRADES

勝ち取引の最長シリーズの取引回数 STAT_MAX_CONWINS

int

STAT_CONLOSSMAX

一連の負け取引での最大損失。値はゼロ以下です。

double

STAT_CONLOSSMAX_TRADES

STAT_CONLOSSMAX を形成している取引の数 (一連の負け取引での最大損失)。

int

STAT_MAX_CONLOSSES

負け取引の最長シリーズでの損失総額。

double

STAT_MAX_CONLOSS_TRADES

負け取引の最長シリーズの取引回数( STAT_MAX_CONLOSSES )。

int

STAT_BALANCEMIN

最低残高値。

double

STAT_BALANCE_DD

金額での最大残高ドローダウン。取引過程では多数の残高ドローダウンがあります。ここで最大値が取得されます。

double

STAT_BALANCEDD_PERCENT

最大ドローダウンバランスの瞬間に記録された金額の百分率でのバランスドローダウン(STAT_BALANCE_DD)。

double

STAT_BALANCE_DDREL_PERCENT

最大残高ドローダウン(%)。取引過程では多数のドローダウンがあり、各ドローダウンで百分率での相対ドローダウン値が算出されます。最高値が返されます。

double

STAT_BALANCE_DD_RELATIVE

最高残高ドローダウンの際に記録された、金額の百分率で表された残高ドローダウン(STAT_BALANCE_DDREL_PERCENT)。

double

STAT_EQUITYMIN

最低株式値。

double

STAT_EQUITY_DD

金額での最大株式ドローダウン。取引過程では多数のドローダウンがあります。ここで最大値が取得されます。

double

STAT_EQUITYDD_PERCENT

最高残高ドローダウンの際に記録された、金額の百分率で表された残高ドローダウン (STAT_EQUITY_DD)。

double

STAT_EQUITY_DDREL_PERCENT

最大株式ドローダウン(%)。取引過程では多数の株式ドローダウンがあり、各ドローダウンで百分率での相対ドローダウン値が算出されます。最高値が返されます。

double

STAT_EQUITY_DD_RELATIVE

最高株式ドローダウンの際に記録された、金額の百分率で表された株式ドローダウン(STAT_EQUITY_DDREL_PERCENT)。

double

STAT_EXPECTED_PAYOFF

期待利得。

double

STAT_PROFIT_FACTOR

STAT_GROSS_PROFIT/STAT_GROSS_LOSS の比に等しい利益率。STAT_GROSS_LOSS=0 の場合、利益率は DBL_MAX

double

STAT_RECOVERY_FACTOR

STAT_PROFIT/STAT_BALANCE_DD の比に等しい回復率。

double

STAT_SHARPE_RATIO

シャープレシオ。

double

STAT_MIN_MARGINLEVEL

証拠金レベルの最小値。

double

STAT_CUSTOM_ONTESTER

OnTester() 関数が返したカスタムの最適化基準の計算値。

double

STAT_DEALS

約定数。

int

STAT_TRADES

取引数。

int

STAT_PROFIT_TRADES

勝ち取引。

int

STAT_LOSS_TRADES

負け取引。

int

STAT_SHORT_TRADES

短期取引。

int

STAT_LONG_TRADES

長期取引。

int

STAT_PROFIT_SHORTTRADES

収益性の高い短期取引。

int

STAT_PROFIT_LONGTRADES

収益性の高い長期取引。

int

STAT_PROFITTRADES_AVGCON

一連の収益性の高い取引の平均の長さ。

int

STAT_LOSSTRADES_AVGCON

一連の負け取引の平均の長さ。

int

 

Originally posted 2019-07-29 22:44:01.

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">