エリオット波動理論に基づくトレーディング戦略 - ページ 67

 
おそらくリアルタイムではこのような数字が許容されるのでしょうが(完成度に限界はありませんが:)、ヒストリーテストでは、私の理解する限り、短いサンプルでもかなり難しい状況だと思われます。私がコンピュータ計算を使うことに反対していると疑わないでほしいのですが?:).ただ、このスレッドを読んで、アルゴリズムをかなり高速化することが望ましいという印象を持ちました。

もちろん、特にヒストリーテストのために、計算のための高速なアルゴリズムを取得したいことは間違いありませんが、一方で、この方法論は、ほとんどのMT4ユーザーがこの製品のクリエイター(もっと欲張りな薬を与える!!)を孜孜使用して好きなヒストリーデータの伝統的なフィットに必要なように、テスター上で何百万回を必要としない; o).この方法論で作成したExpert Advisorの1回の実行は、結果の適用性という点で、100000000回の実行EAで最適化されたものより優れていることを認識する必要があり、その結果はその作者がこの人生でずっと待つことができます; o))) 。このスレッドで上に書いたランダム推測システムを一番最初に作った経験を元に言ってるだけです。数理統計学の手法に基づくExpert Advisorの最適 化は、主にフィットする最小限のパラメータ(各パラメータは同様に変化する限られた領域を持っています)でアルゴリズムの論理的改善で構成されていますが、標準的なヒストリーフィッティングに必要な、異なる振動子と移動平均のいくつかの「最適」値とn次元空間のグローバル最大に見られるいくつかの比率を検索することではありません。上記の投稿で示された結果は、おそらく、利用可能な履歴に対してアルゴリズムを50回以上フルに実行することによって得られたものである。実行のたびに、アルゴリズムは改良され、改善されました。そして今現在も、私は同じことを繰り返しています。1日に2-3回実行し、結果を分析してアルゴリズムを改良しています。まだ完全に完成したわけではありませんが、すでに最初の、多少なりとも動くバージョンを実アカウントで立ち上げています。まだ取引はしていない。Expert Advisorは、ユーロが下降に転じるのを待っています。
 
solandr さん、テスト時間を短縮/最適化するために、X,X^2などを含むカスタムインジケータまたは配列を使用しましたか?
 
カスタムインジケータの呼び出しは全てテスターログにパンチされると書いたので、私は使っていません。Expert Advisor自体にMurray levelsというインジケータを導入しています。Expert Advisorの計算を 特に高速化するような配列はまだ考案していません。正直なところ、何が発明できるのかわかりません。前のバー(チャンネルボーダー)の計算情報は当然ながら配列に格納され、新しいバーで再計算されることはない。スピードという点では、実質的にすべてのアルゴリズムを使い切ったと思うので、これ以上スピードアップすることはないでしょう。しかし、X,X^2を含む配列については、よくわかりません。X,X^2の大きな配列から値を求めると、どの程度、計算時間が短縮できるのか(2乗)。演算比較データはありますか?見てもらうと面白いかもしれませんね。
 
それは、新しい チャンネルごとに新しいバーで Y=A*X+Bのためのものですか?

そして、EAを最適化することが可能であることに気がつきました。ゲインは (N+1)/2 で、N は最大チャンネル長です(現在のバージョンは 300 で、ゲインは 150 倍になります)。
 
私が理解する限り、あなたは3次配列の各行が数百万になるように編成し、その中で3つの異なるパラメータA、X、BでYの答えを検索することを提案しているのですか?それとも、私がよく理解していないのでしょうか?
 
いや、各バーで一度だけ計算し、その値をN回使うことを提案しているだけです(配列が形成されるのは間違いないです :))。
 
すべてのバー上のチャンネルがわずかに動き、その境界を変えているのに、どうしてそんなことが可能なのでしょうか?
 
アルゴリズムを完全に置き換えることはできませんが(まだ本格的にやる必要があります)、最適化されたアルゴリズムを通常のアルゴリズムに少し貼り付けることは可能です。これは、最適化されたアルゴリズムのためのすべての予備計算が行われるが、チャネルは通常の方法で計算されることを意味します。以下はそのログです。
2006.07.04 23:04:37 ChannelStDev3 GBPCHF,M15: deinit()<br / translate="no"> 2006.07.04 23:04:37 ChannelStDev3 GBPCHF,M15: 通常のスクリプト時間+最適化579ms。
2006.07.04 23:04:36 ChannelStDev3 GBPCHF,M15: a=-0.0001 b=2.2628 lastBar1 firstBar=105 StDev=0.001。
2006.07.04 23:04:36 ChannelStDev3 GBPCHF,M15: 1000本のバーで基準に合致する140本のチャンネルが見つかりました。
2006.07.04 23:04:36 ChannelStDev3 GBPCHF,M15:1シリーズになっています。
2006.07.04 23:04:36 ChannelStDev3 GBPCHF,M15:初期化されました。
2006.07.04 23:04:35 ChannelStDev3 GBPCHF,M15: ロードに成功しました。
2006.07.04 23:04:28 ChannelStDev GBPCHF,M15: 削除しました。
2006.07.04 23:04:28 ChannelStDev GBPCHF,M15: 初期化されました。
2006.07.04 23:04:28 ChannelStDev GBPCHF,M15: deinit()を実行する。
2006.07.04 23:04:28 ChannelStDev GBPCHF,M15: 通常のスクリプト時間 547ms
2006.07.04 23:04:27 ChannelStDev GBPCHF,M15: a=-0.0001 b=2.2628 lastBar1 firstBar=105 StDev=0.001。
2006.07.04 23:04:27 ChannelStDev GBPCHF,M15: 1000本のバーで基準に合致するチャンネルが140本見つかりました。


したがって、最適化されたアルゴリズムの時間は、約(579-547)=32ミリ秒となるはずです。おおよそ、547/32=17倍のゲインとなる。 これは確かに私が想定していた500倍ではありません、やはり確認が必要です。おそらく、思ったより時間がかかる非圧縮性の手順を考慮していなかったのでしょう。明日、確認してみます。
 
2つのブロックの計算を別々に測定した。
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: deinitialized<br/ translate="no"> 2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: Execute deinit()
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: a=0.0071 b=146.M15.M15:Deinit() 2006.07.05 15:30:30 ChannelStDev3 EURJPY,M15:Deinit() 2006.07.05 15:40:30 ChannelStDev3 EURJPY,M15:Deinit()7474 lastBar1 firstBar=50 StDev=0.1056
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: Found 820 channels meeting criterion over 1000 bars
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: They are in 8 series
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: Time of conventional algorithm390 ms
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: Time of conventional algorithm390 ms 2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: Time of optimized algorithm0 ms
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: initialized
2006.07.05 14:34:15 ChannelStDev3 EURJPY,M15: loaded successfully


最適化されたブロックが正しく計算されるかどうかは、まだわからない。同時に、オブジェクトの操作に かなりの時間がかかることもわかりました(最適化されていないバージョンのほぼ1/3)。とはいえ
 
Print
で、再実行。
<br/ translate="no"> 14:54:04 ChannelStDev3 EURJPY,M15: k=64 a=0.002 b=146.8379 sigma=-1370529.6008
14:54:04 ChannelStDev3 EURJPY,M15: k=63 a=0.0025 b=146.829 sigma=-1348950.2071
14:54:04 ChannelStDev3 EURJPY,M15: k=62 a=0.0029 b=146.8197 sigma=-1327370.M15: k=0.0029 b=146.8197 sigma=-1327370.2369
14:54:04 ChannelStDev3 EURJPY,M15: k=61 a=0.0033 b=146.8105 sigma=-1305795.8008
14:54:04 ChannelStDev3 EURJPY,M15: k=60 a=0.0038 b=146.8016 sigma=-1284233.323
14:54:04 ChannelStDev3 EURJPY,M15: k=59 a=0.0042 b=146.7921 sigma=-1262664.9732
14:54:04 ChannelStDev3 EURJPY,M15: k=58 a=0.0046 b=146.7921 b=146.7921 a=146.7921 b=146.7921 a=146.7921 b=146.9732 14:54:54 ChannelStDev3 ユーロJPY,M157844 sigma=-1241133.5221
14:54:04 ChannelStDev3 EURJPY,M15: k=57 a=0.005 b=146.7769 sigma=-1219610.1431
14:54:04 ChannelStDev3 EURJPY,M15: k=56 a=0.005 b=146.7769 a=-1219610.1431 14:54:54 ChannelStDev3 EURJPY,M15: k=56 a=0.005 b=146.7769 b=146.77690055 b=146.7678 sigma=-1198064.4492
14:54:04 ChannelStDev3 EURJPY,M15: k=55 a=0.0058 b=146.7611 sigma=-1176563.M15: k=0.0058 b=146.7611 sigma=-1176563.0841
14:54:04 ChannelStDev3 EURJPY,M15: k=54 a=0.0062 b=146.754 sigma=-1155059.1345
14:54:04 ChannelStDev3 EURJPY,M15: k=53 a=0.0066 b=146.7469 sigma=-1133558.635
14:54:04 ChannelStDev3 EURJPY,M15: k=52 a=0.007 b=146.7398 sigma=-1112061.7881
14:54:04 ChannelStDev3 EURJPY,M15: k=51 a=0.0073 b=146.7881 14:54:54 ChannelStDev3 EURJPY,M16: a=160.7 b=160.78817342 sigma=-1090593.6002
14:54:04 ChannelStDev3 EURJPY,M15: k=50 a=0.0074 b=146.7327 sigma=-1069186.857
14:54:04 ChannelStDev3 EURJPY,M15: k=49 a=0.0074 b=146.733 sigma=-1047808.1245
14:54:04 ChannelStDev3 EURJPY,M15: k=48 a=0.0074 b=146.733 cigma=-1047807.1245 14:54:54 ChannelSTDEV1 ユーロ¥1.0073 b=146.7346 sigma=-1026446.748
14:54:04 ChannelStDev3 EURJPY,M15: k=47 a=0.0069 b=146.7404 sigma=-1005141.2611
14:54:04 ChannelStDev3 EURJPY,M15: k=46 a=0.0064 b=146.7494 sigma=-983876.Sigma=146.7402.M15: k=47 a=0.0064 b=-146.7404 sigma=-1005141.2612 14:54:40 ChannelStDev3 ユーロ円(M15)6836
14:54:04 ChannelStDev3 EURJPY,M15: 最適化アルゴリズム時間 31 ms
14:54:05 ChannelStDev3 EURJPY,M15: 通常のアルゴリズム時間 875 ms
14:54:05 ChannelStDev3 EURJPY,M15: それらは6系列
14:54:05 ChannelStDev3 EURJPY,M15: 1000本以上、条件に合う824チャンネルを発見
14:54:05 ChannelStDev3 EURJPY,M15: a=0.0064 b=146.7494 lastBar1 firstBar=46 StDev=0.1044
14:54:05 ChannelStDev3 EURJPY,M15: deinit() 実行
14:54:05 ChannelStDev3 EURJPY,M15: deinitialized
14:54:05 ChannelStDev3 EURJPY,M15: removed
.


シグマに問題があるのですが :)