
この記事では,形状分析と線形状を組み合わせた量化取引戦略について説明します.この戦略は,価格グラフの重要なターニングポイントと,強力な逆転を表す形状を検出することによって,低リスクで高効率の自動取引を実現します.
この戦略は,形状分析と線分析を組み合わせた,価格動向の詳細な分析に基づいており,明確な入場論理と止損論理を設定し,トレンドを効果的に追跡できるようにします.
具体的には,その入場条件は,価格が上から最初の2つのKラインを突破して,突破期前高点形状または多頭吞没形状または頭形状の1つである.この組み合わせの条件は,看板の機会を有効に確認できる.同時に,そのストップ・ロッド条件は,価格が下から最初の2つのKラインを突破して,最低価格である.このようなストップ・ロジックは,時効性のあるストップ・ロスを保証する.
判定形状に関しては,この戦略は,重要な転換点を識別する分類線と,トレンドの逆転を判定する3つの典型的な形状を組み合わせている.その中で重要な転換点の分類は,比較的に広範な分類理論を使用し,多頭,空頭吞食,などの形態は比較的に成熟したアルゴリズムを使用している.
具体的実装では,この戦略はpineスクリプトを使用して記述されている.その検出型の実装ロジックは,現在のK線の最高値が前3本のK線の最高値に等しいとき,つまり頂部型である.底部型の判断原理は類似している.検出吸収型形態は,開盘価格,閉盘価格の大きさの関係に基づく厳格な判断である.
この戦略の主な利点は
この戦略にはいくつかのリスクがあります.
上記のリスクは,ストップ・ローズ戦略の最適化,トレンドフィルターの導入,戦略パラメータを検証する量化ツールの使用などの方法によって制御できます.
この戦略の改善の方向は以下の通りです.
戦略の安定性や収益性をさらに高めることができる.
この記事では,分型線と形状に基づいた定量取引戦略について詳しく説明します. この戦略は,判断が正確で,実行が簡単で,価格の傾向を効果的に捉え,自動取引を実現します. 継続的な最適化と検証により,そのパフォーマンスはさらに向上し,投資家またはトレーダーによる深入な研究と適用に値します.
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Fractal & Pattern Entry/Exit Strategy", overlay=true)
// Fractal calculation
fractalHigh = high == highest(3)
fractalLow = low == lowest(3)
// Pattern detection
bullishEngulfing = open < close[1] and close > open[1] and close > open + (open[1] - close[1]) * 2 and low < min(open, close) and high > max(open, close) and open[1] > close[1]
bearishEngulfing = open > close[1] and close < open[1] and open > close + (close[1] - open[1]) * 2 and high > max(open, close) and low < min(open, close) and open[1] < close[1]
hammer = open < close and close > (high + low + open * 2) / 4 and close - open > (high - low) * 0.6 and high - close < (high - low) * 0.1 and open - low < (high - low) * 0.1
hangingMan = open > close and open < (high + low + close * 2) / 4 and open - close > (high - low) * 0.6 and high - open < (high - low) * 0.1 and close - low < (high - low) * 0.1
// Entry condition
longCondition = crossover(close, highest(2)[1]) and (fractalHigh or bullishEngulfing or hammer)
shortCondition = crossunder(close, lowest(2)[1]) and (fractalLow or bearishEngulfing or hangingMan)
// Exit condition
exitLongCondition = crossunder(close, lowest(2)[1])
exitShortCondition = crossover(close, highest(2)[1])
// Entry and exit orders
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (exitLongCondition)
strategy.close("Long")
if (exitShortCondition)
strategy.close("Short")
// Plot fractals
plotshape(fractalHigh, title="Fractal High", style=shape.triangledown, location=location.abovebar, color=color.green, size=size.small)
plotshape(fractalLow, title="Fractal Low", style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small)
// Plot patterns
plotshape(bullishEngulfing, title="Bullish Engulfing", style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(bearishEngulfing, title="Bearish Engulfing", style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)
plotshape(hammer, title="Hammer", style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(hangingMan, title="Hanging Man", style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)