English Русский Deutsch Português
preview
トレーダーに優しい損切りと利食い

トレーダーに優しい損切りと利食い

MetaTrader 5トレーディング | 15 4月 2024, 14:46
453 0
Aleksej Poljakov
Aleksej Poljakov

はじめに

最も偉大な劇作家がこの記事のエピグラフを書くとしたら、おそらくこう言うでしょう。

生きるか、死ぬか、それが問題だ。

狂乱相場に対して損切りを出すか、

それとも、利食いを使って戦利品を手に入れるか

損切りと利食いは、価格がその値に達したときにポジションを手仕舞うためのストップ注文です。トレーダーは、損切りによって損失を限定し、利食いによって利益を節約することができます。損切りと利食いを使用する主な利点は、金融リスクを制御し、資金管理を使用する能力です。

ただし、トレーダーの中には逆指値注文を好まない人もいます。彼らの理由はいたってシンプルです。損切りに達した後、価格が反転する場合もあります。損切りがなければ、ポジションはプラス圏で閉じられていたかもしれません。利食いについても同じことが言えます。そのレベルに達すると、ポジションは閉じられます。しかし、価格は同じ方向に動き続け、利食いが設定されていなければ、さらに利益を上げることができたでしょう。

このアプローチは、トレーダーの主観的な評価に関連している可能性が高くなります。この主観は大きな問題を引き起こす可能性があります。例えば、トレーダーが損切りを設定しない場合、証券会社が代わりに設定します。用語の混乱を避けるため、証券会社はその水準を「ストップアウト」と呼びます。証券会社の損切りレベルは、AccountInfoDouble関数で ACCOUNT_MARGIN_SO_SO識別子を使用することで、いつでも調べることができます。利食いも同じです。トレーダー自身が間違ったレベルを選んだために、可能な限りの利益を得ることができなかったという可能性はあるでしょうか。

損切りと利食いのレベルを合理的に選択するようにしましょう。


データの準備

では、研究対象について知っておきましょう。まず、価格が上下に動くときにどのレベルに達するかを調べる必要があります。また、あるレベルが歴史上どれくらいの頻度で発生するのかにも興味があります。

かなりシンプルなモデルを使用します。各ポジションを始値で建てたと仮定しましょう。また、以下のポジションの保有期間も決定します。 Nバー 上方および下方の価格乖離の最大値に関心があります。統計のために収集するのは、それらの値です。例えば、ポジション保持時間を5本とした場合、グラフにすると次のようになります。

その結果、過去のデータからある価格乖離が発生した回数を得ることができます。言い換えれば、価格が所定の水準に達する確率の推定値を得ることになります。例えば、上向きの値動きについての統計はこのようになります。

そしてこれが下降線です。

まず目を引くのは大きな偏差です。これは普通は起こりません。2つ目の重要な結果は、上昇と下降の値動きの違いです。

この違いは、買いポジションと売りポジションの損切りと利食いの値が互いに異なる可能性があることを示しています。

さて、もう一歩踏み出す必要があります。損切りや利食いの発動条件は次のように定式化できます。価格は一定のレベルに達し、おそらくはさらに上昇するでしょう。

ある水準で損切りや利食いがトリガーされる確率を推定するには、追加累積分布関数が必要になります。追加累積関数の本質は非常に単純で、あるレベルの確率とそれに続くすべてのレベルの確率を合計する必要があります。

実際には、次のようにして関数を求めることができます。冒頭で得た確率の見積もりを見てみましょう。その値から見て一番下のレベルから始めて、次の形の和を見つける必要があります。

その結果、このような画像が得られるはずです。

もう一度言っておきます。まず、価格がまさにこのレベルに達する確率を求めました。価格がこの水準に達し、場合によってはさらに上昇する可能性を取得します。

これで、研究の本題に入ることができます。


独立したSLとTP

つまり、価格があるレベルに達する確率を知ることができます。次にこの知識を収益化すべきです。まずは...ところで、MetaQuotesは、すべての商品において、まず損切りを設定し、次に利食いを設定することを提案していることにお気づきでしょうか。この会社で悲観論者だけが働いているからです。一方、私たちは楽観論者なので、利食いから始めます。

どんなトレーダーでも、大きな利食いをしたいものです。利食いが大きければ大きいほど、利益は大きくなります。しかし、すでに見たように、利食いの増加はその実行確率の低下につながります。可能な限り高い約定確率で最大の利食いを見つける必要があります。

この条件が満たされるかどうか見てみましょう。

実際、私たちは明確に定義された最大値を持っており、この利食い値を最適値として受け入れることができます。

これで最適な損切りを見つけることができます。一見したところ、すべてが非常に単純です。最小の損切りとその実行確率が必要なのです。しかし、この単純さは欺瞞に満ちています。むしろ、その逆をやらなければなりません。

価格乖離の統計を取ったところ、最大値も得られました。さて、最適性を評価する際には、この最大値と損切り値との差を取ればよいのです。この差は大きければ大きいほどいいです。実行の確率を評価するときも同じようにします。実行される確率が小さいことは、実行されない確率が高いことと同じです。言い換えれば、以下の条件が満たされることを求めているのです。

確認しましょう。そのような最大値は存在します。最適な損切りが見つかりました。

EURUSD H1の場合、ポジション保有期間は5バーです。以下の値を得ました。


SL / 確率 TP / 確率
買い 622 / 6.90% 210 / 37.28%
売り 603 / 7.28% 220 / 35.31%

これらの値がどの程度最適かを確認してみましょう。未決済のポジションがない場合は、新しいバーごとにポジションを建てます。ポジションタイプは無作為に選択されます。3つの選択肢を確認します。

  • 最適な逆指値注文
  • 損切りを10ポイント減らす
  • 利益を10ポイント増やす

最適な逆指値注文を使用した場合の残高曲線はこのようになります。

すべてのオプションのテスト結果を表に示します。

総純利益 粗利益 総損失 利益率 ペイオフ期待値
303.02 1 870.84 -1 567.82 1.19 0.27
100.79 1 817.04 -1 716.25 1.06 0.09
135.07 1 773.24 -1 638.17 1.08 0.13

このアプローチの実際的な応用について簡単に考えてみましょう。

まず、これを「そのまま」使用して、指標として実装することができます。そうすれば、ユニークな支持線と抵抗線が得られるでしょう。

次に、ポジションを開閉するシグナルを生成する取引戦略があると仮定しましょう。それなら、次のようにすればいいです。まず、買いシグナルと売りシグナルの統計を別々に収集します。この場合、ポジション保持時間はオープンシグナルからクローズシグナルまでカウントされます。

もちろん、利食いだけや損切りだけを使うこともできます。両者は互いに依存し合っているわけではないので、別々に使用しても構いません。


ペイオフ期待値

ペイオフ期待値(または数学的期待値)の概念は古くから知られており、取引で広く使用されています。例えば、SMA指標は、ペイオフの予想価格を示しています。「取引における数学:取引結果の推定方法」は、取引戦略を数学的期待値を使用して評価する方法を詳しく示しています。

逆指値注文の計算に数学的な期待値を適用してみましょう。必要な統計はすでにすべて揃っています。ただ、何をどのようにカウントするのかを理解しなければなりません。

ポジションの期待ペイオフは以下の式で計算できます。

ここで pは、ポジションが利益確定で決済される確率です。これが求めるべき確率です。

ポジションは利食いまたは損切りによって決済されます。他に選択肢はありません。つまり、これら2つの事象の合計確率は1に等しくなければなりません。ポジションが利食いで決済される確率は、価格が利食いレベルに達する確率と価格が損切りレベルに達しない確率という2つの要素で構成されます。損切りによるポジションの決済も同じように見積もられます。この場合、期待ペイオフの式は次のようになります。

私たちがしなければならないのは、期待ペイオフがプラスになるような損切りと利食いの値を見つけることだけです。例えば、最大ペイオフは以下の逆指値注文値で達成できます。


SL / 確率 TP / 確率 期待値
買い 4611 / 7.69% 3690 / 92.31% 3051.53
売り 4071 / 14.29% 3950 / 85.71% 2804.19

実際には、数学的な期待値はこのように使用することができます。まず、特定の損切りまたは利食いの値を選択する必要があります。次に、別の逆指値注文の最適値を見つける必要があります。例えば、先ほどの例から損切りの値を取り出し、最も期待ペイオフの高い利食いを見つけました。以下の値を得ました。


SL / 確率 TP / 確率 期待値
買い 622 / 19.24% 310 / 80.76% 130.68
売り 603 / 19.25% 300 / 80.75% 126.13

これがバランスを変えるということです。

期待ペイオフに加え、他の基準を使うこともできます。例えば

により、平均利益と平均損失の最適な比率を提供するストップ注文値を得ることができます。


時間と利益

時は金なり」という格言は誰もが知っています。この格言が取引に有効かどうか(そしてどのように機能するか)見てみましょう。

理性的なトレーダーなら誰でも、利益を上げることに関心があります。利益は大きければ大きいほどいいです。取引で1440ポイント、600ポイント、20ポイントのいずれかの利益をもたらす選択肢があるとします。どの戦略を選択しますか。

ここで、少し明確にしておきたいことがあります。最初の戦略は1日で、2番目は1時間で、3番目は1分で利益をもたすということです。明らかに、これらの戦略の収益性を評価するには、同じ時間間隔にする必要があります。例えば、M1です。すると、次のような値が得られます。

  • 1440/1440 = 1

  • 600/60 = 10

  • 20/1 = 20

つまり、以下の基準で戦略を評価しました。

同じアプローチを逆指値注文の計算にも適用してみましょう。明らかに、トレーダーは可能な限り短い時間で最大の利益を得ることに興味があります。同じように、トレーダーは最小限の損失で済むように努力し、損失が発生する時期を可能な限り先送りします。

逆指値注文の選択に関しては、次のように考えることができます。例えば、5バー以内に利益が出ると予想しましょう。そうすれば、執行時間によって損切りをより長い時間に移動させることができます。例えば、損切りの実行時間を7または10バーに設定することができます。この場合、損切りのサイズは大きくなりますが、その実行確率は低下します。

この方法は、ポジションを開くシグナルがあり、閉じるシグナルがないストラテジーで使用できます。ポジションは、損切りまたは利食いに達した時点で決済されます。

例えば、利食いの実行時間を5バーとしました。損切りの実行時間は5、10、15バーです。取引残高を変更するオプションの1つは次のようなものです。

主なテスト結果は表のとおりです。

総純利益 粗利益 総損失 利益率 ペイオフ期待値
-1 462.31 45 593.97 -47 056.28 0.97 -0.13
3 177.61 59 307.98 -56 130.37 1.06 0.28
1 833.58 59 963.97 -58 130.39 1.03 0.16

このように、損切りの執行時間を変更することは、取引結果にプラスの影響を与える可能性があります。


結論

この記事を書くにあたり、以下のプログラムを使用しました。

名前 種類 詳細
Lvl SL & TP スクリプト 最適な損切りと利食いを計算できます。
  • 継続時間ポジションを保持する予想時間をバー単位で設定します。SLとTPのサイズを決定します。計算結果は[エキスパート]タブに表示されます。
  • 検証可能なSLおよび検証可能なTPによって、最適なペイオフをを得るために必要な損切りや利食いを設定できるようになります。 計算結果は Filesフォルダに保存されます。
EA SL&TP EA 損切りと利食いレベルの確認が可能。
  • Seed:ポジションの順序に影響を与える初期番号。値が0でない場合は、ポジションが繰り返されます。これは、さまざまな損切りと利益確定を比較するのに役立ちます。
  • SLBuy、TPBuy、SLSell、TPSell:ポジションの損切りと利食い。これらの値は、Lv.SL & TPスクリプトから取得できます。
EA TIM EA SLとTPの異なる時間に関する仮説を検証することができます。
  • Seed:ポジションの順序に影響を与える初期番号
  • DurationTP:利食い予想時間
  • ShiftSL:何バー後にSLが予想されるか


MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/13737

添付されたファイル |
Lvl_SL_6_TP.mq5 (21.83 KB)
EA_SLuTP.mq5 (3.56 KB)
EA_TIM.mq5 (7.01 KB)
ニューラルネットワークが簡単に(第64回):ConserWeightive Behavioral Cloning (CWBC)法 ニューラルネットワークが簡単に(第64回):ConserWeightive Behavioral Cloning (CWBC)法
以前の記事でおこなったテストの結果、訓練された戦略の最適性は、使用する訓練セットに大きく依存するという結論に達しました。この記事では、モデルを訓練するための軌道を選択するための、シンプルかつ効果的な手法を紹介します。
Scikit-Learnライブラリの分類器モデルとONNXへの書き出し Scikit-Learnライブラリの分類器モデルとONNXへの書き出し
この記事では、Scikit-Learnライブラリで利用可能なすべての分類器モデルを適用して、フィッシャーのIrisデータセットの分類タスクを解決する方法について説明します。これらのモデルをONNX形式に変換し、その結果得られたモデルをMQL5プログラムで利用してみます。さらに、完全なIrisデータセットで元のモデルとONNXバージョンの精度を比較します。
ニューラルネットワークが簡単に(第65回):Distance Weighted Supervised Learning (DWSL) ニューラルネットワークが簡単に(第65回):Distance Weighted Supervised Learning (DWSL)
この記事では、教師あり学習法と強化学習法の交差点で構築された興味深いアルゴリズムに触れます。
初心者からプロまでMQL5をマスターする(第1回):プログラミングを始める 初心者からプロまでMQL5をマスターする(第1回):プログラミングを始める
この記事は、プログラミングに関する連載の紹介です。読者がこれまでプログラミングを扱ったことがないことを前提としているため、この連載は基礎から始まります。プログラミング知識レベル:全くの初心者。