【MT4/5】MetaTrader初心者専用23【ゆとり隔離スレ】 952 :
918 :2011/02/07(月) 23:42:18 ID:DlzD7f2O
やっぱり、バックテストする度に結果変わる。 EA・Aをコピペしただけの、EA・Aコピー(当然内容同じ)の 二つのEAのバックテスト結果も違う。 iMA(NULL,0,10,0,... と int Period=10、iMA(NULL,0,Period,0,... は、同じ設定のはずなのに結果が違う。 何が原因?
>>952 スプレッドに依存するようなコードを組んでいるとか?
市場が動いている時って毎回スプレッドは変化しているからな
例のsteady winnerのソース記述にて理解に苦しむところがあるので どなたか納得のいくように説明おねがいします。 void init() の中で一度 Set_SmartMM_dLots() が実行されて ますよね。自分としてはこれで十分だと思うのですが、 int start() の中でも Set_SmartMM_dLots() が記述されています。 これには理由があるのでしょうか? 自分としては void init() 内で一度処理するだけでも問題ないと 考えているのですが。。。
すごく…上からです…
>>954 なんでお前に納得のいくように説明せにゃならんのさw、そんな義務無いわ
まず服を脱ぎます
>>954 start 内のSet_SmartMM_dLots() をコメントアウトしてバックテストしてみそ。
959 :
918 :2011/02/08(火) 00:55:05 ID:kHxPGfCf
>>953 スプに依存する、ってどういう意味?
バックテストなんだから同じ期間同じ設定なら結果も同じじゃないの?
酷い時はTotal net profitが三割くらい違う時があって
もう、バックテスト自体が信用できないww
>>958 ありがとうございます。解決しました。
完全に見落としてました..orz
961 :
918 :2011/02/08(火) 01:12:15 ID:kHxPGfCf
ウインナーの話が出てたから聞くけど Version 4.22を0.1Lot固定に改造したEAの2010.01.01-12.31期間の バックテストの結果って↓と大体同じ? Bars in test 7204 Ticks modelled 6896589 Modelling quality n/a Mismatched charts errors 119371 Initial deposit 10000.00 Total net profit 519.45 Gross profit 2956.06 Gross loss -2436.61 Profit factor 1.21 Expected payoff 1.13 Absolute drawdown 10.90 Maximal drawdown 193.83 (1.81%) Relative drawdown 1.81% (193.83) Total trades 459 Short positions (won %) 261 (78.16%) Long positions (won %) 198 (73.74%) Profit trades (% of total) 350 (76.25%) Loss trades (% of total) 109 (23.75%) Largest profit trade 12.00 loss trade -50.00 Average profit trade 8.45 loss trade -22.35 Maximum consecutive wins (profit in money) 24 (239.90) consecutive losses (loss in money) 4 (-132.08) Maximal consecutive profit (count of wins) 239.90 (24) consecutive loss (count of losses) -132.08 (4) Average consecutive wins 4 consecutive losses 1 ウインナーは拾ったやつだからコード違うかも知らんけど。。。
犯罪者発見!
>>961 それ1分足からデーター生成した物使ってる?
多分正確性が足らない。
>>949 pointはその業者の最小単位。
それが1pipの業者もあれば、0.1pipの業者もある。
0.1pipの桁提示はFractional pip pricingと呼ばれているので、ググってみ。
微力ながら参考までに。 サーバーは Alpari-Demo - Alpari NZ Limited 一応test前にhistory centerから1分足のEURUSDのデータをDLした。 0.1Lot固定にするためにinitial depositは1000に設定。 Bars in test 5720 Ticks modelled 8727527 Modelling quality n/a Mismatched charts errors 342 Initial deposit 1000.00 Total net profit 692.50 Gross profit 2018.43 Gross loss -1325.93 Profit factor 1.52 Expected payoff 2.17 Absolute drawdown 11.00 Maximal drawdown 151.21 (11.79%) Relative drawdown 11.79% (151.21) Total trades 319 Short positions (won %) 174 (79.89%) Long positions (won %) 145 (71.72%) Profit trades (% of total) 243 (76.18%) Loss trades (% of total) 76 (23.82%) Largest profit trade 10.90 loss trade -51.10 Average profit trade 8.31 loss trade -17.45 Maximum consecutive wins (profit in money) 14 (130.48) consecutive losses (loss in money) 5 (-53.73) Maximal consecutive profit (count of wins) 130.48 (14) consecutive loss (count of losses) -67.70 (2) Average consecutive wins 4 consecutive losses 1
>>959 バックテスト実行時のスプレッドでテストされてしまうから
スプが変動する業者のサーバーを使ってると
毎度違う結果になるらしいぞ
バックテストのスプを固定するスクリプトとかあるらしいからググレ
>>965 Modelling quality n/a なんとかならないの?
>>965 1分足をDLしたら
チャートを一分以外全て閉じてMT4終了
ヒストリーの一分足以外のデーターを全て削除
ついでにtester フォルダの履歴とキャッシュを全て削除
MT4を起動して、スクリプト
period_converter All.mq4 で全ての足を生成
EveryTick でBTすれば Modelling quality n/a にはならないよ。
WinnerはMTFなので1H他1M、5M、15Mを参照してるから
その足のデーターで整合性を取らないとだめ。
落ちてるやつと正規版のロジックは同じなので改造すれば
2程度のPFになる。
内部のRSIパラ
デフォルト 35、65 結構DD有る。
20,80まで変更してBTする。
累積RSIに改造=ブログでは20,80になってるけど
累積の場合は35,65の方が成績がいい。
こんな感じ
969 :
918 :2011/02/08(火) 07:12:55 ID:qhzPPuSj
>>961 ウインナーは取引回数が多いからスプレッドが結果に大きく影響する
どこの業者でテストしたかが問題だな
SWのiTimeを使ったMTFって、使ってるインジケーターを diStochastic81= iStochastic(NULL, TF, 55*5*TF, 15*5*TF, 〜) とかにして、外部パラにしたTFを任意に選び BTして最適なパターンを探すということ?
973 :
Trader@Live! :2011/02/08(火) 13:48:53 ID:Gt6IdfqU
別のPCに現状のMT4の設定状態のまま、移すにはどうしたらよいのでしょうか? インジは移せたのですが、画面の配置が初期状態になってしまいました。 画面の配置を同じ状態にする方法を教えてください。
フォルダまるごとCOPY
>>972 ヘッダのTimeframeの変数と各インジケータのTimeframeの変数は別物ということ?
で、明示的にタイムフレームを指定して、各インジケータのTimeframeの変数の値をオプティマイズするという意味?
タイムフレームの部分は
// indicators
以降
double diWPR1=iWPR(NULL,1,155,0);
↓省略
double diRSI93=iRSI(NULL,1,3,PRICE_CLOSE,0);
の部分
time frameの数字
例’
1 → PERIOD_M1
---------------
その後、ヘッダー部分で
extern int x = y
int z;
タイムフレームを指定出来るように
-------------
xはタイムフレーム変数
yはタイムフレーム
デフォルトは適当に1,5,15のいずれかを指定
------------
start ()
{
以下の部分に
int a=iTime(NULL,x,0);
if(x==0 || a!=x)x=a;else return(0);
を追加。
各変数の値は適当に変更
例; x → tfm
テスト時に x=1、5,15を指定して
それぞれ1分、5分、15分チャートでOPT,BT。
>>928 のパラを変更してOPT。
以上
改造した物はMTF専用として、1,5,15足のチャートにて稼働 1Mがよさげ、でも自由だけど1Hは未改造で稼働、違うタイミングでポジれば成功 未改造品を同じように稼働しても同じタイミングでポジ取るので駄目。
誤り int a=iTime(NULL,x,0); if(x==0 || a!=x)x=a;else return(0); 正しい int a=iTime(NULL,x,0); if(x==0 || a!=z)z=a;else return(0);
亀レス
>>512 > 実稼動時にも、内部でループ処理のある移動平均だけでも
> 5回計算させている
もしSMAなら合計値を保持。
次に計算する時は最古値分だけ減じて、最新値を加算。
このケースでは5回の加算が2回の加減算になるだけだけど、これが100回200回になるとかなり演算量を減らせられる。
SMAならね。
>>977 補足ありがとうございます。
ちなみに
1 → PERIOD_M1
これって定数定義だから必要ないですよね?
あとzは次回tick時の確認用。
てっきりインジケーターのtime frameを動的に変更して、それぞれの時間足にあった
インジケーターを設定値するんだと思っていました。
982 :
Trader@Live! :2011/02/08(火) 19:03:27 ID:UgZvgzfy
FX業者へのクイック入金が幅広く対応してる銀行ってどこですか?
>>981 正解w
累積RSIは20,80じゃなくて35,65で動かした方がいいよ。
1M、5Mがいいです。
国内業者の話ならスレ違いだろ MT4ならpaypalかマネブとかになるからな 業者スレ行け
>>983 ながながありがとうございます。
帰宅したら弄ってます。
やっとモヤモヤがなくなりそうですw
バックテストってテスト中に一時停止のやり方教えてください お願いします
一時停止は出来ません
Visual Modeでバックテストをやっていれば一時停止は可能だけどね
バックテストのためにヒストリセンタから1,15,30分足のデータインポートして 15分足でバックテストかけたら TestGenerator:unmatched data error (volume limit 100 at 2010.11.16 00:15 exceeded)とかいうのを連発して 一度もポジションとらずに終了してるんですが これってヒストリセンタのデータが壊れてるんでしょうか?
>>990 メッセージ通りvolumeの値が変なんでしょうけど、それと売買しないのは
別問題だと思います。EAがvolumeを参照してるならその可能性もあるが、
volumeはブローカーごとにまったく違うので、ほとんどのEAはvolume
なんか見ない。
>>990 Order_Send()のTP、LC、ロットとかおかしいかったとき出たことあるよ。
業者によっては逆指し何ピピ以上じゃなきゃダメとかあるから、そのへんじゃないか?
おれもまだ始めたばかりだから確信はないけど。
>>990 ほかにもログにエラーが出てるだろ?
それを見るべきだ
>991-993 ありがとうございました。 >991 ヒストリセンタから時間軸関係なく全データdownloadしたら直りました。 >992 ロットがおかしかったのは、GetLastErrorででて、それは修正した後だったんです。 センタから全データダウンロードしらこのエラーは止まりました。 >993 修正後残っていたエラーはこのエラーのみでした。 ただし、数十行ありましたけど。
エラーはない ポジらない 自作EAならプロミスしかないだろうな
expert advisorsにないってるEAの名前を 変更したいのですができますか?
997 :
Trader@Live! :2011/02/09(水) 23:17:57 ID:jhJ7WYui
教えねーぜククク・・・ 999・・・
1000げとおおおおおおおおおおおおおおおおお
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。