
パイン・スクリプトに基づくこの戦略は,指数移動平均 ((EMA) と移動平均収束散度 ((MACD) の指標の追加条件を組み合わせた1-2-3の形状を使用して潜在的な買入シグナルを識別することを目的としています.この戦略は,価格形状,トレンド確認,および動態指標を利用して,包括的な取引シグナルを提供します.
この戦略の核心は,1-2-3形状を識別することです.これは,潜在的なトレンドの逆転を示す3つの連続した線で構成される一般的な価格形状です. 買取シグナルの場合,最初の線の閉じる価格は開く価格より高く,第二の線の閉じる価格は開く価格より低く,第三の線の閉じる価格は最初の線の閉じる価格より高く,そして最後の第四の線の閉じる価格は第三の線の閉じる価格より高くなります.
1-2-3形に加えて,この戦略は,トレンドの方向と潜在的トレンドの逆転を確認するためにEMAとMACDの指標を使用しています. 9期EMAと20期EMAはトレンドの確認に使用され,MACD線とシグナル線は,動力と潜在的トレンドの逆転を識別するために使用されます.
すべての買い条件が満たされたとき,つまり1-2-3形が形成され,閉じる価格は2つのEMAとMACD線が信号線よりも高く,戦略は多頭ポジションを開きます. 同様に,すべての売り条件が満たされたとき,戦略は空頭ポジションを開きます.逆のシグナルが生じるとか,現在の線閉じる方向がポジションの方向と反対であるとき,戦略は相応のポジションを平らげる.
この1-2-3形状,EMA,MACDの指標に基づく戦略は,潜在的な買入シグナルを識別するための包括的な方法を提供します.それは,価格形状,トレンド確認,動向指標を組み合わせて,信頼できる取引シグナルを生成します.しかし,この戦略には,リスク管理手段とパラメータ最適化の欠如などのいくつかの制限があります.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("1-2-3 Pattern Strategy with EMAs, MACD, and 4th Candle Extension", overlay=true)
// Define conditions for the 1-2-3 pattern for buy orders
buy_candle1_above_open = close[3] > open[3]
buy_candle2_below_open = close[2] < open[2]
buy_candle3_above_close = close[1] > close[3]
buy_candle4_above_close = close > close[3]
// Define conditions for the 1-2-3 pattern for sell orders
sell_candle1_below_open = close[3] < open[3]
sell_candle2_above_open = close[2] > open[2]
sell_candle3_below_close = close[1] < close[3]
sell_candle4_below_close = close < close[3]
// Fetch 9 EMA, 20 EMA, and MACD
ema_9 = ta.ema(close, 9)
ema_20 = ta.ema(close, 20)
[macd_line, signal_line, _] = ta.macd(close, 12, 26, 9)
// Implement strategy logic for buy orders
if (buy_candle1_above_open and buy_candle2_below_open and buy_candle3_above_close and buy_candle4_above_close and strategy.opentrades == 0 and close > ema_9 and close > ema_20 and macd_line > signal_line)
strategy.entry("Buy", strategy.long, qty=5)
if (close < open and strategy.opentrades > 0)
strategy.close("Buy", qty=5)
// Implement strategy logic for sell orders
if (sell_candle1_below_open and sell_candle2_above_open and sell_candle3_below_close and sell_candle4_below_close and strategy.opentrades == 0 and close < ema_9 and close < ema_20 and macd_line < signal_line)
strategy.entry("Sell", strategy.short, qty=5)
if (close > open and strategy.opentrades > 0)
strategy.close("Sell", qty=5)