সমান্তরাল ব্রেকিং কৌশল হল একটি সংক্ষিপ্ত লাইন ট্রেডিং কৌশল যা চলমান গড় ব্যবহার করে বিচার করা হয়। এই কৌশলটি সমান্তরাল দৈর্ঘ্য সেট করে এবং সমান্তরাল ব্রেকিংয়ের সময় ক্রয়-বিক্রয় পরিচালনা করে। এর বৈশিষ্ট্য হল অপারেশন সহজ এবং সহজেই আয়ত্ত করা যায়।
এই কৌশলটি মূলত দুটি চলমান গড়, একটি দ্রুত লাইন এবং একটি ধীর লাইন সেট করে দামের গতিবিধি নির্ধারণ করে। দ্রুত লাইনটি সংক্ষিপ্ত, প্রতিক্রিয়া সংবেদনশীল; ধীর লাইনটি দীর্ঘ, প্রতিক্রিয়া স্থিতিশীল।
কোড ইনপুট প্যারামিটার সেট করে দ্রুত লাইন পিরিয়ড shortPeriod এবং ধীর লাইন পিরিয়ড longPeriod সংজ্ঞায়িত করে। তারপর দুটি সমান্তরাল মান shortSMA এবং longSMA গণনা করে।
যখন স্বল্পকালীন গড় লাইনটি দীর্ঘকালীন গড় লাইনটি অতিক্রম করে, তখন দামের গতিপথটি বিপরীত দিকে চলে যায়, এটি বেশি করে; যখন স্বল্পকালীন গড় লাইনটি দীর্ঘকালীন গড় লাইনটি অতিক্রম করে, তখন দামের গতিপথটি বিপরীত দিকে চলে যায়, এটি খালি করে।
মাল্টি পজিশনে প্রবেশের শর্তঃ
快线由下向上突破慢线
快线>慢线
ক্রেডিট কমানোর শর্তঃ
快线由上向下跌破慢线
快线<慢线
এছাড়াও, কৌশলটি ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস, স্টপ-আপ এবং পরিমাণের মতো প্যারামিটার সেট করে।
ঝুঁকি প্রতিরোধঃ
সমান্তরাল ব্রেকিং কৌশল ধারণাটি সহজ, দ্রুত এবং ধীরে ধীরে সমান্তরাল বিচার করে আরও খালি সময় করা সহজ। তবে কিছু সমস্যা রয়েছে, যেমন ভুয়া ব্রেকিং, পিছিয়ে পড়া ইত্যাদি। প্যারামিটার অপ্টিমাইজেশন, অন্যান্য সূচকগুলির সংমিশ্রণ এবং অন্যান্য পদ্ধতির মাধ্যমে উন্নত করা যেতে পারে। সামগ্রিকভাবে, কৌশলটি নতুনদের প্রথম পর্যায়ে কৌশল হিসাবে উপযুক্ত, মৌলিক নীতিগুলি আয়ত্ত করার পরে, এটি আরও অনুকূলিতকরণ এবং লাভজনকতা বাড়াতে পারে।
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
period: 1h
basePeriod: 15m
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/
// © YohanNaftali
//@version=5
///////////////////////////////////////////////////////////////////////////////
// Heikin Ashi Candle Startegy
// ver 2021.12.29
// © YohanNaftali
// This script composed by Yohan Naftali for educational purpose only
// Reader who will use this signal must do own research
///////////////////////////////////////////////////////////////////////////////
strategy(
title = 'Heikin Ashi Candle Startegy Long',
shorttitle = 'HA Strategy Long',
format = format.price,
precision = 0,
overlay = true)
// Input
validationPeriod = input.int(
defval = 3,
title = 'Validation Period',
group = 'Candle')
qtyOrder = input.float(
defval = 1.0,
title = 'Qty',
group = 'Order')
maxActive = input.float(
defval = 1.0,
title = 'Maximum Active Open Position',
group = 'Order')
// Long Strategy
tpLong = input.float(
defval = 1,
title = "Take Profit (%)",
minval = 0.0,
step = 0.1,
group = "Long") * 0.01
slLong = input.float(
defval = 25,
title = "Stop Loss (%)",
minval=0.0,
step=0.1,
group="Long") * 0.01
trailingStopLong = input.float(
defval = 0.2,
title = "Trailing Stop (%)",
minval = 0.0,
step = 0.1,
group = 'Long') * 0.01
// Calculation
haTicker = ticker.heikinashi(syminfo.tickerid)
haClose = request.security(haTicker, timeframe.period, close)
haOpen = request.security(haTicker, timeframe.period, open)
// Long
limitLong = tpLong > 0.0 ? strategy.position_avg_price * (1 + tpLong) : na
stopLong = slLong > 0.0 ? strategy.position_avg_price * (1 - slLong) : na
float trailLong = 0.0
trailLong := if strategy.position_size > 0
trailClose = close * (1 - trailLong)
math.max(trailClose, trailLong[1])
else
0
isGreen = true
for i = 0 to validationPeriod-1
isGreen := isGreen and haClose[i] > haOpen[i]
isLong = isGreen and haClose[validationPeriod] < haOpen[validationPeriod]
plot(
limitLong,
title = 'Limit',
color = color.rgb(0, 0, 255, 0),
style = plot.style_stepline,
linewidth = 1)
plot(
trailLong,
title = 'Trailing',
color = color.rgb(255, 255, 0, 0),
style = plot.style_stepline,
linewidth = 1)
plot(
stopLong,
title = 'Stop',
style = plot.style_stepline,
color = color.rgb(255, 0, 0, 0),
linewidth = 1)
// plotshape(
// isLong,
// title = 'Entry',
// style = shape.arrowup,
// location = location.belowbar,
// offset = 1,
// color = color.new(color.green, 0),
// text = 'Long Entry',
// size = size.small)
// Strategy
strategy.risk.max_position_size(maxActive)
strategy.risk.allow_entry_in(strategy.direction.long)
strategy.entry(
id = "Long",
direction = strategy.long,
qty = qtyOrder,
when = isLong,
alert_message = "LN")
if (strategy.position_size > 0)
strategy.exit(
id = "Long Exit",
from_entry = "Long",
limit = limitLong,
stop = stopLong,
trail_price = trailLong,
alert_message = "LX")