【MQL5入門】AccountInfoDouble関数について

MQL5リファレンス

スポンサーリンク
スポンサーリンク

機能

AccountInfoDouble関数は、口座情報のプロパティのうち、double型のデータに関する値を返します

<書式>

double  AccountInfoDouble(
  ENUM_ACCOUNT_INFO_DOUBLE  property_id      // プロパティ識別子
  );

引数

ENUM_ACCOUNT_INFO_DOUBLEで定められたプロパティ識別子引数に指定します。

Enum列挙型については↓の記事をご覧ください。

MQL5 EA講座 第21回「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関数については↓の記事をご参照ください。

コメント

タイトルとURLをコピーしました