এই কৌশলটি K লাইনের একই উচ্চ এবং নিম্ন পয়েন্টের উপর ভিত্তি করে লেনদেন করে। লেনদেনের সংকেতের একটি ট্রিগার হিসাবে, যখন এক সপ্তাহের K লাইনের ডাবল-ডাবল বা ডাবল-টপ মোটিফ থাকে।
লেনদেনের লজিকঃ
বর্তমান K লাইন বা পূর্ববর্তী K লাইন এর সর্বোচ্চ মূল্য নির্ধারণ করুন পূর্ববর্তী দুটি K লাইনের সর্বোচ্চ মূল্যের সমান
বর্তমান K লাইন বা পূর্ববর্তী K লাইনের সর্বনিম্ন মূল্যকে পূর্ববর্তী দুটি K লাইনের সর্বনিম্ন মূল্যের সমান বলে বিচার করা
ডাবল বেস ফর্ম্যাট দেখা দেয়, যখন দাম কম হয় তখন আরও বেশি করা হয়
ডাবল শীর্ষ আকৃতির উত্থান, যখন দাম উচ্চ ব্রেকডাউন হয় খালি
স্টপ লস ব্রেকিং পয়েন্টের কাছাকাছি এবং স্টপ স্টপ ATR মানের একটি ফ্যাক্টর দ্বারা গুণিত
এই কৌশলটি প্রবণতা চালানোর সুযোগকে কাজে লাগানোর চেষ্টা করে যখন দাম একই স্তরের উচ্চ-নিম্ন পয়েন্ট অতিক্রম করে। স্টপ-ডাউন-স্টপ কৌশল দ্বারা ঝুঁকি নিয়ন্ত্রণ করা হয়।
সমতল উচ্চ নিম্ন সহজে সনাক্তকরণ, ব্রেকিং সিগন্যাল স্পষ্ট
ATR স্টপডাউন গতিশীল ট্রেন্ড ট্র্যাকিং
নিয়ম সহজ, স্পষ্ট, ঝুঁকি নিয়ন্ত্রণযোগ্য
সমতল উচ্চ নিম্ন গঠনের বিরল
স্টপপয়েন্টের খুব কাছাকাছি, স্টপপয়েন্ট হওয়ার ঝুঁকি
ATR প্যারামিটার সেটিং
এই কৌশলটি একই স্তরের উচ্চ এবং নিম্ন ব্রেকআপের সুযোগগুলি ক্যাপচার করে ট্রেন্ড ট্রেডিং করে। তবে স্টপ লস স্টপ কৌশলটির সেটিং এবং ট্রেডিং ফ্রিকোয়েন্সির বিষয়ে মনোযোগ দিতে হবে।
/*backtest
start: 2023-09-06 00:00:00
end: 2023-09-13 00:00:00
period: 10m
basePeriod: 1m
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/
// © cherepanovvsb
//@version=5
strategy("SHL", overlay=true, margin_long=100, margin_short=100,initial_capital=100,default_qty_type = strategy.cash,default_qty_value =40,commission_type = strategy.commission.percent,commission_value =0.04,currency="EUR", process_orders_on_close=true)
atr = input.int(title="ATR length for abnormal candles", defval=5)
plotshape(low == low[1], style=shape.triangleup, location=location.belowbar, color=color.blue, title="1 Setup")
plotshape(high==high[1], style=shape.triangledown, location=location.abovebar, color=color.blue, title="1 Setup")
plotshape(low == low[1] and low[1]==low[2], style=shape.triangleup, location=location.belowbar, color=color.red, title="Triple Setup")
plotshape(low==high[1] or low==high[2] or low==high[3] or low==high[4] or low==high[5] or low==high[6], style=shape.triangleup, location=location.belowbar, color=color.green, title="Mirror Setup")
plotshape(high==low[1] or high==low[2] or high==low[3] or high==low[4] or high==low[5] or high==low[6], style=shape.triangledown, location=location.abovebar, color=color.green, title="Mirror Setup")
barcolor(high-low>2*ta.atr(atr)? color.yellow:na)
ATRlenght = input.int(title="ATR length for take profit", defval=14, group="Strategy Settings")
rewardMultiplier= input.int(title="ATR multiplier", defval=5, group="Strategy Settings")
// Get ATR
atr1 = ta.atr(ATRlenght)
validlow = low[1] == low[2] and not na(atr1)
validhigh = high[1]==high[2] and not na(atr1)
validlong = validlow and strategy.position_size == 0 and low[1]<low
validshort = validhigh and strategy.position_size == 0 and high[1]>high
// Calculate Entrance, SL/TP
longStopPrice = low[1]-syminfo.mintick
longStopDistance = close - longStopPrice
longTargetPrice = close + (longStopDistance * rewardMultiplier)
shortStopPrice = high[1]+syminfo.mintick
shortStopDistance = shortStopPrice - close
shortTargetPrice = close - (shortStopDistance * rewardMultiplier)
var tradeStopPrice = 0.0
var tradeTargetPrice = 0.0
if validlong
tradeStopPrice := longStopPrice
tradeTargetPrice := longTargetPrice
if validshort
tradeStopPrice := shortStopPrice
tradeTargetPrice := shortTargetPrice
strategy.entry ("Long", strategy.long,1, when=validlong)
strategy.entry ("Short", strategy.short,1, when=validshort)
strategy.exit(id="Long Exit", from_entry="Long", limit=tradeTargetPrice, stop=tradeStopPrice, when=strategy.position_size > 0)
strategy.exit(id="Short Exit", from_entry="Short", limit=tradeTargetPrice, stop=tradeStopPrice, when=strategy.position_size < 0)
plot(strategy.position_size != 0 or validlong or validshort ? tradeStopPrice : na, title="Trade Stop Price", color=color.red, style=plot.style_linebr, transp=0)
plot(strategy.position_size != 0 or validlong or validshort ? tradeTargetPrice : na, title="Trade Target Price", color=color.green, style=plot.style_linebr, transp=0)