私たちのファンページに参加してください
CTradeStatistics - MetaTrader 5のためのライブラリ
- ビュー:
- 905
- 評価:
- パブリッシュ済み:
- 2016.07.08 10:49
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
CTradeStatisticsクラスはすべてのENUM_STATISTICS列挙パラメータ計算を含みます。
このクラスでは、株式ドローダウンを除いた全てのパラメータは取引履歴に基づいて算出することができます。
このクラスの主な目的はTesterStatistics()関数の制限を除いて、ストラテジーテスターの外側だけでなく、テスト中にいつでも必要な統計データを取得できるようにすることです。
テスタ外での使用例
パラメータはすべてCTradeStatistics::Calculate()関数を呼び出して計算されます。この関数の実行が成功した後、結果は、多くのメソッドの呼び出しを介して利用可能であり、その名前は統計パラメータの名前に類似しています。
下記はコードの例です。
CTradeStatistics m_stat; if(m_stat.Calculate()) PrintFormat("LR Correlation: %.2f",m_stat.LRCorrelation()); else Print(m_stat.GetLastErrorString());
結果
2012.09.13 08:52:19 TradeStatistics (EURUSD,H1) LR Correlation: 0.97
CTradeStatistics::PrintStatistics() 関数はパラメータをログに出力するのに使われます。
if(m_stat.Calculate()) PrintStatistics();
簡単なクラスの操作例はTradeStatistics.mq5スクリプトで見られます。
TradeStatisticsPanelパネルは結果のより良い視覚化のために設計されています。
テスターでの使用例
エクイティドローダウンを正確に計算するには CTradeStatistics::CalculateEquityDD() 関数が使われるべきです。
下記はコードの例です。
#include <CTradeStatistics.mqh> CTradeStatistics m_stat; //+------------------------------------------------------------------+ //| エキスパート初期化関数 | //+------------------------------------------------------------------+ int OnInit() { m_stat.CalculateEquityDD(CALC_INIT); return(0); } //+------------------------------------------------------------------+ //| エキスパート初期化解除関数 | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { m_stat.CalculateEquityDD(CALC_DEINIT); if(m_stat.Calculate())m_stat.PrintStatistics(); } //+------------------------------------------------------------------+ //| エキスパートティック関数 | //+------------------------------------------------------------------+ void OnTick() { m_stat.CalculateEquityDD(CALC_TICK); }
統計的指標の信頼性のある値は検証の終わりのみではなくプログラム内の任意の時点でOnTester()またはOnDeinit()イベントを使用して取得できることには留意すべきです。計算は下の例でみられるようにOnTrade()イベントで更新できます。
void OnTrade() { //--- 同秒内での繰り返したリクエストを阻止する static datetime time_on_trade; if(time_on_trade==TimeTradeServer())return; time_on_trade=TimeTradeServer(); //--- 統計を更新する if(!m_stat.Calculate())Print(m_stat.GetLastErrorString()); }
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/1081
決済逆指値と決済指値を使用した3移動平均とエグジットに基づいたエキスパートアドバイザー。動向でエントリを設定します。
up3x1決済逆指値と決済指値を使用した3移動平均とエグジットに基づいたエキスパートアドバイザー。これは、動向反転にトよるレンドの終了時に市場参入を設定します。
この指標は、シニア時間枠(例えば、1日の時間枠)の始値を示し、始値に線のインデントを描画して範囲を形成します。
取引シグナルモジュール:シンプルなMAクロスオーバーシグナルエキスパートアドバイザーウィザードのためのシンプルなMAクロスオーバーシグナリング