取引定数

履歴データベースプロパティ

時系列アクセスでは追加のシンボル情報取得に SeriesInfoInteger() が使用されます。必要なプロパティの識別子は、関数のパラメータとして渡されます。識別子は ENUM_SERIES_INFO_INTEGER の値のいずれかになります。

ENUM_SERIES_INFO_INTEGER

識別子

説明

Type

SERIES_BARS_COUNT

現在のシンボル期間のバーの数。

long

SERIES_FIRSTDATE

現在のシンボル期間の初日。

datetime

SERIES_LASTBAR_DATE

現在のシンボル期間の最終バーの開始時刻。

datetime

SERIES_SERVER_FIRSTDATE

時間軸に関係ない、サーバ上でのシンボル履歴の最初の日付。

datetime

SERIES_TERMINAL_FIRSTDATE

時間軸に関係ない、クライアント端末でのシンボル履歴の最初の日付。

datetime

SERIES_SYNCHRONIZED

現時点の銘柄/期間のデータ同期フラグ。

bool

注文プロパティ

取引操作の実行リクエストは、注文として定式化されます。各注文は、読み込みのための様々なプロパティを持っています。それらの情報は OrderGet…() 及び HistoryOrderGet…() 関数で得られます。

OrderGetInteger() 及び HistoryOrderGetInteger() 関数

ENUM_ORDER_PROPERTY_INTEGER

識別子

説明

Type

ORDER_TICKET

注文チケット。各注文に割り当てられる固有番号。

long

ORDER_TIME_SETUP

注文設定時刻。

datetime

ORDER_TYPE

注文の種類。

ENUM_ORDER_TYPE

ORDER_STATE

注文状態。

ENUM_ORDER_STATE

ORDER_TIME_EXPIRATION

注文の期限。

datetime

ORDER_TIME_DONE

注文の実行及びキャンセル時刻。

datetime

ORDER_TIME_SETUP_MSC

01.01.1970 から経過したミリ秒数で表された注文の実行が出された時刻。

long

ORDER_TIME_DONE_MSC

01.01.1970 から経ったミリ秒で表された注文の実行/キャンセル時刻。

long

ORDER_TYPE_FILLING

注文充填タイプ。

ENUM_ORDER_TYPE_FILLING

ORDER_TYPE_TIME

注文ライフタイム。

ENUM_ORDER_TYPE_TIME

ORDER_MAGIC

注文を出したエキスパートアドバイザーのID(各エキスパートアドバイザーは、独自のユニークな番号を作成するように設計されています)。

long

ORDER_REASON

注文の理由またはソース。

ENUM_ORDER_REASON

ORDER_POSITION_ID

実行後すぐに注文に設定されるポジション識別。注文の実行は注文を出すか、既存のポジション変更する約定となります。このポジションの識別子がこの時点で実行される注文のために設定されています。

long

ORDER_POSITION_BY_ID

ORDER_TYPE_CLOSE_BY型の注文の為の反対ポジションの識別子。  

long

OrderGetDouble() 及び HistoryOrderGetDouble() 関数

ENUM_ORDER_PROPERTY_DOUBLE

識別子

説明

Type

ORDER_VOLUME_INITIAL

注文の初期ボリューム。

double

ORDER_VOLUME_CURRENT

注文の現在ボリューム。

double

ORDER_PRICE_OPEN

注文で指定された価格。

double

ORDER_SL

決済逆指値。

double

ORDER_TP

決済指値。

double

ORDER_PRICE_CURRENT

注文シンボルの現在の価格。

double

ORDER_PRICE_STOPLIMIT

ストップリミット注文の指値注文価格。

double

OrderGetString() 及び HistoryOrderGetString() 関数

ENUM_ORDER_PROPERTY_STRING

識別子

説明

Type

ORDER_SYMBOL

注文シンボル。

string

ORDER_COMMENT

注文コメント。

string

 

OrderSend() 関数を使用して取引リクエストを送る場合、操作によっては注文の種類の指定が必要です。注文の種類は特別な構造体 MqlTradeRequestの type フィールドに含まれ、ENUM_ORDER_TYPE 列挙の値が使用出来ます。

ENUM_ORDER_TYPE

識別子

説明

ORDER_TYPE_BUY

成行買い注文。

ORDER_TYPE_SELL

成行売り注文。

ORDER_TYPE_BUY_LIMIT

買い指値注文。

ORDER_TYPE_SELL_LIMIT

売り指値注文。

ORDER_TYPE_BUY_STOP

買い逆指値注文。

ORDER_TYPE_SELL_STOP

売り逆指値注文。

ORDER_TYPE_BUY_STOP_LIMIT

注文価格に達すると、未決の買い指値注文はストップリミット価格で出されます。

ORDER_TYPE_SELL_STOP_LIMIT

注文価格に達すると、未決の売り指値注文はストップリミット価格で出されます。

ORDER_TYPE_CLOSE_BY

ポジションを反対のポジションで決済するための注文。

 

各注文には、その状態を説明するステータスがあります。情報を取得するには ORDER_STATE 修飾子とOrderGetInteger() または HistoryOrderGetInteger() 関数を使用します。使用可能な値は ENUM_ORDER_STATE 列挙に記載されています。

ENUM_ORDER_STATE

識別子

説明

ORDER_STATE_STARTED

注文がチェック済み、ブローカによっての受け入れがまだ。

ORDER_STATE_PLACED

受付済みの注文。

ORDER_STATE_CANCELED

クライアントによってキャンセルされた注文。

ORDER_STATE_PARTIAL

実行中の注文。

ORDER_STATE_FILLED

実行済みの注文。

ORDER_STATE_REJECTED

拒絶された注文。

ORDER_STATE_EXPIRED

期限切れの注文。

ORDER_STATE_REQUEST_ADD

注文が登録中(取引システムに配置)。

ORDER_STATE_REQUEST_MODIFY

注文が更新中(パラメータの変更)。

ORDER_STATE_REQUEST_CANCEL

注文が削除中(取引システムからの削除)。

 

OrderSend() 関数を使用して取引リクエストを送る場合、充填ポリシーは特別な MqlTradeRequest 構造体の type_filling フィールドで設定できます。ENUM_ORDER_TYPE_FILLING 列挙値が使用されます。このプロパティの値を取得するには OrderGetInteger() または HistoryOrderGetInteger() 関数を ORDER_TYPE_FILLING 修飾子と使用します。

ENUM_ORDER_TYPE_FILLING

識別子

説明

ORDER_FILLING_FOK

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

ORDER_FILLING_IOC

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

ORDER_FILLING_RETURN

このポリシーは、「マーケット」または「エクスチェンジ」の記号を持った 成行注文(ORDER_TYPE_BUY 及び ORDER_TYPE_SELL)、指値注文及びストップリミット注文(ORDER_TYPE_BUY_LIMIT、ORDER_TYPE_SELL_LIMIT、ORDER_TYPE_BUY_STOP_LIMIT 及び ORDER_TYPE_SELL_STOP_LIMIT)の 実行のみに使用されます。成行注文及び指値注文を部分的に満たす場合は、残りのボリュームはキャンセルされずに更に手続きされます。

ORDER_TYPE_BUY_STOP_LIMITとORDER_TYPE_SELL_STOP_LIMIT 注文の活性化のためには、ORDER_FILLING_RETURN 実行型と対応する指値注文 ORDER_TYPE_BUY_LIMIT/ ORDER_TYPE_SELL_LIMIT が作成されます。

 

OrderSend() 関数で取引リクエストを送る際に注文の有効期間は特別な構造体 MqlTradeRequest の type_time フィールドで設定できます。ENUM_ORDER_TYPE_TIME 列挙値が使用されます。このプロパティの値を取得するには OrderGetInteger() または HistoryOrderGetInteger() 関数を ORDER_TYPE_TIME 修飾子と使用します。

ENUM_ORDER_TYPE_TIME

識別子

説明

ORDER_TIME_GTC

GTC注文(キャンセルするまで有効)。

ORDER_TIME_DAY

現在の取引日のみ有効である注文。

ORDER_TIME_SPECIFIED

有効期限まで有効な注文。

ORDER_TIME_SPECIFIED_DAY

注文が指定された日の 23:59:59 まで有効となります。この時刻が取引セッション外である場合は、注文は最も近い取引時間中に満了します。

 

ORDER_REASONプロパティには注文を出した理由が含まれます。注文は、MQL5プログラムやモバイルアプリケーションから出されたりストップアウトなどの結果として出されたりします。ORDER_REASONの可能な値は、ENUM_ORDER_REASON列挙体に記述されています。

ENUM_ORDER_REASON

識別子

説明

ORDER_REASON_CLIENT

注文はデスクトップターミナルから出された

ORDER_REASON_MOBILE

注文はモバイルアプリケーションから出された

ORDER_REASON_WEB

注文はwebプラットフォームから出された

ORDER_REASON_EXPERT

注文はMQL5プログラム(エキスパートアドバイザーまたはスクリプト)から出された

ORDER_REASON_SL

注文はストップロスのアクティブ化の結果として出された

ORDER_REASON_TP

注文はテイクプロフィットのアクティブ化の結果として出された

ORDER_REASON_SO

注文はストップアウトイベントの結果として出された

ポジションプロパティ

取引操作の実行は、注文を出すこと、ボリューム及び/または方向の変更、または解除につながります。取引操作は OrderSend() 関数で取引リクエストとして送られた注文を通して行われます。各有価証券 (シンボル)では、ポジションは 1 つだけ可能です。ポジションには PositionGet…() 関数での読み込みが可能なプロパティセットがあります。

PositionGetInteger() 関数では

ENUM_POSITION_PROPERTY_INTEGER

識別子

説明

Type

POSITION_TICKET

ポジションチケット。各保有ポジションに新たに割り当てられた固有の番号。通常、その結果としてポジションを保有する、注文のチケットに対応します(サーバー上で行われた操作の結果、チケットが変更された場合を除く)。例えば、ポジションの再保有によるスワップの加算です。ポジションを保有することになった注文を見つけるには、POSITION_IDENTIFIERプロパティを使用する必要があります。
 

POSITION_TICKETはMqlTradeRequest::positionと一致します。

long

POSITION_TIME

注文が出された時刻。

datetime

POSITION_TIME_MSC

01.01.1970 から経ったミリ秒で表された注文が出された時刻。

long

POSITION_TIME_UPDATE

01.01.1970 から経った秒数で表されたポジション変更時刻。

long

POSITION_TIME_UPDATE_MSC

01.01.1970 から経ったミリ秒で表されたポジション変更時刻。

long

POSITION_TYPE

ポジションの種類。

ENUM_POSITION_TYPE

POSITION_MAGIC

ポジションマジックナンバー(ORDER_MAGICを参照)。

long

POSITION_IDENTIFIER

ポジション識別子は、全ての新しくオープンしたポジションに割り当てられ、ポジションのライフタイムに一貫する固有の番号です。識別子はポジションのターンオーバによって変更されません。
ポジション識別子は、ポジションを開く、変更する、または決済するために使用される各注文(ORDER_POSITION_ID)と約定(DEAL_POSITION_ID)で指定されています。ポジションに関連した注文や約定を検索するにはこのプロパティを使用します。

ネッティングモード(単一のイン/アウト取引を使用)でポジションが反転された場合、POSITION_IDENTIFIERは変更されません。 ただし、POSITION_TICKETは、その反転につながった注文のチケットに置き換えられます。 ポジション反転はヘッジモードでは提供されません。

long

POSITION_REASON

ポジションを開く理由。

ENUM_POSITION_REASON

PositionGetDouble() 関数

ENUM_POSITION_PROPERTY_DOUBLE

識別子

説明

Type

POSITION_VOLUME

ポジションボリューム。

double

POSITION_PRICE_OPEN

ポジションの始値。

double

POSITION_SL

未決済ポジションの決済逆指レベル。

double

POSITION_TP

未決済ポジションの決済指値。

double

POSITION_PRICE_CURRENT

ポジションシンボルの現在価格。

double

POSITION_SWAP

累積スワップ。

double

POSITION_PROFIT

現在の利益。

double

PositionGetString() 関数では

ENUM_POSITION_PROPERTY_STRING

識別子

説明

Type

POSITION_SYMBOL

ポジションのシンボル。

string

POSITION_COMMENT

ポジションコメント。

string

POSITION_EXTERNAL_ID

ポジション識別子が外部取引システム(取引所)です。

string

 

ポジションの方向(売買)は ENUM_POSITION_TYPE 列挙から値によって定義されています。ポジションの種類を取得するには PositionGetInteger() 関数を POSITION_TYPE 修飾子と使用します。

ENUM_POSITION_TYPE

識別子

説明

POSITION_TYPE_BUY

買い。

POSITION_TYPE_SELL

売り。

 

POSITION_REASONプロパティにはポジションを開いた理由が含まれます。ポジションは、デスクトップターミナル、モバイルアプリケーション、エキスパートアドバイザーなどから出された注文のアクティブ化の結果として開かれます。POSITION_REASONの可能な値は、ENUM_POSITION_REASON列挙体に記述されています。

ENUM_POSITION_REASON

識別子

説明

POSITION_REASON_CLIENT

ポジションは、デスクトップターミナルから出された注文のアクティブ化の結果として開かれた

POSITION_REASON_MOBILE

ポジションは、モバイルアプリケーションから出された注文のアクティブ化の結果として開かれた

POSITION_REASON_WEB

ポジションは、webプラットフォームから出された注文のアクティブ化の結果として開かれた

POSITION_REASON_EXPERT

ポジションは、MQL5プログラム(エキスパートアドバイザーまたはスクリプト)から出された注文のアクティブ化の結果として開かれた

 

約定プロパティ

約定は取引リクエストを含む注文に基づいた取引操作の実行の事実を反映しています。 各取引は、関係した情報取得を可能にするプロパティによって記述されます。プロパティ値の読み込みには対応する列挙からの値を返す HistoryDealGet…() 型の関数が使用されます。

HistoryDealGetInteger() 関数

ENUM_DEAL_PROPERTY_INTEGER

識別子

説明

Type

DEAL_TICKET

取引チケット。各取引に割り当てられる固有の番号です。

long

DEAL_ORDER

約定の注文番号。

long

DEAL_TIME

約定時刻。

datetime

DEAL_TIME_MSC

01.01.1970 から経過したミリ秒数で表された 約定実行時刻。

long

DEAL_TYPE

約定の種類。

ENUM_DEAL_TYPE

DEAL_ENTRY

約定エントリー (エントリーイン、エントリーアウト、リバース)。

ENUM_DEAL_ENTRY

DEAL_MAGIC

約定マジックナンバー(ORDER_MAGIC を参照)。

long

DEAL_REASON

約定実行のソースまたは理由。

ENUM_DEAL_REASON

DEAL_POSITION_ID

約定の開始、変更や変化が起きたポジションのポジション識別子。ポジションは、ライフタイムを通して、シンボルに実行された全ての約定に割り当てられている固有の識別子を持ちます。

long

HistoryDealGetDouble()関数には

ENUM_DEAL_PROPERTY_DOUBLE

識別子

説明

Type

DEAL_VOLUME

約定量。

double

DEAL_PRICE

約定値。

double

DEAL_COMMISSION

約定手数料。

double

DEAL_SWAP

終了時の累積スワップ。

double

DEAL_PROFIT

約定の利益。

double

HistoryDealGetString() 関数には

ENUM_DEAL_PROPERTY_STRING

識別子

説明

Type

DEAL_SYMBOL

約定シンボル。

string

DEAL_COMMENT

約定コメント。

string

 

各 約定は種類によって特徴づけされ、可能な値は ENUM_DEAL_TYPE にみられます。 約定の種類について情報を取得するには HistoryDealGetInteger() を DEAL_TYPE 修飾子で使用します。

ENUM_DEAL_TYPE

識別子

説明

DEAL_TYPE_BUY

買い。

DEAL_TYPE_SELL

売り。

DEAL_TYPE_BALANCE

残高。

DEAL_TYPE_CREDIT

クレジット。

DEAL_TYPE_CHARGE

追加料金。

DEAL_TYPE_CORRECTION

修正。

DEAL_TYPE_BONUS

ボーナス。

DEAL_TYPE_COMMISSION

追加手数料。

DEAL_TYPE_COMMISSION_DAILY

日ごとの手数料。

DEAL_TYPE_COMMISSION_MONTHLY

月ごとの手数料。

DEAL_TYPE_COMMISSION_AGENT_DAILY

日ごとの仲介手数料。

DEAL_TYPE_COMMISSION_AGENT_MONTHLY

月ごとの仲介手数料。

DEAL_TYPE_INTEREST

金利。

DEAL_TYPE_BUY_CANCELED

取り消しされた買い。以前に実行された買い約定が取り消しされる場合があります。この場合には、以前に実行された約定(DEAL_TYPE_BUY)DEAL_TYPE_BUY_CANCELED に変更され、その利益/損失はゼロ化されます。先に取得された利益/損失は、別の残高操作で実行されます。

DEAL_TYPE_SELL_CANCELED

取り消しされた売り。以前に実行された売り約定が取り消しされる場合があります。この場合には、以前に実行された約定(DEAL_TYPE_SELL)DEAL_TYPE_SELL_CANCELED に変更され、その利益/損失はゼロ化されます。先に取得された利益/損失は、別の残高操作で実行されます。

DEAL_DIVIDEND

配当操作

DEAL_DIVIDEND_FRANKED

フランク(非課税)配当操作

DEAL_TAX

 

約定は ENUM_DEAL_TYPE に設定された種類のみではなく、ポジション変更方法においても異なります。これは単純なポジションオープン、または既にオープンされたポジションの蓄積(市場に参入)、同じボリュームの反対方向の約定によるポジション決済(市場から退出)、または、反対方向約定が建玉の蓄積をカバーする場合のポジションの逆転になりえます。

これらの状況の全ては ENUM_DEAL_ENTRY 列挙からの値によって記述されています。約定について情報を取得するには HistoryDealGetInteger()関数を DEAL_ENTRY 修飾子で使用します。

ENUM_DEAL_ENTRY

識別子

説明

DEAL_ENTRY_IN

エントリーイン。

DEAL_ENTRY_OUT

エントリーアウト。

DEAL_ENTRY_INOUT

リバース。

DEAL_ENTRY_OUT_BY

反対ポジションの決済。

 

DEAL_REASONプロパティには約定実行の理由が含まれます。約定は、モバイルアプリケーションまたはMQL5プログラムから出された注文のトリガ、ストップアウトイベント、変動証拠金計算の結果として実行されます。DEAL_REASONの可能な値は、ENUM_DEAL_REASON列挙体に記述されています。バランス、クレジット、手数料などの取引以外の約定理由はDEAL_REASON_CLIENTとして表示されます。

ENUM_DEAL_REASON

識別子

説明

DEAL_REASON_CLIENT

約定は、デスクトップターミナルから出された注文のアクティブ化の結果として実行された

DEAL_REASON_MOBILE

約定は、モバイルアプリケーションから出された注文のアクティブ化の結果として実行された

DEAL_REASON_WEB

約定は、webプラットフォームから出された注文のアクティブ化の結果として実行された

DEAL_REASON_EXPERT

約定は、MQL5プログラム(エキスパートアドバイザーまたはスクリプト)から出された注文のアクティブ化の結果として実行された

DEAL_REASON_SL

約定は、ストップロスのアクティブ化の結果として実行された

DEAL_REASON_TP

約定は、テイクプロフィットのアクティブ化の結果として実行された

DEAL_REASON_SO

約定は、ストップアウトイベントの結果として実行された

DEAL_REASON_ROLLOVER

約定は、ロールオーバーの結果として実行された

DEAL_REASON_VMARGIN

約定は、変動証拠金の課金の後で実行された

DEAL_REASON_SPLIT

約定は、スプリット(価格低下)の発表時にポジションを持っていた製品のスプリットによって実行された

 

取引操作の種類

取引は OrderSend() 関数を使用して建玉に注文を送ったり、未決注文を配置、変更、または解除することです。各取引注文はリクエストされた操作の種類を示します。取引操作は ENUM_TRADE_REQUEST_ACTIONS 列挙で記述されます。

ENUM_TRADE_REQUEST_ACTIONS

識別子

説明

TRADE_ACTION_DEAL

指定されたパラメータ(成行注文)の即時実行のために約定注文を出します。

TRADE_ACTION_PENDING

指定された条件(未決注文)で実行するために取引注文を出します。

TRADE_ACTION_SLTP

保有中ポジションの決済逆指値及び決済指値を変更します。

TRADE_ACTION_MODIFY

以前の注文のパラメータを変更します。

TRADE_ACTION_REMOVE

以前の未決注文を削除します。

TRADE_ACTION_CLOSE_BY

反対ポジションの決済。

買いポジションを持つ 取引操作TRADE_ACTION_DEALの例:

#define EXPERT_MAGIC 123456   // エキスパートアドバイザのMagicNumber
//+——————————————————————+
//| 買いポジションの発注                                                   |
//+——————————————————————+
void OnStart()
{
//— リクエストと結果の宣言と初期化
MqlTradeRequest request={0};
MqlTradeResult  result={0};
//— リクエストのパラメータ
request.action   =TRADE_ACTION_DEAL;                     // 取引操作タイプ
request.symbol   =Symbol();                             // シンボル
request.volume   =0.1;                                   // 0.1ロットのボリューム
request.type     =ORDER_TYPE_BUY;                       // 注文タイプ
request.price    =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // 発注価格
request.deviation=5;                                     // 価格からの許容偏差
request.magic    =EXPERT_MAGIC;                         // 注文のMagicNumber
//— リクエストの送信
if(!OrderSend(request,result))
PrintFormat(“OrderSend error %d”,GetLastError());     // リクエストの送信が失敗した場合、エラーコードを出力する
//— 操作に関する情報
PrintFormat(“retcode=%u  deal=%I64u  order=%I64u”,result.retcode,result.deal,result.order);
}
//+——————————————————————+

売りポジションを持つ 取引操作TRADE_ACTION_DEALの例:

#define EXPERT_MAGIC 123456   // エキスパートアドバイザのMagicNumber
//+——————————————————————+
//| 売りポジションを持つ                                                    |
//+——————————————————————+
void OnStart()
{
//— リクエストと結果の宣言と初期化
MqlTradeRequest request={0};
MqlTradeResult  result={0};
//— リクエストのパラメータ
request.action   =TRADE_ACTION_DEAL;                     // 取引操作タイプ
request.symbol   =Symbol();                             // シンボル
request.volume   =0.2;                                   // 0.2ロットのボリューム
request.type     =ORDER_TYPE_SELL;                       // 注文タイプ
request.price    =SymbolInfoDouble(Symbol(),SYMBOL_BID); // 発注価格
request.deviation=5;                                     // 価格からの許容偏差
request.magic    =EXPERT_MAGIC;                         // 注文のMagicNumber
//— リクエストの送信
if(!OrderSend(request,result))
PrintFormat(“OrderSend error %d”,GetLastError());     // リクエストの送信が失敗した場合、エラーコードを出力する
//— 操作についての情報
PrintFormat(“retcode=%u  deal=%I64u  order=%I64u”,result.retcode,result.deal,result.order);
}
//+——————————————————————+

ポジションを決済する 取引操作TRADE_ACTION_DEALの例:

#define EXPERT_MAGIC 123456   // エキスパートアドバイザのMagicNumber
//+——————————————————————+
//| 全てのポジションを決済                                                  |
//+——————————————————————+
void OnStart()
{
//— 結果とリクエストの宣言
MqlTradeRequest request;
MqlTradeResult  result;
int total=PositionsTotal(); // 保有ポジション数  
//— 全ての保有ポジションの取捨
for(int i=total-1; i>=0; i–)
{
//— 注文のパラメータ
ulong  position_ticket=PositionGetTicket(i);                                     // ポジションチケット
string position_symbol=PositionGetString(POSITION_SYMBOL);                       // シンボル
int    digits=(int)SymbolInfoInteger(position_symbol,SYMBOL_DIGITS);             // 小数点以下の桁数
ulong  magic=PositionGetInteger(POSITION_MAGIC);                                 // ポジションのMagicNumber
double volume=PositionGetDouble(POSITION_VOLUME);                                 // ポジションボリューム
ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);   // ポジションタイプ
//— ポジション情報の出力
PrintFormat(“#%I64u %s  %s  %.2f  %s [%I64d]”,
position_ticket,
position_symbol,
EnumToString(type),
volume,
DoubleToString(PositionGetDouble(POSITION_PRICE_OPEN),digits),
magic);
//— MagicNumberが一致している場合
if(magic==EXPERT_MAGIC)
{
//— リクエストと結果の値のゼロ化
ZeroMemory(request);
ZeroMemory(result);
//— 操作パラメータの設定
request.action   =TRADE_ACTION_DEAL;       // 取引操作タイプ
request.position =position_ticket;         // ポジションチケット
request.symbol   =position_symbol;         // シンボル
request.volume   =volume;                   // ポジションボリューム
request.deviation=5;                       // 価格からの許容偏差
request.magic    =EXPERT_MAGIC;             // ポジションのMagicNumber
//— ポジションタイプによる注文タイプと価格の設定
if(type==POSITION_TYPE_BUY)
{
request.price=SymbolInfoDouble(position_symbol,SYMBOL_BID);
request.type =ORDER_TYPE_SELL;
}
else
{
request.price=SymbolInfoDouble(position_symbol,SYMBOL_ASK);
request.type =ORDER_TYPE_BUY;
}
//— 決済情報の出力
PrintFormat(“Close #%I64d %s %s”,position_ticket,position_symbol,EnumToString(type));
//— リクエストの送信
if(!OrderSend(request,result))
PrintFormat(“OrderSend error %d”,GetLastError()); // リクエストの送信に失敗した場合、エラーコードを出力
//— 操作情報 
PrintFormat(“retcode=%u  deal=%I64u  order=%I64u”,result.retcode,result.deal,result.order);
//—
}
}
}
//+——————————————————————+

未決注文を設定する 取引操作TRADE_ACTION_PENDINGの例:

#property description “未決注文設定の例”
#property script_show_inputs
#define EXPERT_MAGIC 123456                             // エキスパートアドバイザのMagicNumber
input ENUM_ORDER_TYPE orderType=ORDER_TYPE_BUY_LIMIT;   // 注文タイプ
//+——————————————————————+
//| 未決注文の設定                                                      |
//+——————————————————————+
void OnStart()
{
//— リクエストと結果の宣言と初期化
MqlTradeRequest request={0};
MqlTradeResult  result={0};
//— 未決注文の設定の為のパラメータ
request.action   =TRADE_ACTION_PENDING;                             // 取引操作タイプ
request.symbol   =Symbol();                                         // シンボル
request.volume   =0.1;                                             // 0.1ロットのボリューム
request.deviation=2;                                               // 価格からの許容偏差
request.magic    =EXPERT_MAGIC;                                     // 注文のMagicNumber
int offset = 50;                                                   // 注文設定の為の現在の価格からのオフセット(ポイント)
double price;                                                      // 注文の発動価格
double point=SymbolInfoDouble(_Symbol,SYMBOL_POINT);               // ポイントサイズ
int digits=SymbolInfoInteger(_Symbol,SYMBOL_DIGITS);              // 小数点以下の桁数(精度)
  //— 操作タイプのチェック
if(orderType==ORDER_TYPE_BUY_LIMIT)
{
request.type     =ORDER_TYPE_BUY_LIMIT;                         // 注文タイプ
price=SymbolInfoDouble(Symbol(),SYMBOL_ASK)-offset*point;       // 発注価格
request.price    =NormalizeDouble(price,digits);                 // 正規化された発注価格
}
else if(orderType==ORDER_TYPE_SELL_LIMIT)
{
request.type     =ORDER_TYPE_SELL_LIMIT;                         // 注文タイプ
price=SymbolInfoDouble(Symbol(),SYMBOL_ASK)+offset*point;         // 発注価格
request.price    =NormalizeDouble(price,digits);                 // 正規化された発注価格
}
else if(orderType==ORDER_TYPE_BUY_STOP)
{
request.type =ORDER_TYPE_BUY_STOP;                               // 注文タイプ
price        =SymbolInfoDouble(Symbol(),SYMBOL_ASK)+offset*point; // 発注価格
request.price=NormalizeDouble(price,digits);                     // 正規化された発注価格
}
else if(orderType==ORDER_TYPE_SELL_STOP)
{
request.type     =ORDER_TYPE_SELL_STOP;                           // 注文タイプ
price=SymbolInfoDouble(Symbol(),SYMBOL_ASK)-offset*point;         // 発注価格
request.price    =NormalizeDouble(price,digits);                 // 正規化された発注価格
}
else Alert(“この例は未決注文の設定のみを対象にしています”);   // もし未決注文ではないものが選択されている場合
//— リクエストの送信
if(!OrderSend(request,result))
PrintFormat(“OrderSend error %d”,GetLastError());                 // もしリクエストの送信に失敗した場合、エラーコードを出力する
//— 操作情報
PrintFormat(“retcode=%u  deal=%I64u  order=%I64u”,result.retcode,result.deal,result.order);
}
//+——————————————————————+

保有ポジションのストップロスとテイクプロフィットの値を変更する 取引操作 TRADE_ACTION_SLTPの例:

#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber
//+——————————————————————+
//| ポジションのストップロスとテイクプロフィットを変更する                               |
//+——————————————————————+
void OnStart()
{
//— リクエストと結果の宣言
MqlTradeRequest request;
MqlTradeResult  result;
int total=PositionsTotal(); // 保有ポジション数  
//— 全ての保有ポジションを取捨
for(int i=0; i<total; i++)
{
//— 注文パラメータ
ulong  position_ticket=PositionGetTicket(i);// ポジションチケット
string position_symbol=PositionGetString(POSITION_SYMBOL); // シンボル
int    digits=(int)SymbolInfoInteger(position_symbol,SYMBOL_DIGITS); // 小数点以下の桁数
ulong  magic=PositionGetInteger(POSITION_MAGIC); // ポジションのMagicNumber
double volume=PositionGetDouble(POSITION_VOLUME);   // ポジションボリューム
double sl=PositionGetDouble(POSITION_SL); // ポジションのStop Loss
double tp=PositionGetDouble(POSITION_TP); // ポジションのTake Profit
ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE); // ポジションタイプ
//— ポジション情報の出力
PrintFormat(“#%I64u %s  %s  %.2f  %s  sl: %s  tp: %s  [%I64d]”,
position_ticket,
position_symbol,
EnumToString(type),
volume,
DoubleToString(PositionGetDouble(POSITION_PRICE_OPEN),digits),
DoubleToString(sl,digits),
DoubleToString(tp,digits),
magic);
//— MagicNumberが一致し、ストップロスとテイクプロフィットが指定されていない場合
if(magic==EXPERT_MAGIC && sl==0 && tp==0)
{
        //— 現在の価格レートの計算
double price=PositionGetDouble(POSITION_PRICE_OPEN);
double bid=SymbolInfoDouble(position_symbol,SYMBOL_BID);
double ask=SymbolInfoDouble(position_symbol,SYMBOL_ASK);
int    stop_level=(int)SymbolInfoInteger(position_symbol,SYMBOL_TRADE_STOPS_LEVEL);
double price_level;
//— 現在の決済価格からの最小許容オフセットが指定されていない場合
if(stop_level<=0)
stop_level=150; // 現在の決済価格から150ポイントのオフセットを設定する
else
stop_level+=50; // 念の為オフセットレベルは(SYMBOL_TRADE_STOPS_LEVEL + 50)ポイントと同じにする
 
//— Stop LossとTake Profitの値の計算と四捨五入
price_level=stop_level*SymbolInfoDouble(position_symbol,SYMBOL_POINT);
if(type==POSITION_TYPE_BUY)
{
sl=NormalizeDouble(bid-price_level,digits);
tp=NormalizeDouble(ask+price_level,digits);
}
else
{
sl=NormalizeDouble(ask+price_level,digits);
tp=NormalizeDouble(bid-price_level,digits);
}
//— リクエストと結果の値のゼロ化
ZeroMemory(request);
ZeroMemory(result);
//— 操作パラメータの設定
request.action  =TRADE_ACTION_SLTP; // 取引操作タイプ
request.position=position_ticket;   // ポジションシンボル
request.symbol=position_symbol;     // シンボル
request.sl      =sl;               // ポジションのStop Loss
request.tp      =tp;               // ポジションのTake Profit
request.magic=EXPERT_MAGIC;         // MagicNumber позиции
//— 変更情報の出力
PrintFormat(“Modify #%I64d %s %s”,position_ticket,position_symbol,EnumToString(type));
//— リクエストの送信
if(!OrderSend(request,result))
PrintFormat(“OrderSend error %d”,GetLastError()); // リクエストの送信に失敗した場合、エラーコードを出力する
//— 操作情報 
PrintFormat(“retcode=%u  deal=%I64u  order=%I64u”,result.retcode,result.deal,result.order);
}
}
}
//+——————————————————————+

未決注文の価格レベルを変更する 取引操作TRADE_ACTION_MODIFYの例:

#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber
//+——————————————————————+
//| 未決注文の変更                                                      |
//+——————————————————————+
void OnStart()
{
//— リクエストと結果の宣言と初期化
MqlTradeRequest request={0};
MqlTradeResult  result={0};
int total=OrdersTotal(); // 保有未決注文数
//— 全ての保有未決注文を取捨
for(int i=0; i<total; i++)
{
//— 注文パラメータ
ulong  order_ticket=OrderGetTicket(i);                             //注文チケット
string order_symbol=Symbol();                                     // シンボル
int    digits=(int)SymbolInfoInteger(order_symbol,SYMBOL_DIGITS); // 小数点以下の桁数
ulong  magic=OrderGetInteger(ORDER_MAGIC);                         // 注文のMagicNumber
double volume=OrderGetDouble(ORDER_VOLUME_CURRENT);               // 現在の注文量
double sl=OrderGetDouble(ORDER_SL);                               // 現在の注文のStop Loss
double tp=OrderGetDouble(ORDER_TP);                               // 現在の注文のTake Profit
ENUM_ORDER_TYPE type=(ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE); // 注文タイプ
int offset = 50;                                                   // 発注の為の現在価格からのオフセット(ポイント)
double price;                                                     // 注文発動価格
double point=SymbolInfoDouble(order_symbol,SYMBOL_POINT);         // ポイントサイズ
//— 注文情報の出力
PrintFormat(“#%I64u %s  %s  %.2f  %s  sl: %s  tp: %s  [%I64d]”,
order_ticket,
order_symbol,
EnumToString(type),
volume,
DoubleToString(PositionGetDouble(POSITION_PRICE_OPEN),digits),
DoubleToString(sl,digits),
DoubleToString(tp,digits),
magic);
//— MagicNumberが一致し、Stop LossとTake Profitが設定されていない場合
if(magic==EXPERT_MAGIC && sl==0 && tp==0)
{
request.action=TRADE_ACTION_MODIFY;                           // 取引操作タイプ
request.order = OrderGetTicket(i);                           // 注文チケット
request.symbol   =Symbol();                                   // シンボル
request.deviation=5;                                         // 価格からの許容オフセット
//— 価格レベルの設定、タイプに合わせた注文のTake ProfitとStop Loss
if(type==ORDER_TYPE_BUY_LIMIT)
{
price = SymbolInfoDouble(Symbol(),SYMBOL_ASK)-offset*point;
request.tp = NormalizeDouble(price+offset*point,digits);
request.sl = NormalizeDouble(price-offset*point,digits);
request.price    =NormalizeDouble(price,digits);               // 正規化された発注価格
}
else if(type==ORDER_TYPE_SELL_LIMIT)
{
price = SymbolInfoDouble(Symbol(),SYMBOL_BID)+offset*point;
request.tp = NormalizeDouble(price-offset*point,digits);
request.sl = NormalizeDouble(price+offset*point,digits);
request.price    =NormalizeDouble(price,digits);                 // 正規化された発注価格
}
else if(type==ORDER_TYPE_BUY_STOP)
{
price = SymbolInfoDouble(Symbol(),SYMBOL_BID)+offset*point;
request.tp = NormalizeDouble(price+offset*point,digits);
request.sl = NormalizeDouble(price-offset*point,digits);
request.price    =NormalizeDouble(price,digits);                 // 正規化された発注価格
}
else if(type==ORDER_TYPE_SELL_STOP)
{
price = SymbolInfoDouble(Symbol(),SYMBOL_ASK)-offset*point;
request.tp = NormalizeDouble(price-offset*point,digits);
request.sl = NormalizeDouble(price+offset*point,digits);
request.price    =NormalizeDouble(price,digits);                 // 正規化された発注価格
}
//—リクエストの送信
if(!OrderSend(request,result))
PrintFormat(“OrderSend error %d”,GetLastError()); // リクエストの送信に失敗した場合、エラーコードを出力する
//— 操作情報  
PrintFormat(“retcode=%u  deal=%I64u  order=%I64u”,result.retcode,result.deal,result.order);
//— リクエストと結果の値のゼロ化
ZeroMemory(request);
ZeroMemory(result);
}
}
}
//+——————————————————————+

未決注文の削除をする 取引操作TRADE_ACTION_REMOVEの例:

#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber
//+——————————————————————+
//| 未決注文の削除                                                      |
//+——————————————————————+
void OnStart()
{
//— リクエストと結果の宣言と初期化
MqlTradeRequest request={0};
MqlTradeResult  result={0};
int total=OrdersTotal(); // 保有未決注文数
//— 全ての保有未決注文を取捨
for(int i=total-1; i>=0; i–)
{
ulong  order_ticket=OrderGetTicket(i);                   // 注文チケット
ulong  magic=OrderGetInteger(ORDER_MAGIC);               // 注文のMagicNumber
//— MagicNumberが一致している場合
if(magic==EXPERT_MAGIC)
{
//— リクエストと結果の値のゼロ化
ZeroMemory(request);
ZeroMemory(result);
//— 操作パラメータの設定    
request.action=TRADE_ACTION_REMOVE;                   // 取引操作タイプ
request.order = order_ticket;                         // 注文チケット
//— リクエストの送信
if(!OrderSend(request,result))
PrintFormat(“OrderSend error %d”,GetLastError()); // リクエストの送信に失敗した場合、エラーコードを出力する
//— 操作情報  
PrintFormat(“retcode=%u  deal=%I64u  order=%I64u”,result.retcode,result.deal,result.order);
}
}
}
//+——————————————————————+

反対ポジションを決済する 取引操作TRADE_ACTION_CLOSE_BY の例:

#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber
//+——————————————————————+
//| 全ての反対ポジションの決済                                              |
//+——————————————————————+
void OnStart()
{
//— リクエストと結果の宣言
MqlTradeRequest request;
MqlTradeResult  result;
int total=PositionsTotal(); // 保有ポジション数  
//— 全ての保有ポジションの取捨
for(int i=total-1; i>=0; i–)
{
//— 注文パラメータ
ulong  position_ticket=PositionGetTicket(i);                                   // ポジションチケット
string position_symbol=PositionGetString(POSITION_SYMBOL);                     // シンボル
int    digits=(int)SymbolInfoInteger(position_symbol,SYMBOL_DIGITS);           // 小数点以下の桁数
ulong  magic=PositionGetInteger(POSITION_MAGIC);                               // ポジションのMagicNumber
double volume=PositionGetDouble(POSITION_VOLUME);                               // ポジションボリューム
double sl=PositionGetDouble(POSITION_SL);                                       // ポジションのStop Loss
double tp=PositionGetDouble(POSITION_TP);                                       // ポジションのTake Profit
ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE); // ポジションタイプ
//— ポジション情報の出力
PrintFormat(“#%I64u %s  %s  %.2f  %s  sl: %s  tp: %s  [%I64d]”,
position_ticket,
position_symbol,
EnumToString(type),
volume,
DoubleToString(PositionGetDouble(POSITION_PRICE_OPEN),digits),
DoubleToString(sl,digits),
DoubleToString(tp,digits),
magic);
//— MagicNumberが一致している場合
if(magic==EXPERT_MAGIC)
{
for(int j=0; j<i; j++)
{
string symbol=PositionGetSymbol(j); // 反対ポジションのシンボル
//— 反対と未知のポジションのシンボルが一致している場合
if(symbol==position_symbol && PositionGetInteger(POSITION_MAGIC)==EXPERT_MAGIC)
{
//— 反対ポジションのタイプの設定
ENUM_POSITION_TYPE type_by=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
//— 元のポジションと反対ポジションのタイプが一致する場合終了する
if(type==type_by)
continue;
//— リクエストと結果の値のゼロ化
ZeroMemory(request);
ZeroMemory(result);
//— 操作パラメータの設定
request.action=TRADE_ACTION_CLOSE_BY;                         //取引操作タイプ
request.position=position_ticket;                             // ポジションチケット
request.position_by=PositionGetInteger(POSITION_TICKET);     // 反対ポジションのチケット
//request.symbol     =position_symbol;
request.magic=EXPERT_MAGIC;                                   // ポジションのMagicNumber
//— 反対ポジションの決済情報の出力
PrintFormat(“Close #%I64d %s %s by #%I64d”,position_ticket,position_symbol,EnumToString(type),request.position_by);
//— リクエストの送信
if(!OrderSend(request,result))
PrintFormat(“OrderSend error %d”,GetLastError()); // リクエストの送信に失敗した場合、エラーコードを出力する
 
//— 操作情報 
PrintFormat(“retcode=%u  deal=%I64u  order=%I64u”,result.retcode,result.deal,result.order);
}
}
}
}
}
//+——————————————————————+

 

取引トランザクションの種類

取引口座にいくつかの明確なアクションを実行すると、状態が変更されます。アクションの例は下記です。

  • クライアント端末内の任意の MQL5 アプリケーションから OrderSend と OrderSendAsync 関数を使用して取引リクエストを送信し、取引が実行される。
  • 端末のグラフィカルインターフェースを使用して取引リクエストを送信し、取引が実行される。
  • サーバ上で未決注文と逆指値注文が執行される。
  • 取引サーバ側で操作を行う。

これらのアクションの結果として以下の取引トランザクションが実行されます。

  • 取引リクエストの処理
  • 未執行注文の変更
  • 注文履歴の変更
  • 約定履歴の変更
  • ポジションの変更

例えば、市場の買い注文を送信する際に、注文が処理され、買い注文が口座に記録されます。その後注文が実行されオープン注文の表から削除されて注文履歴に追加されます。約定履歴に追加され新しいポジションが作成されます。これらのアクションは全て取引トランザクションです。

プログラマによる取引口座に関連して実行されるアクション追跡が可能なように OnTradeTransaction 関数が提供されています。このハンドラは MQL5 アプリケーションの口座に適用される取引トランザクションを取得することが出来ます。取引トランザクションの記述は MqlTradeTransaction 構造体を使用して OnTradeTransaction の1 番目のパラメータとして渡されます。

取引トランザクションの種類は MqlTradeTransaction 構造体型のパラメータで提出されます。取引トランザクションの種類は、以下の列挙に記載されています。

ENUM_TRADE_TRANSACTION_TYPE

識別子

説明

TRADE_TRANSACTION_ORDER_ADD

新規の未執行注文の追加。

TRADE_TRANSACTION_ORDER_UPDATE

未執行注文の更新。アップデートは、クライアント端末や取引サーバ側からの明らかな変更だけでなく、設定時の注文状態の変化を含みます(例えば ORDER_STATE_STARTED から ORDER_STATE_PLACED へや ORDER_STATE_PLACED から ORDER_STATE_PARTIALへの変化など)。

TRADE_TRANSACTION_ORDER_DELETE

注文の未処理注文リストからの削除。注文は、適切なリクエストの設定または実行(充填)後、履歴に移動された結果として、未処理の注文のリストから削除することが出来ます。

TRADE_TRANSACTION_DEAL_ADD

約定を履歴に追加。このアクションは注文実行や口座残高の操作の結果として実行されます。

TRADE_TRANSACTION_DEAL_UPDATE

約定を履歴での更新。以前に実行された約定がサーバで更新される場合があります。例えば、 約定が以前にブローカによって転送された外部の取引システム(exchange)で更新される場合です。

TRADE_TRANSACTION_DEAL_DELETE

約定履歴の削除。以前に実行された 約定がサーバから削除される場合があります。例えば、 約定が以前にブローカによって転送された外部の取引システム(exchange)で削除されている場合です。

TRADE_TRANSACTION_HISTORY_ADD

実行またはキャンセルの結果として履歴に注文を追加します。

TRADE_TRANSACTION_HISTORY_UPDATE

注文履歴内の注文を変更します。この型は、取引サーバ側の機能性を高めるために設けられています。

TRADE_TRANSACTION_HISTORY_DELETE

注文を履歴から削除します。この型は、取引サーバ側の機能性を高めるために設けられています。

TRADE_TRANSACTION_POSITION

取引の実行に関連していないポジションを変更します。このトランザクション型はポジションが取引サーバ側で変更されたことを示しています。ポジションボリューム、始値、決済逆指及び決済指レベルの変更が可能です。返られたデータは OnTradeTransaction ハンドラでMqlTradeTransaction 構造体に提示されます。 約定実行によるポジションの変化(追加、変更、閉鎖)は TRADE_TRANSACTION_POSITION トランザクションの発生にはつながりません。

TRADE_TRANSACTION_REQUEST

取引リクエストがサーバと処理され結果が受け取られたことの通知。そのような取引では MqlTradeTransaction 構造体の type フィールド (取引タイプ) の分析のみが必要です。OnTradeTransaction 関数の 2、3 番目のパラメータ(request と result)は追加のデータを得るために分析されなければいけません。

取引トランザクションの種類によって、各種パラメータが MqlTradeTransaction 構造体に書き入れられます。引き渡されたデータの詳細な説明は「取引トランザクション構造体」でご覧下さい。

参照

取引トランザクション構造体、OnTradeTransaction

板情報の取引注文

持分証券では、現在の売買注文を含む板情報が利用可能です。希望された取引操作の方向、必要な量とリクエストされた価格は、注文ごとに指定されています。

MQL5 で現在の DOM の情報を取得するには MqlBookInfo 構造体の配列に DOM 「スクリーンショット」を配置するMarketBookGet() 関数が使用されます。type フィールドの配列の各要素は ENUM_BOOK_TYPE 列挙値での注文方向の情報を含みます。

ENUM_BOOK_TYPE

識別子

説明

BOOK_TYPE_SELL

売り注文(オファー)。

BOOK_TYPE_BUY

買い注文(ビッド)。

BOOK_TYPE_SELL_MARKET

売りの成行注文。

BOOK_TYPE_BUY_MARKET

買いの成行注文。

参照

構造体とクラス、DOM 構造体、取引操作の種類、市場情報

シグナルプロパティ

売買シグナルとシグナルコピーの設定を使用する際は、次の列挙が使用されています。

売買シグナルの double 型プロパティの列挙

ENUM_SIGNAL_BASE_DOUBLE

ID

説明

SIGNAL_BASE_BALANCE

口座残高。

SIGNAL_BASE_EQUITY

口座株式。

SIGNAL_BASE_GAIN

口座ゲイン。

SIGNAL_BASE_MAX_DRAWDOWN

口座最大ドローダウン。

SIGNAL_BASE_PRICE

シグナルサブスクリプション価格。

SIGNAL_BASE_ROI

投資収益(%)。

売買シグナルの integer 型プロパティの列挙

ENUM_SIGNAL_BASE_INTEGER

ID

説明

SIGNAL_BASE_DATE_PUBLISHED

公開日(サブスクリプションが可能になった日付)。

SIGNAL_BASE_DATE_STARTED

モニターの開始日。

SIGNAL_BASE_DATE_UPDATED

シグナルの取引統計の最終更新日

SIGNAL_BASE_ID

シグナル ID。

SIGNAL_BASE_LEVERAGE

口座レバレッジ。

SIGNAL_BASE_PIPS

利益(ピップス単位)。

SIGNAL_BASE_RATING

建て格付けでのポジション。

SIGNAL_BASE_SUBSCRIBERS

加入者数。

SIGNAL_BASE_TRADES

取引数。

SIGNAL_BASE_TRADE_MODE

口座の種類( 0 – 実際、1 – デモ、2 – コンテスト)。

売買シグナルの string 型プロパティの列挙

ENUM_SIGNAL_BASE_STRING

ID

説明

SIGNAL_BASE_AUTHOR_LOGIN

著者のログイン。

SIGNAL_BASE_BROKER

ブローカー名(会社)。

SIGNAL_BASE_BROKER_SERVER

ブローカーサーバ。

SIGNAL_BASE_NAME

シグナル名。

SIGNAL_BASE_CURRENCY

シグナル基準通貨。

シグナルコピー設定の double 型プロパティの列挙

ENUM_SIGNAL_INFO_DOUBLE

ID

説明

SIGNAL_INFO_EQUITY_LIMIT

株式の制限。

SIGNAL_INFO_SLIPPAGE

スリッページ(ポジションと同期して成行注文をする時と取引の取引の複製時に使用)。

SIGNAL_INFO_VOLUME_PERCENT

預金使用の最大率(%)(読み込みのみ)。

シグナルコピー設定の integer 型プロパティの列挙

ENUM_SIGNAL_INFO_INTEGER

ID

説明

SIGNAL_INFO_CONFIRMATIONS_DISABLED

フラグは、確認ダイアログなしでの同期を可能にします。

SIGNAL_INFO_COPY_SLTP

決済逆指値及び決済指値フラグを複製。

SIGNAL_INFO_DEPOSIT_PERCENT

預金比率(%)。

SIGNAL_INFO_ID

シグナル ID(読み込みのみ)。

SIGNAL_INFO_SUBSCRIPTION_ENABLED

「サブスクリプションによっての取引コピー」許可フラグ。

SIGNAL_INFO_TERMS_AGREE

「シグナルサービスの利用規約に同意」フラグ(読み込みのみ)。

シグナルコピー設定の string 型プロパティの列挙

ENUM_SIGNAL_INFO_STRING

ID

説明

SIGNAL_INFO_NAME

シグナル名(読み込みのみ)。

Originally posted 2019-07-29 22:46: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="">