ライブラリ: MT4Orders QuickReport - ページ 8

 
Edgar Akhmadeev #:

グラフィカル・ファイル・マネージャーはもちろんアマチュア向けだ。習慣の問題だ。私はかつて、テキストベースのNortonCommanderから、たくさんのプラグインが入ったFarCommanderに乗り換えたことがある。

DOSのNCアナログは喜んで使った。しかし、FARは理由もわからずすぐにひどい嫌悪感を引き起こした。私は熱意なくTCを試しましたが(パンプアップ版で、何も調整していません)、完璧に動作しました。

今でもNCのことはよく覚えているし、FARのことは戦慄とともに覚えている。私が会ったプログラマーはみんなFARしか使っていなかったが。

 
fxsaber #:

TotalCommanderでは、キーを押すだけでソースを比較できる。どんなエンコーディングでも、そこにある他のエンコーディングと簡単に比較できる。

そう、ローカルでも使っている。しかし、もっと便利なソフトウェアやサードパーティのサービスがある。どこでもエンコーディングが「どうでもいい」わけではない。

 

更新:いくつかの点を追加した。

1) TurnOverチャートが、買い、売りのP/Lとその金額のチャートに変わった。これにより、自分の戦略が強気なのか弱気なのかを理解することができます。収益性が低い場合は、取引方向の1つをオフにすることもできます。


2) 時間別、曜日別の損益グラフ。

MQテスターとは異なり、利益と損失はその発生時点ではなく、取引をエントリーした時間帯別に表示されます。これにより、ある時間帯のエントリーがほとんど利益にならないことを理解しやすくなり、単純にこの時間帯のエントリーをオフにすることができます。
さらに、売買のチャートも作成した。


これらのチャートのどれかをクリックすると、時間別、日別の正確な金額の表が表示される。また、入力から時間と日を無効にするためのチェックボックスもあります - チャートと表は再構築され、追加テストなしで結果を評価することができます。これはFxsaberのBestIntervalの アナログですが、より粗く(1時間のステップ)、自動化されていません。ステップを減らすために M10 インターバルが追加された。

これらのチャートでは、1時間足や1日足で、小さなテスト期間でも利益が出ることがある。上のチャートでは、上昇トレンドで5ヶ月間テストしている。つまり、買いは利益、売りは損失である。テスト期間を1年以上に延ばせば、双方向の大きなトレンドが何度か通過するとき、すべてが均等にまぶされ、通常は利益が出なくなるので、何かを切り替えて利益が大きく変わることはまずない。

同じストラテジーで1年間テストした結果は以下の通りである:(ほとんどすべてをオフにする必要がある)。

つまり、これが戦略の基本になる可能性は低い。

BestInterval
BestInterval
  • www.mql5.com
Вычисление лучшего интервала торговли.
 

コードを以下のように変更することをお勧めする。

// 無効 QuickReport(string file_name, bool is_open_file_in_browser=true, int virtual_number=0, bool hide_account_and_name=false, bool common_path=false, bool fileANSI=true){//
bool QuickReport(string file_name, bool is_open_file_in_browser=true, bool hide_account_and_name=false, bool common_path=false, bool fileANSI=true){//
// ....
    #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID="+(string)VIRTUAL::GetNumber(VIRTUAL::GetHandle()) + " " + VIRTUAL::GetID() +";");
    #else // #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID=0;");
    #endif // #ifdef __VIRTUAL__ #else
// ....
   return(f!=INVALID_HANDLE);
}


それから、ヘッダーの例。

 for (int v = 1 ; v <= VIRTUAL::Total(); v++)
   _VI(v, QuickReport("report_"+(string)v, true));
 
Forester #:

更新:いくつか追加しました。

CustomReportにレポートの種類を選択できるようにしました。バックテストやシグナルを 見るのに便利です。

Возможности анализа не только своей торговой истории.
Возможности анализа не только своей торговой истории.
  • 2022.07.11
  • www.mql5.com
Семейство терминалов MetaTrader позволяет штатно визуализировать историю торговли открытого счета, бэктестов и Сигналов (мониторинг огромного числа торговых счетов). Ниже пойдет речь об использовании
 
fxsaber #:

私はコードを以下のように変更することを提案する。

次にヘッダーの例。

私が行ったのは

    #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)virtual_number+" " + VIRTUAL::GetID() +"';");
    #else // #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)virtual_number+" ';");
    #endif // #ifdef __VIRTUAL__ #else

...
return(f!=INVALID_HANDLE);
}

古いバージョンとの互換性のために、関数呼び出しは変更せず、作業コードが壊れないようにした。つまり、仮想化の番号は以前と同じようにvirtual_number変数から取得し、関数はそれにVIRTUAL::GetID()を追加する。

 
fxsaber #:

私はコードを以下のように変更することを提案する。


次にヘッダーの例。

新しいバリアントを作成

bool QuickReport(string file_name, bool is_open_file_in_browser=true, int virtual_number=-1, bool hide_account_and_name=false, bool common_path=false, bool fileANSI=true){
    #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)(virtual_number<0?VIRTUAL::GetNumber(VIRTUAL::GetHandle()):virtual_number)+" " + VIRTUAL::GetID() +"';");
    #else // #ifdef __VIRTUAL__
      FileWrite(f,"VIRTUAL_ID='"+(string)(virtual_number<0?0:virtual_number)+" ';");
    #endif // #ifdef __VIRTUAL__ #else
...
return(f!=INVALID_HANDLE);
}

virtual_number - 仮想テスター番号(-1 - 自動的に決定、0 - MT5 テスター、>0 - 仮想テスター)

この例のように、デフォルトでは(virtual_number が指定されていない場合)、virtual_number は次のようになります。

QuickReport("report_"+(string)v, true))

では、virtual_number は自動的に定義されます。
virtual_number が指定され、かつ >=0 の場合、それが表示されます。

 
更新フィルターを追加しました。

フィルタリングを注文する。

さまざまなパラメータで注文を表示するためのフィルターが多数追加されました。


Buy、Sell、Buy limit、Sell limit、Buy stop、Sell stop、Balance - レポートから任意のタイプの注文を削除できます。
Symbols - 使用されている商品の全リストを表示し、必要な商品のみを選択できます。
Magic - 指定されたマジックの注文のみを表示することができます。
Min Lot, Max Lot - 必要なロットの注文を選択することができます。
Negative Slippage - 新規注文または決済注文とは別に、マイナスのスリッページのある注文を表示することができます。
Swap - スワップ > 0 の注文を表示します。0
Min LengthTime - 指定した時間 (日、時、分、秒) 以上の注文
Max LengthTime - 指定した時間未満の注文
Open Time - 指定した日時から注文が開始された時間
Close Time - 指定した日時から注文が終了した時間
TP、SL - TPまたはSLがトリガーされて終了した注文
Profits, Losses - 利益または損失の注文 (手数料とスワップは含まれない。最終利益がマイナスになる可能性がある)
Rejects - 未約定の注文

リセット] ボタンをクリックすると、フィルターを初期値にリセットし、フィルターなしですべての注文を表示できます。


約定済みの MT5 保留注文

この注文/ポジションの原因となった未決注文は、上の同じ行に濃い青色で表示されます。未決注文が発注された時間、発注から注文がトリガーされるまでの時間、および未決注文のタイプ (買い指値、売り指値、買い逆指値、売り逆指値) が表示されます。この情報はMT5ターミナルまたはテスターにのみ表示され、バーチャルテスターまたはMT4ではこの情報は提供されません。

 
Forester #:

約定したMT5の未決注文

この注文/ポジションの原因となった未決注文は、上の同じ行の紺色で表示されます。未決注文の設定時間、設定から注文がトリガーされるまでの時間、未決注文のタイプ(買い指値、売り指値、買い逆指値、売り逆指値)が指定されます。

この情報は表示しないようにしてください。何の役にも立ちません。特に、注文が約定前に変更された場合。
 
fxsaber #:
この情報を表示しないオプションをつけてください。何の役にも立ちません。特に注文が執行前に変更された場合は。
デフォルトでは非表示になっています。define ORDER_PARENT で有効になる。