アドバイザーの正しい最適化方法 - ページ 6 123456789 新しいコメント Loring 2008.07.28 18:51 #51 xの1枚目はSL、yの1枚目はTPです。 左がポジティブゾーン、右がランダムヒットだと思うのですが...。まあ、SLがユーロで190ドル以上というのは、M5時代にはありえないことですが......。 Victor Nikolaev 2008.07.28 18:58 #52 Loring писал (а)>> と、それに応じて 気をつけよう、マーチンゲールに夢中になってはいけない。EAはオーダーメイドで、「出すよ」と警告しただけです。私はこの技術が好きではありません。非常にリスキーです。良い結果が得られる確率がかなり高い場合に使用するとよいでしょう。あとは、そのような仕組みを作るだけです。 Loring 2008.07.28 19:28 #53 でも、ちょっとしたテストは可能なんです.ちなみに結果は、私のアルゴリズムに近いものでした。だから、私は髪を引き裂くことはありません...。でも、知り合いになりたいんです。 Loring 2008.07.28 19:52 #54 ええ、まあ...ズベレフがよく言っていたように、「スターはショックを受けている」...。このアルゴリズムは奇妙な振る舞いをする、あるいは好きなように...その時に、再投資のスイッチが入るのです。Strategy Tester Report VininE_Game_1 FxProfit-Demo (Build 217) Символ EURUSD (Euro vs US Dollar) Период 5 Минут (M5) 2008.06.01 22:05 - 2008.06.27 21:55 (2008.06.01 - 2008.06.29) Модель Все тики (наиболее точный метод на основе всех наименьших доступных таймфреймов) Параметры Lots=0.1; MaximumRisk=6; cmd=0; TP=262; SL=18; MagicNumber=0; Баров в истории 6749 Смоделировано тиков 152889 Качество моделирования 90.00% Ошибки рассогласования графиков 0 Начальный депозит 1500.00 Чистая прибыль 7908.10 Общая прибыль 11037.80 Общий убыток -3129.70 Прибыльность 3.53 Матожидание выигрыша 790.81 Абсолютная просадка 662.60 Максимальная просадка 4846.40 (54.75%) Относительная просадка 54.75% (4846.40) Всего сделок 10 Короткие позиции (% выигравших) 5 (20.00%) Длинные позиции (% выигравших) 5 (40.00%) Прибыльные сделки (% от всех) 3 (30.00%) Убыточные сделки (% от всех) 7 (70.00%) Самая большая прибыльная сделка 6359.60 убыточная сделка -1280.00 Средняя прибыльная сделка 3679.27 убыточная сделка -447.10 Максимальное количество непрерывных выигрышей (прибыль) 2 (4678.20) непрерывных проигрышей (убыток) 4 (-612.60) Максимальная непрерывная прибыль (число выигрышей) 6359.60 (1) непрерывный убыток (число проигрышей) -1280.00 (1) Средний непрерывный выигрыш 2 непрерывный проигрыш 2 № Время Тип Ордер Объём Цена S / L T / P Прибыль Баланс 1 2008.06.01 22:06 buy 1 0.90 1.5555 1.5535 1.5815 2 2008.06.02 03:31 s/l 1 0.90 1.5535 1.5535 1.5815 -192.60 1307.40 3 2008.06.03 00:00 sell 2 0.80 1.5539 1.5559 1.5279 4 2008.06.03 08:30 s/l 2 0.80 1.5559 1.5559 1.5279 -160.00 1147.40 5 2008.06.04 00:01 buy 3 0.70 1.5439 1.5419 1.5699 6 2008.06.04 08:26 s/l 3 0.70 1.5419 1.5419 1.5699 -140.00 1007.40 7 2008.06.05 00:05 sell 4 0.60 1.5425 1.5445 1.5165 8 2008.06.05 01:39 s/l 4 0.60 1.5445 1.5445 1.5165 -120.00 887.40 9 2008.06.06 00:00 buy 5 0.50 1.5584 1.5564 1.5844 10 2008.06.09 09:39 t/p 5 0.50 1.5844 1.5564 1.5844 1293.00 2180.40 11 2008.06.10 00:00 sell 6 1.30 1.5640 1.5660 1.5380 12 2008.06.12 14:34 t/p 6 1.30 1.5380 1.5660 1.5380 3385.20 5565.60 13 2008.06.13 00:00 buy 7 3.30 1.5454 1.5434 1.5714 14 2008.06.13 02:20 s/l 7 3.30 1.5434 1.5434 1.5714 -660.00 4905.60 15 2008.06.15 22:10 sell 8 2.90 1.5417 1.5437 1.5157 16 2008.06.16 10:47 s/l 8 2.90 1.5437 1.5437 1.5157 -577.10 4328.50 17 2008.06.17 00:02 buy 9 2.60 1.5470 1.5450 1.5730 18 2008.06.26 13:44 t/p 9 2.60 1.5730 1.5450 1.5730 6359.60 10688.10 19 2008.06.27 00:00 sell 10 6.40 1.5751 1.5771 1.5491 20 2008.06.27 10:39 s/l 10 6.40 1.5771 1.5771 1.5491 -1280.00 9408.10 そして、その始まりはいかに...。 Loring 2008.07.28 19:55 #55 しかし、ドローダウンが50%を超えると・・・。リスクを冒してまで投資する人はいないでしょう。そのまま使うべきだったようだ。新しいものは最高の敵であることを示すもう一つの例です...。 Loring 2008.07.29 13:17 #56 テーブルに頭を(頑固に)ぶつけた結果、ロットサイズ計算機能は次のような形になりました。 double getLots() { if (MaximumRisk>0) { double minlot = MarketInfo(Symbol(),MODE_MINLOT); double maxlot = MarketInfo(Symbol(),MODE_MAXLOT); double lot = NormalizeDouble(AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED)/MaximumRisk,1); lot=MathMax(MathMin(lot,maxlot),minlot); } else lot=Lots; return(lot); } ここで、MaximumRisk - ポジションを開くときに使用することができる資本の一部(1/MaximumRiskとして計算されます)。 この機能は小数部分を捨てず、数学のルールに従って丸めるので、段階的に割り算や掛け算をする必要がなくなります。これでロットは証拠金の値で計算されるようになり、リスクが減少します。lot=MathMax(MathMin(lot,maxlot),minlot);" という行は、とにかく最小ロットサイズ(通常は0.1)のポジションを開こうとするので、運用のリスクが高くなります。完全に無効にした方が良い場合もあります。この場合も、入金不足の場合のみ表示されます。 改めて、ソースコードを提供してくれたViktorに感謝したい...。 Victor Nikolaev 2008.07.29 13:34 #57 Loring писал (а)>> テーブルに頭を(頑固に)ぶつけた結果、ロットサイズ計算機能は次のような形になりました。 ここで、MaximumRisk - ポジションを開くために使用することができる株式の一部(1/MaximumRiskとして計算されます)。 本機能は小数点以下を切り捨てず、数学的なルールに従って四捨五入するため、ステップによる割り算や掛け算は必要ありません。 すべての証券会社が0.1のロット増分を持つのではなく、他のバリアントがあることを覚えておいてください。 Loring 2008.07.29 14:18 #58 ちょっと不気味な感じがする...。正しいようでいて、何かが間違っている。そして、本当に /MaximumRisk/step,0)*step...証券会社によっては、ステップが0,001の場合もあることを忘れていました。訂正してくれる人がいてよかった・・・。 Loring 2008.07.29 14:28 #59 じゃあ、きっとこうだ...。(丸め関数の'0'はよくわかりません)。 double getLots() { if (MaximumRisk>0) { double minlot = MarketInfo(Symbol(),MODE_MINLOT); double maxlot = MarketInfo(Symbol(),MODE_MAXLOT); double step = MarketInfo(Symbol(),MODE_LOTSTEP); double lot = NormalizeDouble(AccountFreeMargin()/MarketInfo(Symbol(),MODE_MARGINREQUIRED)/MaximumRisk/step,0)*step; lot=MathMax(MathMin(lot,maxlot),minlot); } else lot=Lots; return(lot); } Loring 2008.07.29 14:38 #60 なぜ、ポジションの開放を 別機能にしたのか理解できない。1つのコマンドをローカルに実行することができる...それとも、もっと大きな何かのスクラップなのか......。ТРとSLはOrderSend...にある順序とは別に送信される。発信したまま受信されるのはありがたい。確かに大したことはないのですが、、、。 123456789 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
xの1枚目はSL、yの1枚目はTPです。
左がポジティブゾーン、右がランダムヒットだと思うのですが...。まあ、SLがユーロで190ドル以上というのは、M5時代にはありえないことですが......。
と、それに応じて
気をつけよう、マーチンゲールに夢中になってはいけない。EAはオーダーメイドで、「出すよ」と警告しただけです。私はこの技術が好きではありません。非常にリスキーです。良い結果が得られる確率がかなり高い場合に使用するとよいでしょう。あとは、そのような仕組みを作るだけです。
でも、ちょっとしたテストは可能なんです.ちなみに結果は、私のアルゴリズムに近いものでした。だから、私は髪を引き裂くことはありません...。でも、知り合いになりたいんです。
そして、その始まりはいかに...。
しかし、ドローダウンが50%を超えると・・・。リスクを冒してまで投資する人はいないでしょう。そのまま使うべきだったようだ。新しいものは最高の敵であることを示すもう一つの例です...。
テーブルに頭を(頑固に)ぶつけた結果、ロットサイズ計算機能は次のような形になりました。
ここで、MaximumRisk - ポジションを開くときに使用することができる資本の一部(1/MaximumRiskとして計算されます)。
この機能は小数部分を捨てず、数学のルールに従って丸めるので、段階的に割り算や掛け算をする必要がなくなります。これでロットは証拠金の値で計算されるようになり、リスクが減少します。lot=MathMax(MathMin(lot,maxlot),minlot);" という行は、とにかく最小ロットサイズ(通常は0.1)のポジションを開こうとするので、運用のリスクが高くなります。完全に無効にした方が良い場合もあります。この場合も、入金不足の場合のみ表示されます。
改めて、ソースコードを提供してくれたViktorに感謝したい...。
テーブルに頭を(頑固に)ぶつけた結果、ロットサイズ計算機能は次のような形になりました。
ここで、MaximumRisk - ポジションを開くために使用することができる株式の一部(1/MaximumRiskとして計算されます)。
本機能は小数点以下を切り捨てず、数学的なルールに従って四捨五入するため、ステップによる割り算や掛け算は必要ありません。
すべての証券会社が0.1のロット増分を持つのではなく、他のバリアントがあることを覚えておいてください。
じゃあ、きっとこうだ...。(丸め関数の'0'はよくわかりません)。
なぜ、ポジションの開放を 別機能にしたのか理解できない。1つのコマンドをローカルに実行することができる...それとも、もっと大きな何かのスクラップなのか......。ТРとSLはOrderSend...にある順序とは別に送信される。発信したまま受信されるのはありがたい。確かに大したことはないのですが、、、。