ライブラリ: Report - ページ 3

 

取引、自動取引システム、取引戦略のテストに関するフォーラム

エキスパートアドバイザー:Quantum 103

fxsaber, 2017.09.26 09:55 pm.

MT5のリアルティックでのバックテスト結果

MT5の標準レポート

カスタムレポート(MT4スタイル)


標準レポートは読みにくいので、MT4スタイルのMT5バックテストレポートを添付します。

このEAのMT5バックテスト結果にスリッページと手数料が影響していることがよくわかります。

 
この奇跡はネッティング勘定で正しく機能しますか?
 
Aleksey Vyazmikin:
この奇跡はネット口座で正しく機能しますか?

イン/アウト取引がある場合はできません。これは MT4Orders の現在の制限であり、Report ではありません。

 
fxsaber:

イン/アウト取引が存在する場合は、ありません。これはMT4Ordersの現在の制限であり、Reportではない。

悲しいことです。この方向でMT4Ordersを開発する計画はあるのでしょうか、それともまだ計画にはないのでしょうか?

 
Aleksey Vyazmikin:

悲しい。MT4Ordersをこのような方向で開発する計画はあるのでしょうか、それともまだ計画にはないのでしょうか?

この制限は取引ではなく、履歴にのみ関係しています。約束はできない。

 

取引、自動取引システム、取引戦略のテストに関するフォーラム

エキスパートアドバイザー:Quantum 103

fxsaber, 2017.09.26 09:55 pm.


標準レポートが読みにくいので、MT4スタイルのMT5-バックテストレポートを添付しました。トレイラーで両方ご覧ください。

このEAのMT5バックテスト結果にスリッページと手数料が影響しているのがよくわかると思います。


KBに1年以上古いバージョンを入れていたのは不手際でした。更新しました。


MT4(特にMT5-Hedge)でこのスクリプトを実行し、Report.htmを見ることをお勧めします。

#include <MT4Orders.mqh> //https://www.mql5.com/ja/code/16006
#include <Report.mqh>

void OnStart()
{
  REPORT::ToFile("Report.htm");
}


そしてReport.htmを見てください。理由は一目瞭然だろう。

 
数字の説明

取引、自動取引システム、取引戦略のテストに関するフォーラム。

ライブラリ: バーチャル

fxsaber, 2018.11.13 16:01

1663332018.11.09 21:47:21.837買う0.10 (22 672.50)EURUSD1.133661.133592018.11.09 22:00:00.1571.13359-0.40-0.70tp 1.13359-700:12:38.320
1673352018.11.09 22:00:00.157売る0.10 (22 671.00)EURUSD1.133591.133512018.11.09 22:00:09.2021.13351-0.40+0.80tp 1.13351+800:00:09.045
1683372018.11.09 22:00:09.202買う0.10 (22 670.00)ユーロドル1.133511.133492018.11.09 22:05:14.3341.13349-0.40-0.20tp 1.13349-200:05:05.132
1693392018.11.09 22:05:14.334売る0.10 (22 668.50)ユーロドル1.133491.133382018.11.09 22:06:33.6221.13336-0.40+1.30 (+1.10)tp 1.13338+13 (+11)0, +200:01:19.288
1703412018.11.09 22:06:33.622買う0.10 (22 666.70)ユーロドル1.133361.133292018.11.09 22:29:56.8061.13331-0.40-0.50 (-0.90)tp 1.13329-5 (-9)+2, +200:23:23.184
1713432018.11.09 22:29:56.806売る0.10 (22 664.60)EURUSD1.133311.133162018.11.09 22:40:39.0051.13315-0.40+1.60 (+1.30)tp 1.13316+16 (+13)+2, +100:10:42.199
1723452018.11.09 22:40:39.005買う0.10 (22 665.90)ユーロドル1.133151.133422018.11.09 22:56:02.9151.13344-0.40+2.90 (+2.60)tp 1.13342+29 (+26)+1, +200:15:23.910
1733472018.11.09 22:56:02.915売る0.10 (22 670.90)EURUSD1.133441.133662018.11.09 23:50:03.2451.13365-0.40-2.10 (-2.40)tp 1.13366-21 (-24)+2, +100:54:00.330
1743492018.11.09 23:50:03.245買う0.10 (22 671.40)ユーロドル1.133652018.11.09 23:54:57.4461.13349-0.40-1.60 (-1.70)テスト終了-16 (-17)+1, 000:04:54.201
1753492018.11.09 23:51:11.960売り指値0.10EURUSD1.133771.133612018.11.09 23:54:57.4461.1334900:03:45.486
17.40 (3 947 682.20)-69.600.00-48.60 (-73.50)-486 (-735)+249 (+24.90)


ハイライトされた「+2、+1」は、始値で+2 ピップスライド、終値で+1 ピップスライドがあったことを示す。同じ行の強調表示された「-21 (-24)」は、スライディングにより利益が-21 であることを示しますが、スライディングがなければ-24 だったはずです。つまり、MT5-testerは3ピップスしか与えていない。ハイライトされた「-2.10 (-2.40)」は、スライディングにより口座通貨の利益が-2.1 であったことを示していますが、スライディングがなければ-2.4 であったはずです。


最後に、一番下の赤い線は、利益が-485 ピップスであることを示していますが、これはスライディングをした場合です。一方、これがなければ-735 pipsです。レポートを見ると、合計スリップは+249 pipsです。

 
// このクロスプラットフォーム・スクリプトは、シンボル、メジャー、時間、その他のパラメー タでフィルタリングした取引履歴レポートを作成する。

// MQL4&5コード
#property strict
#property script_show_inputs

input string inFileName = "Report.htm"; // ファイル名
input bool inSymbolFilter = true;       // true - 現在のシンボル、false - すべてのシンボル
input long inMagicFilter = -1;          // MagicFilter (ネガティブ - すべての魔法)
input bool inPending = false;           // 保留 (真 - 含む)
input bool inBalance = false;           // バランス (真 - 含む)
input datetime inStartTime = 0;         // OrderCloseTime >= この時間
input datetime inEndTime = INT_MAX;     // OrderCloseTime <= この時間

input bool inOpenBrowser = true; // レポートでブラウザを開く - DLL!

#import "shell32.dll"
  int ShellExecuteW( int hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, int nShowCmd );
#import

#ifdef __MQL5__
  #include <MT4Orders.mqh> //https://www.mql5.com/ja/code/16006

  #define  BASEPATH (TerminalInfoString(TERMINAL_PATH) + "\\MQL5\\Files\\")
#else // __MQL5__
  #define  BASEPATH (TerminalInfoString(TERMINAL_PATH) + "\\MQL4\\Files\\")
#endif // __MQL5__

#include <Report.mqh> //https://www.mql5.com/ja/code/18801

void OnStart()
{
  REPORT_FILTER Filter;

  Filter.Symb = inSymbolFilter ? _Symbol : NULL;
  Filter.Magic = inMagicFilter < 0 ? -1 : inMagicFilter;
  Filter.Pending = inPending;
  Filter.Balance = inBalance;
  Filter.StartTime = inStartTime;
  Filter.EndTime = inEndTime;

  if (REPORT::ToFile(inFileName, Filter) && inOpenBrowser && MQLInfoInteger(MQL_DLLS_ALLOWED))
    ShellExecuteW(0, "Open", BASEPATH + inFileName, NULL, NULL, 3); // https://www.mql5.com/ru/forum/23223#comment_1741093
}
今は便利だ。
ファイル:
 

ちょっと思いついたのですが、1日に1回(オンデマンドで)レポートをダンプできるようにし、異なる口座の情報を含むこれらのレポートを1つに処理するスクリプトを作ったらどうでしょうか?

このタスクは、同じ証券会社を含む異なる口座に対するアドバイザーの作業結果を分析したり、一部の証券会社による履歴削除の問題を解決 したりするのに適しています。

 
Aleksey Vyazmikin:

ちょっと思いついたのですが、1日に1回(オンデマンドで)レポートを割引できるようにしてはどうでしょうか。また、これらのレポートを処理するスクリプトを作成し、異なるアカウントの情報を1つにまとめてはどうでしょうか。

このタスクは、同じ魔術師を含む異なる口座でのEA作業の結果を分析したり、一部の証券会社による履歴削除の問題を解決したりするのに関連しています。

上記のスクリプトは***のような分析を行います。ただ、すべてが非常に速く、明確です。もちろん、これは本物だ。私自身、テスターとバーチャルでbiblaを使っています。

スリッページに関する情報(MT5-Hedgeのみ) - 類似のものを見たことがありません。おそらくネッティング用に作るだろう。でも、この作業はReportではなく、別のバイブルです。