無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
私たちのファンページに参加してください
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
HistoryPositionInfo バージョン2 - MetaTrader 5のためのライブラリ
- ビュー:
- 950
- 評価:
- パブリッシュ済み:
- 2017.09.11 09:16
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
バージョン 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
PERIOD_M1 (M1) のトレード。 強気のロウソクと弱気のロウソクを計算します。
Trailing_Profit指定した利益率で開いているすべてのポジションを閉じます。