OrderComment()関数は、選択した注文に付したコメントを取得するために使用します。
OrderComment()関数は、以下のように定義されています。
string OrderComment();
OrderComment()関数には引数がないので、()内には何も記述しません。
戻り値
選択した注文に付したコメントが返されます。
注意点
OrderComment()関数を使用するためには、あらかじめOrderSelect()関数で注文を選択していなければなりません。
- OrderSelect()関数の詳細については「こちら」を参照してください。
具体例
複数のロジック(「Logic_1」と「Logic_2」とします。)を搭載したEAにおいて、それぞれのロジックごとにエントリーと決済を分ける場合は、以下のように記述します。
#property strict
input int Magic = 2222; //マジックナンバー
input double Lots = 0.1; //取引ロット数
input string Comments_1 = "Logic_1"; //「Logic_1」のコメント
input string Comments_2 = "Logic_2"; //「Logic_2」のコメント
void OnTick()
{
……
//決済
for(int i = OrdersTotal() - 1; i >= 0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true)
{
if(OrderComment() == Commnents_1)
{
if(Logic_1の決済条件)
{
bool Closed = OrderClose(OrderTicket(),OrderLots(),
OrderClosePrice(),Magenta);
}
}
else if(OrderComment() == Comments_2)
{
if(Logic_2の決済条件)
{
bool Closed = OrderClose(OrderTicket(),OrderLots(),
OrderClosePrice(),Aqua);
}
}
}
}
//エントリー
if(Logic_1のエントリー条件)
{
int Ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,Comments_1,Magic,0,Magenta);
}
if(Logic_2のエントリー条件)
{
int Ticket = OrderSend(Symbol(),OP_SELL,Lots,Bid,10,0,0,Comments_1,Magic,0,Aqua);
}
}
- for()文の詳細については「こちら」を参照してください。
- OrdersTotal()関数の詳細については「こちら」を参照してください。
- if()文の詳細については「こちら」を参照してください。
- OrderType()関数の詳細については「こちら」を参照してください。
- OrderClose()関数の詳細については「こちら」を参照してください。
- OrderTiclet()関数の詳細については「こちら」を参照してください。
- OrderLots()関数の詳細については「こちら」を参照してください。
- OrderClosePrice()関数の詳細については「こちら」を参照してください。
- OrderSend()関数の詳細については「こちら」を参照してください。
- Symbol()関数の詳細については「こちら」を参照してください。
- Askの詳細については「こちら」を参照してください。
- Bidの詳細については「こちら」を参照してください。