チケット番号とは?
MQL4におけるチケット番号とは、各注文ごとにランダムに割り当てられる番号で、MT4プラットフォーム上で注文を識別するために使用されます。
この番号は、ブローカー(証券会社)によって割り当てられ、トレードタブや口座履歴タブの左端に表示されます。ちなみに同じチケット番号は割り当てられない為、8桁ほどの番号になっていることがほとんどです。
チケット番号の使い方
チケット番号は、注文の管理や識別に非常に重要です。例えば、OrderSelect()
関数を使用して特定の注文を選択する際に、チケット番号を利用します。
OrderSelect()
関数の第二引数をSELECT_BY_TICKET
とすることで、チケット番号を使用して注文を選択できます。
また、部分決済や待機注文のエントリーが行われると、チケット番号が変わることがあります。これは、部分決済後に残ったポジションが新しいチケット番号を持つためです。
このような場合、新しいチケット番号を取得するための特別な処理が必要になることがあります。
OrderSelect()
を使用したチケット番号の使用例(サンプルソース)
以下のサンプルコードは、OrderSelect()
関数を使用して特定のチケット番号の注文を選択し、その詳細を表示する方法を示しています。
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
// 調べたいチケット番号を指定
int ticketNumber = 123456; // 例としてのチケット番号
// チケット番号を使用して注文を選択
if(OrderSelect(ticketNumber, SELECT_BY_TICKET))
{
// 注文が見つかった場合、その詳細を出力
Print("Order found!");
Print("Ticket Number: ", OrderTicket());
Print("Order Type: ", OrderType());
Print("Order Symbol: ", OrderSymbol());
Print("Order Lots: ", OrderLots());
Print("Order Open Price: ", OrderOpenPrice());
Print("Order Stop Loss: ", OrderStopLoss());
Print("Order Take Profit: ", OrderTakeProfit());
}
else
{
// 注文が見つからなかった場合のエラーメッセージ
Print("Order with ticket number ", ticketNumber, " not found.");
}
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
コードの説明
OrderSelect(ticketNumber, SELECT_BY_TICKET)
: 指定されたチケット番号で注文を選択します。この関数は、選択に成功するとtrue
を返し、失敗するとfalse
を返します。OrderTicket()
: 現在選択されている注文のチケット番号を取得します。OrderType()
: 注文のタイプ(例:買い、売り、指値注文など)を取得します。OrderSymbol()
: 注文の通貨ペアを取得します。OrderLots()
: 注文のロット数を取得します。OrderOpenPrice()
: 注文のオープン価格を取得します。OrderStopLoss()
: ストップロスの価格を取得します。OrderTakeProfit()
: テイクプロフィットの価格を取得します。
このコードは、指定されたチケット番号の注文を探し、その注文が存在する場合は詳細情報をコンソールに出力します。実際の使用では、ticketNumber
を調べたい実際のチケット番号に置き換えてください。
終わりに
チケット番号は、取引の追跡や管理において非常に重要な役割を果たしますが、ユーザーが任意で設定するマジックナンバーとは異なり、システムによって自動的に割り当てられる点が特徴です。