自動サポート/レジスタンス戦略


作成日: 2023-12-06 16:51:30 最終変更日: 2023-12-06 16:51:30
コピー: 0 クリック数: 624
1
フォロー
1619
フォロワー

自動サポート/レジスタンス戦略

概要

自動サポート/レジスタンス戦略は,トレンドを追跡する戦略である.それは,特定の周期内の最高価格と最低価格を計算することによって,重要なサポートとレジスタンス値を決定する.価格がこれらの重要な値を突破すると,購入または販売の操作を行う.

戦略原則

この戦略は,最初に左側と右側の周期数内の最高価格と最低価格を計算して,主要なサポートとレジスタンス値を決定します. そして,さらに短い周期内の最高価格と最低価格を計算して,急速なサポートとレジスタンス値を決定します. 価格が急速なサポートを突破すると,買取操作を行います.

戦略の鍵となる論理は,左右の価格がサポートまたはレジスタンスを形成した後,価格がこれらの位を突破した場合,新しいトレンドが始まる可能性が高いことであり,この時に操作することでトレンドの方向を捉えることができます.この戦略は,異なる周期的な判断トレンドを組み合わせて,短期的な動力の影響による判断を回避します.

優位分析

この戦略の最大の利点は,鍵となるサポートとレジスタンス値を自動で特定できる点にある.人工的にサポートとレジスタンス位置を判断する必要はない.また,異なる周期判断傾向を組み合わせて,偽の突破状況を効果的にフィルタリングし,取引を回避できる点にある.

さらに,戦略の買入条件と売却条件は単純で明快で,価格が急速なサポートまたはレジスタンス値を突破するだけでよい. 実行しやすく,最適化パラメータを簡単に反測することもできます.

リスク分析

この戦略の最大のリスクは,自動的に計算されたサポートとレジスタンスが必ずしも信頼できないことであり,価格がこれらの位を直接突破して新しいトレンドを形成することがあります.この場合,損失が発生します.

さらに,もし速度のサポートとレジスタンス位の設定周期が短すぎると,偽の突破シグナルが多すぎることにつながり,実際の取引の損失を大きくする.

リスクを軽減するために,取引量,移動平均などの指標の方向判断などの他の指標と組み合わせたフィルタリングを考慮することも考えられます. または,自動計算されたサポートとレジスタンス位の合理性を人工的にチェックすることもできます.

最適化の方向

この戦略は主に2つの点で最適化できます.

  1. 入力された周期パラメータを最適化して,最適なパラメータの組み合わせを探します.異なる左右周期の組み合わせを試して,突破成功率が最も高いパラメータを見つけることができます.

  2. 量能指数,移動平均などの指標のフィルタ条件を追加し,偽突破を避ける.また,人工判断の鍵位の方法と組み合わせて,戦略の効果を向上させることができる.

要約する

この戦略は,全体として,サポートとレジスタンス位置を自動判断する優れた戦略の枠組みである. 自動判断がレジスタンス位置をサポートしているため,実施の難しさは高くなく,トレンドを捕捉する方向に適しています. 同時に,パラメータ最適化と条件フィルタリングを組み合わせて,戦略の収益をさらに向上させることができます.

ストラテジーソースコード
/*backtest
start: 2023-01-01 00:00:00
end: 2023-12-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © lukaRT

//@version=5
strategy("Auto S/R Strategy", shorttitle="Auto S/R", overlay=true)

// Ваши входные параметры
leftBars = input.int(50, title="Left Bars")
rightBars = input.int(25, title="Right Bars")
quickRightBars = input.int(5, title="Quick Right Bars")
src = input(close, title="Source")

pivotHigh = ta.pivothigh(src, leftBars, rightBars)
pivotLow = ta.pivotlow(src, leftBars, rightBars)

quickPivotHigh = ta.pivothigh(src, leftBars, quickRightBars)
quickPivotLow = ta.pivotlow(src, leftBars, quickRightBars)

// Ваши уровни сопротивления и поддержки
resistanceLevel1 = ta.valuewhen(quickPivotHigh, high[quickRightBars], 0)
supportLevel1 = ta.valuewhen(quickPivotLow, low[quickRightBars], 0)

// Пересечение ценой уровней
longCondition = ta.crossover(close, supportLevel1)
shortCondition = ta.crossunder(close, resistanceLevel1)

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Отображение линий сопротивления и поддержки на графике
plot(resistanceLevel1, color=color.red, title="Resistance Level 1")
plot(supportLevel1, color=color.green, title="Support Level 1")