EAのご提案(負けから利益へ) - ページ 4

 

2年後のテストでは、1ロットに変更、フレーム240に変更、両方のパラメータが同期して作られた=60のように見えます。 (そして、M60以外のロジックは全て外しています)。

テスト中のバー数 13544
モデル化されたティック数 5961890
モデリング品質 90.00
チャート不一致エラー 0
初期預金 10000.00
合計純利益 30459.02
売上総利益 99716.99
総損失 -69257.97
利益係数 1.44
期待ペイオフ 152.30
絶対的ドローダウン 1037.97
最大ドローダウン 20707.98 (35.94%)
相対ドローダウン 35.94% (20707.98)
総トレード数 200
ショートポジション(ウォン) 97 (30.93%)
ロングポジション (ウォン) 103 (30.10%)
利益取引 (全体の割合) 61 (30.50%)
損失トレード (% of total) 139 (69.50%)
最大の
利益トレード 5833.00
損失トレード -3156.00
平均値
利益トレード 1634.70
損失トレード -498.26
最大
連続勝利(金銭的利益) 6 (14728.00)
連続した損失(金銭での損失) 12 (-1587.00)
最大
連続利益(勝利数) 14728.00 (6)
連続損失 (損失のカウント) -9507.00 (5)
平均値
連勝 1
連敗 3

 
diostar 2011.10.05 12:37

あなたは誤解しています。MTFが理由でもなければ、問題でもない。prbはあくまでMAです。ごく簡単に説明します。

MAは過去を語るものです。つまり、MAのシグナルを例えばH1で受け取ると、次のフレーム、例えばH4で、H1の過去と「一致」するという期待、Eがある。H1の過去がH4の現在に現れたとき、利益を得ることです。Eが発生したら、トレードを終了する、あるいはストラテジーが望むことをする、ということです。

しかし、この場合、投稿者はその逆を行った。すべての予想がごちゃごちゃになっているので、かなり基本的なトレードの欠点です。


マルチタイムフレームは私の得意とするところではありません。というわけで、私の考え方が間違っていたら、訂正してください。

上記のロジックの中で

if((Close[0]<=fastMA30 && Close[0]<=fastMA60 && Close[0]<=fastMA240))

赤で強調した&&は、fastMA240も同意する必要が あると教えてくれています。

fastMA240が全MAの中で最も遅いことを見ると、fastMA240がシステムを遅くしていると言えるのではないでしょうか?fastMA240がシステムの変更を遅くしていると言うのは妥当ではないでしょうか。そして、fastMA240の発言によって、システム全体がバグってしまうということでしょうか。

では、あなたの提案に従うとしたら。

if((Close[0]<=fastMA30 && Close[0]<=fastMA60))

FastMA240を排除することで、システムは変化に対してより速く反応するようになるように思えます。しかし、MA60がショーを行っているという問題は残ります。

結論として、重要なのは、それが長期的に有益なアプローチであるかどうかというボトムラインです。IMOでは、どちらが良いかを判断する方法はありません。あなたのやり方と原作者のやり方とでは、テストしない限り、どちらが良いかを判断する方法はありません :)

最後に、上記のコードについて私が気に入らない点を挙げます。1) Close[0]のように現在のバーを使うのはバックテスターフレンドリーではありません。2) <=のような=記号の使用、第一に、価格はdouble型なので=になることは非常にまれである。そして、第二に、すべてのMAが=Close[0]の場合、システムは方向性を失います。例えば、if(xMA>=Close[0]){Buy}_____if(xMA<=Close[0]){Sell}、=Close[0]の場合の正しい動作とは。

 
diostar:

この結果から判断して、私は最適化をお勧めしません。 このストラテジーとロジックの問題が解決されるまで。

まず、H1で7年間のテストをした後、時間がなくてEAのコードを全部見る気になれなかったのですが、「遅い」トレードと「速い」トレードに2つのマジックナンバーを使っていることが印象的でした。 これはどういう戦略なんだろう?

それから、コーディングのパターンに目を通し、slowmagicの数字をコメントアウトしてみてください。 予想通りうまくいきませんでした。

そこで、もう一つの高速マジックナンバーをコメントアウトしてみました。すると、驚くことに、エラーなしでコンパイルできるようになったのです。

ということは、ロジックが完全に不完全なのでは?確かに、あなたのEAは、スローMAのロジックだけで、高速のロジックは一切使っていないのですね。

このEAの所有者であるあなたなら、私の単純な方法よりも、これらすべてに対してより良い答えをお持ちのはずです。


このように、私のアイディアが実装されていないため、遅いマジックナンバーと速いマジックナンバーが表示されるのです。


EAは注文にのみ遅いマジックナンバーを使用しており、エントリーでスキャンされる遅いMAと速いMAとは完全に別物です。

これがあなたの質問の答えになることを願っています。

しゃい

 
ubzen:
君たちは、この中から勝てるシステムを作るというちょっとしたプロジェクトにしたらいい。みんなが今のEAのバージョンから始めて、それに何かを追加していく。そして、みんなの中から一番強いコーダーを選んで、最高のアイデアを集めてください。そして、目標を達成したら、それをコードベースに組み込む。どんなものが出てくるか、とても楽しみですね。

私も、投稿されたEAの基本バージョンから儲かるEAを作るというような取り組みに協力したいです。

 
mbirrell:

私なら、市場に参入する他の方法を探します。これらの指標でシグナルが出たときには、すでに手遅れなのです。私はいつも、市場がどうなるかを予想して指値注文をしています。このような方法を取ることを笑う人もいるかもしれませんが、私には効果がありました。これは短距離走ではありません。


私はあなたのロジックに間違いなく同意しますが、私の既存のロジックを指値注文モデルに適合するようにどのように変換すればよいのでしょうか?
 
danjp:

面白いアイデアですね。 c0d3がOKなら、試してみたいと思います。このような場合、「某有名企業」と「某有名企業」の2社に分けられる。その結果、取引時間、電子メール通知、エラーチェック、積み重ね、リミットとペンディングオーダー、トレーリングストップ、ストップなどのルールを与えるだろう。これらのルールを私のEAシェルで動作させるのに、おそらく1日か2日しかかからないでしょう。その後、私はそれをより収益性の高いものにするためにルールを微調整することに目を向けることができます。

私は間違いなくこれにOKですが、あなたはこのスレッドであなたのコードを共有することに問題はありませんか?
 
diostar:

彼の「ルール」をご覧になった方は、こんな感じです(売りの場合)。

数学的に言えば、これは非常にナンセンスです。 理由は、高いフレームのMAは、予想通り、低いものよりも、バーを完了するために必要な長い時間のために遅いからである。つまり、このロジックは、結局のところ、この低い方の条件によって主に決定されるのです。

したがって、その時点で、MAはMA240の観点から過去を示し、その後60、その後30、市場WASは1つを販売しています。 私の提案は、単にこの無意味なルールを "逆 "にすることができますので、代わりに短いエントリの、長い行く、およびその逆。私は非常に肯定的な結果は、よりきれいに判明しています。



ショートトレードを説明すると、それはロングトレードのための逆です。

  • エントリー条件1:現在の終値が MA30(100サンプル)、MA60(100サンプル)、MA240(100サンプル)より下にある場合、下降トレンドにある。
if((Close[0]<=fastMA30 && Close[0]<=fastMA60 && Close[0]<=fastMA240))
   {
      // we are in a downtrend
      //Comment("\n"+"short only");
      shortEntry();
   }
  • エントリー条件2:entryTF(15M)の終値がMA30(50サンプル)とMA60(50サンプル)を上回るのを待つ。

if(iClose(Symbol(),entryTF,1)>=slowMA30 && iClose(Symbol(),entryTF,1)>=slowMA60)
  • ショートでエントリー

その発想はMTFロジック

  • M30を基準としたMA30を下回る場合。
  • H1を基準としたMA60を下回るとき
  • H4ベースのMA240を下回るとき。
  • M15終値がM30を基準にしたMA30より上にあるのを待つ。
  • M15終値がM60を基準にしたMA60より上にあるのを待つ。
  • ショートで入る:注文パラメーターあり


また、エントリーを逆にしてみて、どうなるかを見てみます。


あなたの質問にお答えします。

 
ubzen:

diostarさん、MTFロジックに関する興味深いアイデアと見解です。これはMTFロジックについて私が気づいたことなのですが、一つの時間枠がシステムを支配しているのが普通です。

danjpさん、ルールを信頼できるプログラムに落とし込むには、おそらくそれが一番早い方法だと思います。私たちの多くは、ロジックを組み込むためのテンプレートをすでに持っています。もし、誰かが自分のコードを渡すことに抵抗があるのなら、一つの提案として、コードを組み立てる人に、私たちのコードベースから信頼できるライブラリを使用してもらうことができます。(例:OrderReliable.mqh.).

あのね!私はこのアイデアが好きです。もし、ここから3人がサインオンしてくれたら、新しいスレッドを立ち上げます。儲かるEAを作ろうという努力で協力し合う。複数のトレーダーが同じシステムで本当に取引できるのか、良いテストになりますね :)


もしスレッドを立ち上げたら、ここに投稿してください、私は参加したいです。
 
danjp:

私なら、(1*std) -> (5*std) の最適化を行い、同じ実行で SL と TP の両方で 0.3 - > 1.5 を試してみるでしょう。私なら、まず12ヶ月間の運用を行います。もし、これらの実行から適切な結果が得られたら、EAに取引時間を追加し、前回の実行から得た値を使用して、24時間365日取引しなくてもさらに改善できるかどうかを確認することになると思います。

頑張って、結果を投稿し続けてください。

(1*std) -> (5*std) and (0.3 - > 1.5 on both the SL and TP)でバックテストを 実行するためのドキュメントをお勧めできますか?
 
diostar:

フォワードテストの合計156トレードは、それらの39バックテストのトレードよりも、はるかに信頼性があります。バックテストの全体のアイデアは、あなたができる限り多くの取引を入れて、それらの迅速な結果を得ることです。バックテストは何のために行うのですか?







バックテストは あくまで戦略を検証し、ロジックが機能していることを確認するためのもので、利益が出るかどうかを判断するのはフォワードテストのみです。


バックテストで儲かっているEAを本番で動かしたら、銀行がつぶれたということはよくあることです。