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

 
fxsaber:

ネッティングで動いていても驚かない。クローズバイはそこでは機能しない。

ヘッジでやってくれ。MT4-advisorはもちろんこのモードで動かすことは想定されていないから、ネッティングのためにわざわざ使うことはなかった。

ああ、ヘッジのようなものだ。それとも、MT5のどこか別の場所で設定されているのか?

口座種別

 
Mikola_2:

ヘッジだと思います。それとも、MT5の他のどこかでまだカスタマイズ可能なのでしょうか?

私は数ヶ月間、通常のMT5のシンボルでTesterを実行していません。多分、私は何かを考慮していない。

取引サーバーの名前を書いてください。

 
fxsaber:

MT5のシンボルでテスターを実行するのは数ヶ月ぶりです。おそらく、何かを考慮に入れていなかったのでしょう。

取引サーバーの名前を書いてください。

AlpariEvrasia-MT5-デモ
 
Mikola_2:
AlpariEvrasia-MT5-デモ

サーバーがCloseByをサポートしていない

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

リアル口座でPositionCloseByが機能しない

fxsaber, 2018.07.24 16:42

bool IsCloseBy( const string Symb )
{
  return(SymbolInfoInteger(Symb, SYMBOL_ORDER_MODE) & SYMBOL_ORDER_CLOSEBY);
}


ZY Sync.mqhを更新しました。CloseByは使われなくなりました。レポートやチャートで履歴を分析しやすくなりました。レポートありがとうございます!

Testerチャートでの取引と投げ間隔はこんな感じです。

 

MQデモ・サーバーでは、初期値10Kで常に-1127の損失。

FxChoiceではマシでした。


このExpert Advisorでは違いは見られませんでしたが、バグを見つけました。)

ライブラリを接続すると、VirtualではOrderSendの行をコンパイルできません。


嘘です、結果は表示されています :)

2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   Amount of Delete Intervals = 0
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   00:00:00 - 23:59:59 : Profit = 2637.54, Total = 2641 (30.48%), PF = 1.11, Mean = 1.00, DD = 14834.15, RF = 0.18
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   SUMMARY: 00:00:00 - 23:59:59 : Profit = 2637.54, Total = 2641 (30.48%), PF = 1.11, Mean = 1.00, DD = 14834.15, RF = 0.18
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   Amount of Delete Intervals = 1
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   15:34:37 - 19:55:39 : Profit = 18700.06, Total = 827 (32.77%), PF = 9.58, Mean = 22.61, DD = 632.22, RF = 29.58
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   SUMMARY: 00:00:00 - 23:59:59 : Profit = 18700.06, Total = 827 (32.77%), PF = 9.58, Mean = 22.61, DD = 632.22, RF = 29.58


ファイル:
 
fxsaber:

サーバーはCloseByをサポートしていません。

ZYがSync.mqhを更新した。CloseByは使用されなくなった。レポートやチャートで履歴を分析しやすくなった。ご報告ありがとうございました!

Testerチャートでのトレードとスローインターバルはこのように表示されます。

うまくいった! :)))) あとは数字を一致させるために調整するだけだ。

これが予備的な実行です:

アクション = false

Action = trueを指定したものです:

アクション = true

テスターの統計です:

テスター1 テスター2

 
Mikola_2:

うまくいった! :)))) ただ、数字を一致させるためにいくつか調整する必要がある。

Action = falseの場合、OnTesterは計算されたベストインターバルに対応する利益を表示します。

Action = trueの場合(このモードはシングルパスでのみ意味があります)OnTesterはAction = falseに対応する最終残高を表示します;


すなわち、Action がオンの時、OnTester は最良間隔が存在しないかのような結果を表示します。このように、最終残高とOnTester結果の2つの行のデータを比較することで、結果が何パーセント改善されたかを理解することができます。


Action = true の時の NULL SUMMARY については。これはエラーではありません。Action = trueモードが実行されていることを理解できるようにしたのです。別の方法で報告し、SUMMARYを正しく記入する必要があるでしょう。ただ、このデータはすべてテスターの レポートにすでにあるので、ほとんど意味がありません。

 
...:

MQデモ・サーバーでは、初期値10Kで常に-1127の損失。

FxChoiceの方が良かった。

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

ライブラリ: BestInterval

fxsaber, 2018.10.16 23:51

通常のMT5のシンボルでは、数ヶ月間Testerを実行していません。


このEAに違いは見られませんでしたが、バグが見つかりました :)

重大なエラーを再現するためのデータが必要です。

ライブラリを接続する際、VirtualはOrderSendの行をコンパイルできない。

Virtualの説明には、MT4スタイルのコードでのみ動作すると書かれています。あなたのEAはMT5スタイルです。したがって、Virtualではコンパイルできません。また、Virtualの取引環境を使用しているため、Action = trueも機能しません。しかし、Action = falseは動作します。そのため、MT5スタイルの場合は、以下の行だけを追加する必要があります。

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

#define  BESTINTERVAL_ONTESTER
#include <fxsaber\BestInterval\BestInterval.mqh>


私はすべてをMT4スタイルで書いている。その方が便利だし、万能だからだ。

 
fxsaber:

Action = falseの場合、OnTesterは計算された最良の間隔に対応する利益を表示する。

Action = trueの場合(このモードはシングルパスでのみ意味を持つ)OnTesterはAction = falseに対応する最終残高を表示する;

すなわち、Action がオンの時、OnTester は、最良区間が存在しないかのような結果を表示します。したがって、2つの行のデータを比較することにより、結果が何パーセント改善されたかを理解することができます:最終残高とOnTester結果。

Action = trueの時のNULL SUMMARYに関しては、これはエラーではありません。これはエラーではありません。Action = trueモードが実行されていることを理解できるようにしたのです。別の方法で報告し、SUMMARYを正しく記入する必要があるでしょう。ただ、このデータはすべてすでにテスターのレポートにあるので、ほとんど意味がありません。

いや... :)

見てください、4桁ありますよ:

アクション = false: 最終残高 9080.02

オンテスター 11895

Action = true: 最終残高 13271.09.

OnTester 12931.

どれも一致しない。OnTesterがどこかの合計を誤って要約しているようだ。

そして、何かが何かと一致しなければならない。そうでなければ、すべてが正しく計算されていることを確認する方法がない... :)

 
Mikola_2:

いや... :)

ほら、4桁あるでしょ:

アクション = false: 最終残高 9080.02

オンテスター 11895

アクション = true: 最終残高 13271.09

オンテスター12931

どの項目も一致しない。OnTesterがどこかの合計を誤って要約しているようだ。

そして、何かが何かに一致しなければならない。そうでなければ、すべてが正しく計算されていることをどうやって確認できるのだろうか... :)

説明するのはとても簡単です。ハイライトされた数字は、仮想取引環境における最終的な残高です。その利益はTickValue = 1で計算されます。そしてMT5-Testerは、ティックごとにTickValueを変更します。この目的のために、特に、他のペアからデータを引き出します。さらに、VirtualはTickValueと同様、手数料とスワップをカウントしません。

なぜなら、TickValueと同様、実際には必要ないからだ。スワップもゼロだ。決済通貨はすべて入金 通貨と同じです。そうすると、完全に一致することがわかります。

一般的に、ハイライトされたOnTesterは、TickValue = 1、手数料 = Swap = 0で計算された、最良のインターバルを使用しないTS利益です。そのため、1ロットの取引で常にOnTester全体が得られることがわかります。