機能
AccountInfoDouble関数は、口座情報のプロパティのうち、double型のデータに関する値を返します
<書式>
double AccountInfoDouble( ENUM_ACCOUNT_INFO_DOUBLE property_id // プロパティ識別子 ); |
引数
ENUM_ACCOUNT_INFO_DOUBLEで定められたプロパティ識別子を引数に指定します。
※Enum列挙型については↓の記事をご覧ください。
戻り値
サンプルコード
void OnTick()
{
//口座残高情報を取得
double accountBalance=AccountInfoDouble(ACCOUNT_BALANCE);
//有効証拠金情報を取得
double accountEquity=AccountInfoDouble(ACCOUNT_EQUITY);
//現在値(Ask)取得と正規化
double AskPrice=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
//現在値(Bid)取得と正規化
double BidPrice=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
if(PositionsTotal()<1 && OrdersTotal()<1)//ポジションも待機注文もなければ
{
//現在値より高い価格での買い注文を出す
trade.BuyStop(0.01,AskPrice+100*_Point,_Symbol,0,AskPrice+200*_Point,
ORDER_TIME_GTC);//←注文の有効期限は指定しない
//現在値より安い価格での売り注文を出す
trade.SellStop(0.01,BidPrice-100*_Point,_Symbol,0,BidPrice-200*_Point,
ORDER_TIME_GTC);//←注文の有効期限は指定しない
}//if(PositionsTotal()<1 && OrdersTotal()<1)
//口座残高と有効証拠金が同じでないときは、待機注文を取り下げる
if(accountBalance!=accountEquity)CancelOrder();
}
※AccountInfoDouble関数同じような役割を担い、アカウントの整数情報を取得するAccountInfoInteger関数については↓の記事をご参照ください。
コメント