無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ライブラリ

HistoryPositionInfo バージョン2 - MetaTrader 5のためのライブラリ

ビュー:
919
評価:
(31)
パブリッシュ済み:
2017.09.11 09:16
\MQL5\Include\HistorySelect_\
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

バージョン 1.0: HistoryPositionInfo

バージョン2の新関数:

GetProfitInPoints 関数は引き続き使用できますが、新しい GetProfit 関数を使用することをお勧めします。

   bool              GetProfit(double &profit_in_points,
                               double &commission,
                               double &swap,
                               double &profit_in_money);

GetProfit 関数は、ポイント内の利益に加えて、ポジションに関する次の情報を返します: コミッション、スワップと利益。

CHistoryPositionInfo クラスは、トレード履歴に基づいて、ポイント、コミッション、スワップ、および利益におけるポジションの利益を得るために設計されています。

クラスの説明

CHistoryPositionInfo クラスでは、トレード履歴に基づいて、ポイント、コミッション、スワップ、および利益におけるポジションの利益を得ることができます。 

宣言

class CHistoryPositionInfo : public CArrayObj

ヘッダ

#include <HistorySelect_\HistoryPositionInfo.mqh>

グループ別のクラスメソッド

初期化
Initポジション ID を使用した初期化
計算結果へのアクセス  
GetProfitInPoints は旧式のメソッドです。 GetProfit を使用することをお勧めしますポイント単位でのポジションの利益の取得
GetProfitポイントのポジションの利益、コミッション、スワップおよび利益
パラメータの設定 
LogErrorsエラーのログ記録を有効/無効にする
PrintDeals (const bool 値) Printモードを有効/無効にする
Printトレード 
PrintDeals(void)ポジションの取引を出力する

CHistoryPositionInfo クラスの使用例: 5 日間の取引履歴を要求し、見つかったすべてのポジション識別子の配列を形成し、次の情報をループで出力します。ポイント、コミッション、スワップ、および取引履歴に基づいた利益。

//+------------------------------------------------------------------+
//                                     TestHistoryPositionInfo .mq5 |
//|                              Copyright © 2017, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "2.000"
#propertyscript_show_inputs
//---
input datetime from_date   = __DATE__-60*60*24*5;  //この日付から (現在の時刻-5 日)
input datetime to_date     =__DATE__+60*60*24;     //この日付まで (現在の時刻 + 1 日)
input bool     log_errors  = true;                 //ログエラー
input bool     print_deals = true;                 //情報をPrintする
#include< HistorySelect_\HistoryPositionInfo.mqh >
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   long arr_tickets[];
//---トレードヒストリーをリクエスト 
   HistorySelect(from_date,to_date);
//---
   uint     total=HistoryDealsTotal();
   ulong    ticket=0;
   long     position_id=0;
//---すべての情報 
   for(uint i=0;i<total;i++)
     {
      //---チケットをゲット 
      if((ticket=HistoryDealGetTicket(i))>0)
        {
         //---取り引きの特性 
         position_id=HistoryDealGetInteger(ticket,DEAL_POSITION_ID);

         int arr_size=ArraySize(arr_tickets);
         bool search=false;
         for(int ii=0;ii<arr_size;ii++)
           {
            if(arr_tickets[ii]==position_id)
              {
               search=true;
               continue;
              }
           }
         if(!search)
           {
            ArrayResize(arr_tickets,arr_size+1,100);
            arr_tickets[arr_size]=position_id;
           }
        }
     }
//---
   int arr_size=ArraySize(arr_tickets);
   for(int i=0;i<arr_size;i++)
     {
      Print("");
      Print("Search deals with POSITION_IDENTIFIER ",IntegerToString(arr_tickets[i]));

      CHistoryPositionInfo HistoryPositionInfo;
      //---init ポジションの識別子
      HistoryPositionInfo.Init(arr_tickets[i]);
      //---los エラー
      HistoryPositionInfo.LogErrors(log_errors);
      //---Printの扱い
      HistoryPositionInfo.PrintDeals(print_deals);
      //---
      double profit_in_points=0.0;
      double commission=0.0;
      double swap=0.0;
      double profit=0.0;

      if(HistoryPositionInfo.GetProfit(profit_in_points,commission,swap,profit))
         Print("Profit in points ",DoubleToString(profit_in_points,1),
               ", commission ",DoubleToString(commission,2),
               ", swap ",DoubleToString(swap,2),
               ", profit ",DoubleToString(profit,2));
     }
  }
//+------------------------------------------------------------------+




MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/18721

Get_Rich_or_Die_Trying_GBP Get_Rich_or_Die_Trying_GBP

PERIOD_M1 (M1) のトレード。 強気のロウソクと弱気のロウソクを計算します。

Trailing_Profit Trailing_Profit

指定した利益率で開いているすべてのポジションを閉じます。

RSI トレンドインジケーター RSI トレンドインジケーター

RSI の変更に基づく単純なトレンドインジケーター。

MA ジグザグトレンド MA ジグザグトレンド

SMA インジケーターの極値ポイントに基づく別のジグザグトレンドインジケーター。