テスターからのロングトレードのコピーから身を守る方法 - ページ 6

 
Alexey Viktorov:

...テスト終了のちょうど1ヶ月前。そして、コンピュータの時間をどこに移動しても...。の場合、テスト終了の1ヶ月前に なっても結果は変わりません。

しかし、テストの終了日を知る術がないのであれば、その発想は行き止まりとなる。

はい、もう一つの方法は、テストの正確な終了日を知ることです。この場合、この日付はどうすればわかるのでしょうか?
 
George Merts:

まあ、なんというか...。かつてはシグナルの転売という事態もありましたが、今はこのTSを使ってPAMMに取り組むお客様もいらっしゃいます。

この取引システムは、非常に「超超利益」ではないが、その安定性は非常に高いです。 そして主なもの - テスターから取引をコピーする 機能は、その作者には便利ではありません。そして、プログラマーである私がこの問題を解決する方法を考えるべきだと提案しているのです。

まあ、純粋に技術的な問題であることは別として。しかし、お客様からすればナンセンスであることに変わりはないでしょう。

 
George Merts:
はい、もう一つの方法は、テストの正確な終了日を知ることです。この場合もOKなのですが、この日付はどうやって知るのでしょうか?

テストの終了日は未来に置くことができ、それはロールしない。

このオプションを試してみてください:最初の実行は何もせず、最後のティックの日付を記憶させるだけです。
2本目は、希望する日付(1ヶ月を引いた値を記憶)までの取引を行う必要があります。最後の刻みの日付をどこに記憶させるか(どのように暗号化するか)は、テクニックの問題である。
唯一不便なのは(今のところ一番少ないのですが)、テストを2回実行しなければならないことです ;)

 
もしそう真剣なら、どこかでインターネットから時間を取得することができます。
 
George Merts:

ディミトリ 本番の日付より前にテスターで刻みの処理を止めることが課題です。そのためには、この本当の日付を知っておく必要があります。テスターからは、上に書いたように、ファイル操作によってのみ見つけることができます。しかし、ずる賢いユーザーがコンピュータの時間を進めた場合、ファイル操作でも実時間ではなく、進められた時間が表示されます。

実際のところ、問題は、EAがタイムフレームM5以降で動作している場合(日足で特に問題) -戦略テスターで 実行し、最後のアクションを読み、別の端末に転送し、デモ版のみを使用して、EAを購入しないことが可能になることである。

最後のNバーでのテストを人為的に禁止する。
 
Dmitry Fedoseev:
そんなに真剣なら、どこかでインターネットから時間を取得すればいいのでは?
テスターでWebRequestが 動作しないとのことですが・・・。
 
Vitalie Postolache:
このスレッドの著者は、誰かがテスト結果を 再現して利益を上げることができた場合、少なくとも1つの例を挙げることができるだろうか?テスターにデモアドバイサーだけ入れて、他は何も入れない状態?
やろうと思えば、スキャルパー戦略を真似ることはできる。2-3秒ごとにテスターからの信号を追跡することを妨げるものは何ですか?
 
Dmitiry Ananiev:
やろうと思えば、こんな風にスキャルパー戦略を真似ることもできるのです。2-3秒ごとにテスターからの信号を追跡することを妨げるものは何ですか?
テスターである以上、アプリオリに過去に動作し、どんなに頑張っても同じ条件、同じ時間に取引を繰り返すことはできません。しかし、それがピップスではなく、長期的であれば、本当に誰かがそうすることを考えることができ、とにかくほとんど意味がありませんが、それは戦略を把握し、繰り返す方が簡単です。
 
Игорь Герасько:
テスターでWebRequestが動かないらしい...。
今、試してみた。効くんです。MT4でテスター、エキスパートで試しました。
 
George Merts:
...

この問題は、一見してわかるほど単純ではありません。次のように提案することができます(思考を追う)。

  1. Expert Advisorは、現在の日付を 書き込んでコンパイルされます。
  2. ユーザーはExpert Advisorを受け取り、Strategy Testerで 実行する。
  3. 最初の実行では、Expert AdvisorはStrategy Testerで指定された日付(またはその1ヶ月前、条件は作者の裁量)まで取引する。
  4. その中で指定された日付以降は、ストラテジーテスターに最後に受信した気配値の時刻を 記憶させることで気配値を受信し続けるが、取引動作は一切行わない。
  5. テスト終了時には、最後に保存した時刻を専用ファイルに保存します。
  6. 記録自体は暗号化されているため、復号化する際に将来の 日付を示すような内容の変更はできない。
  7. ストラテジーテスターでの次の実行時に、Expert Advisorはこのファイルを読み、その内容を解読し、少なくともこのファイルで指定された日付まですでに実行されていることを認識します。
  8. そして、2回目以降の実行時には、ファイルで指定された日から1ヶ月を引いた日まで取引を継続する。
  9. ストラテジーテスターやリアル口座で新しい日付を受信すると、自動的に新しい履歴の後に移動し続け、1ヶ月の距離を保つようになります。

ユーザーから見ると、次のようになります。初回は、実行中に、何らかの理由で選択した最適化期間の終了まで取引されません。しかし、2本目以降は、そのタイムラグが短くなり、1ヶ月程度に対応するようになります。

この場合、キーを見つけてファイルを完全に復号化するか、Expert Advisorを逆コンパイルすることによってのみ、保護を解除することができます。今日の技術やMQのプログラム保護の質を考えると、これは事実上不可能なことです。ユーザーが暗号化ファイルを削除することを決定した場合、Expert Advisorはコンパイル時に古い保護日付を入れた状態で新たに作成し、ユーザーは現在の時点でも取引を行うことができません。

いいのは、このような方法では、ユーザーの利便性がわずかに損なわれるだけだということです。EAを再実行すると、長すぎる遅延は完全に解消されます。同時に、この種の保護機能は外部DLLを必要としないため、マーケットプレイスでの配布が可能です。例えば、ある日付までしか取引できない無料版を作ることができます。