インテリジェント蓄積器 購入戦略

作者: リン・ハーンチャオチャン, 日付: 2024-02-26 13:59:57
タグ:

img

概要

インテリジェント・アクキュレーター・バイ・ストラテジー (Intelligent Accumulator Buy Strategy) は,概念の証明戦略です. 繰り返しバイインと技術分析に基づくエントリーと出口を組み合わせます.

戦略は資金の一部を配分し,技術分析条件が有効である限り,ポジションを増加し続けます.出口技術分析条件を使用して出口戦略を定義します.

負けたポジションを 平均を下げたり 勝ったポジションを 増やすことができる より積極的なアプローチを選ぶこともできます

完全利益を取るか,同じサイズの多重利益に出口を分配するか選択できます.

脱出条件で負債でポジションを閉めるか 最低の利得率を要求するかを決めることもできます

この戦略は,このアイデアを展示するために,デフォルトの技術分析入力と出口条件を含んでいますが,このスクリプトの最終的な目的は,入力と出口を外部ソースに委任することです.

内部条件は,入場時に標準偏差1のボリンジャー帯を下に横切るRSI長さ7を使用し,出口の場合以上を使用する.

注文数を制御するには,設定のパラメータを調整します:

  • ピラミッドを調整する
  • 調整された自己資本の割合
  • 資本の過剰利用を防ぐために,ピラミッド化*%の資本が100に等しいことを確認します (レバレッジを使用しない限り)

このスクリプトは,毎週または毎週繰り返される購入の代替として設計されています. しかし,技術分析条件の精度に応じて,それはより短い時間枠で利益をもたらすこともあります.

スクリプトがインテリジェントと呼ばれる理由は,最も一般的な再発的な購入は,いかなる意思決定も含まないためである:特定の頻度で何であれ購入する.この戦略は,依然として再発的な購入を実行するが,ポジションの収益性を見ることを不必要に遅らせる可能性があるいくつかの潜在的な悪いエントリをフィルタリングする.第2の理由は,再発的な購入オプションが提供しない,最初から出口戦略があるためである.

戦略の原則

この戦略は,RSIインジケーターとボリンジャー帯のクロスオーバーに基づいてエントリーと出口を決定します.特に,RSIが下線以下にあるとき,短いエントリーを探し,RSIが上線上にあるとき,長い出口を探します.

また,この戦略はピラミディングとバッチアウトの設定を提供します. 資金の過剰利用を防ぐために,ピラミディングの数と毎回使用する株式の割合の合計は100に等しくする必要があります. 平均ダウンを達成するために,勝利ポジションの継続的なピラミディングまたは損失ポジションのみのピラミディングを許可することができます.

退出する際には,設定したパーセントに応じて,全利益または出口をセットで選択できます.また,利益がそのパーセントを下回る場合は,出口を避けるために最低利益パーセントを設定することができます.

全体的に見ると,この戦略は,繰り返し購入と技術分析指標を組み合わせて,いくつかの誤った信号をフィルタリングすることで,より安定したピラミディングを達成し,同時に,自分のリスク意欲に応じて調整できる柔軟な退出メカニズムを設定します.

利点分析

この戦略の最大の利点は,従来の再購買戦略と比較して,入口と出口の両方に技術指標が参照としてあり,決定なしで毎日・週購入とは対照的に,いくつかの間違った信号をフィルターすることができます.

  1. RSIとボリンジャー・バンドを使用して,高値を追いかけるのを避けるためにエントリータイミングを決定します.
  2. 明確な脱出条件で,無期限にポジションを保持するのではなく,利益とストップロスの基準
  3. ピラミッド設定パラメータは,より柔軟な位置サイズ設定のために必要に応じて調整することができます
  4. 負けるポジションやピラミッド勝者だけ追加するオプション
  5. 全利益を取るか 批量で拡大するか
  6. 最低利益率は,早期離脱を防ぐ

要約すると,この戦略は,入入と出入の技術指標判断を高め,自分の好みに応じてパラメータを調整し,盲目入入のリスクを軽減し,利益効率を向上させる一方で,繰り返し購入の周期的なピラミッド効果を実現します.

リスク分析

戦略はリスクを減らすために技術指標のフィルタリングと柔軟なピラミッド化/退出メカニズムを設定していますが,戦略には依然として避けられないリスクがあります.主なリスクには以下が含まれます.

  1. 指示から誤った信号が発信され,最適な入出タイミングが失われる可能性
  2. ピラミッド時間と資本配分の不適切な設定により,過大型ポジションリスクが発生する
  3. 市場は短期的に急激に変動し,指標は間に合わない
  4. 収益性に影響を与える 利益取得の早期または遅れた終了

対応する解は次のとおりです.

  1. 誤差を減らすために複数の指標の組み合わせを使用する
  2. 過剰なレバレッジを避けるため,パラメータを慎重にテストし評価する
  3. 短期間指標からのリアルタイム信号を補助判断として組み込む
  4. 安定した収益性を向上させるため,利益を得るパラメータをテストし最適化する

オプティマイゼーションの方向性

この戦略は,次の側面においてさらに最適化することができる.

  1. 入口/出口精度を向上させるために技術指標を最適化または交換する.より信頼性の高い信号を選択するために異なるパラメータまたは組み合わせをテストすることができます.
  2. ストップ損失戦略を追加する.現在ストップ損失は設定されていません.最大損失を制御するために引き下げまたは他のメトリックに基づいて損失基準を設定できます.
  3. ダイナミックにピラミディングの大きさを調整する.各ピラミッドに追加された資金は,ポジション数または市場変動に基づいてリアルタイムで調整できます.高い変動環境でピラミディングを減らす.
  4. アルゴリズムの取引を統合する.現在の戦略は単純な指標で構成されている.機械学習モデルは,より高いレベルの意思決定のために潜在的に組み込まれる可能性がある.
  5. パラメータ設定を最適化します. リスクを制御しながら高いリターンを追求することを目的として,ピラミッド率,利益率などのパラメータを継続的に最適化します.

結論

インテリジェント・アクキュレーター・バイ・ストラテジーは,技術指標でエントリーと出口をフィルタリングし,盲目エントリーと無期限保有のデメリットを回避し,明確な利益取り/ストップ損失出口メカニズムを設定しながら,繰り返し購入の周期的なピラミッド化利点を維持する.この戦略は,個人的なリスク好みに基づいてピラミッド化と出口パラメータの高度なカスタマイゼーションを可能にし,長期保有者にとって非常に有利である.

もちろん,シグナルエラーや不適切なパラメータのリスクは依然として存在し,指標やパラメータの継続的な最適化や補助ストップロスの手段を通じて対処する必要があります.全体として,戦略は,再購買からスマート蓄積機への重要な進化を形成し,投資家に比較的包括的で制御可能な長期保有ソリューションを提供します.


/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TheTradingParrot

//@version=5
strategy("TTP Intelligent Accumulator", overlay=true)

maxEntries = 0.0

if not na(maxEntries[1])
    maxEntries := maxEntries[1]

rsi = ta.rsi(close, 7)
rsima = ta.sma(rsi, 14)
bbstd = ta.stdev(rsi, 14)

// plot(rsi)
// plot(rsima)
// plot(rsima - bbstd)
// plot(rsima + bbstd)

intEntry = rsi < rsima - bbstd
intExit = rsi > rsima + bbstd

maxEntries := math.max(strategy.opentrades, maxEntries)
plot(maxEntries, "maxEntries")

addWhileInProfit = input.bool(false, "Add while in profit")

extLong = input.bool(false, "", inline = "long")
entry = input.source(close,"entry", inline = "long") == 1

if not extLong
    entry := intEntry
longCondition = entry and (strategy.opentrades == 0 or (not addWhileInProfit or close < strategy.position_avg_price))


if (longCondition)
    strategy.entry("long", strategy.long)

minProfit = input.float(0.0, "Required profit % to exit")
exitPxcandle = input.float(100.0,"% exit per candle")

extShort = input.bool(false, "", inline = "exit")

exit = input.source(close,"exit", inline = "exit") == 1
if not extShort
    exit := intExit

shortCondition = exit
if (shortCondition and strategy.opentrades > 0)
    strategy.close("long", qty_percent = exitPxcandle)

plot(strategy.position_avg_price, "Avg")

もっと