রিসোর্স লোড হচ্ছে... লোডিং...

গতকালের উচ্চ ব্রেকআউট কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৩-১১-০৬ ১০ঃ৪৯ঃ৫৭
ট্যাগঃ

img

সারসংক্ষেপ

গতকালের হাই ব্রেকআউট কৌশল একটি প্রবণতা অনুসরণকারী সিস্টেম যা দাম গতকালের উচ্চতার উপরে ভাঙলে দীর্ঘ হয়, এমনকি যদি ব্রেকআউটটি একদিনে একাধিকবার ঘটে। এর লক্ষ্য ট্রেন্ডিং বাজারের শর্তগুলি অনুসরণ করা।

নীতি

কৌশলটি প্রবেশ এবং প্রস্থান সংকেতগুলির জন্য বেশ কয়েকটি প্রযুক্তিগত সূচক ব্যবহার করেঃ

  • ROC ফিল্টার - কৌশলটি কেবল তখনই সক্ষম করা হয় যখন আজকের বন্ধের তুলনায় পূর্ববর্তী দিনের বন্ধের তুলনায় একটি প্রান্তিকের উপরে একটি মূল্য পরিবর্তন শতাংশ রয়েছে। এটি অ-প্রবণতা উদ্বায়ী বাজারগুলি ফিল্টার করে।

  • ট্রিগার পয়েন্ট - রেকর্ড আজকের উচ্চ, নিম্ন এবং খোলা মূল্য. দীর্ঘ প্রবেশ যখন মূল্য আজকের উচ্চ অতিক্রম সক্রিয়।

  • প্রবেশ এবং প্রস্থান শর্তাবলী - প্রবেশের পরে, স্টপ লস এবং লাভের শতাংশ সেট করা হয়। ট্রেলিং স্টপ লাভ লক করতে সক্ষম করা যেতে পারে। যখন মূল্য একটি রেফারেন্স EMA এর নীচে পড়ে তখন শর্তাধীন প্রস্থান।

  • কনফিগারেশন - প্রবেশের প্রত্যাশা বা বিলম্বের জন্য ফাঁক শতাংশ। কাস্টমাইজযোগ্য স্টপ লস, লাভ নিন, ট্রেলিং স্টপ শতাংশ।

বিশেষত, এটি এন্ট্রি সিগন্যালের জন্য আজকের উচ্চ মূল্য ট্র্যাক করে। যখন দাম আজকের উচ্চতার উপরে ভেঙে যায় তখন লং এন্ট্রি। তারপরে স্টপ লস এবং লাভ গ্রহণের প্রস্থানগুলি সেট করা হয়, ট্রেলিং স্টপ সক্ষম করা হয়। যখন মূল্য দেওয়া ইএমএর নীচে ক্রস হয় তখন বিকল্প প্রস্থান। ফাঁক শতাংশ সেট করে অপ্টিমাইজেশন, ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস এবং লাভের অনুপাতগুলি সামঞ্জস্য করে, লাভকে লক করার জন্য ট্রেলিং স্টপ সক্ষম করে।

সুবিধা বিশ্লেষণ

এই কৌশলটির সুবিধাঃ

  • প্রবণতা অনুসরণ করে, প্রবণতা থেকে লাভ অর্জন করে।

  • ব্রেকআউট কৌশল স্পষ্ট প্রবেশ সংকেত দেয়।

  • আজকের উচ্চ মূল্য বিবেচনা করে, ধারাবাহিক এন্ট্রি এড়ানো।

  • স্টপ লস এন্ড টেক লাভ ঝুঁকি নিয়ন্ত্রণে সাহায্য করে।

  • টেলিং স্টপ লাভে লক করে।

  • ঝুঁকি নিয়ন্ত্রণের জন্য প্যারামিটার অপ্টিমাইজেশান দিয়ে প্রবেশের সময় নির্ধারণ করা যেতে পারে।

  • সহজ এবং স্বজ্ঞাত, বোঝা এবং বাস্তবায়ন করা সহজ।

  • দীর্ঘ ও সংক্ষিপ্ত ব্যবসায়ের জন্য প্রযোজ্য।

ঝুঁকি বিশ্লেষণ

যেসব ঝুঁকি বিবেচনা করা উচিতঃ

  • ব্রেকআউট কৌশলগুলি হুইপসাউসের জন্য সংবেদনশীল। প্রবেশের পর দাম অবিলম্বে বিপরীত হতে পারে।

  • শুধুমাত্র ট্রেন্ডিং মার্কেটের জন্য কার্যকর।

  • যুক্তিসঙ্গত স্টপ লস শতাংশ প্রয়োজন, খুব প্রশস্ত ক্ষতি বাড়িয়ে তুলতে পারে।

  • যুক্তিসঙ্গত ফাঁক শতাংশ প্রয়োজন, খুব আক্রমণাত্মক ক্ষতি বৃদ্ধি করতে পারে।

  • মিথ্যা ব্রেকআউট অপ্রয়োজনীয় ক্ষতির কারণ হতে পারে।

  • ভলিউমকে সমর্থন করতে হবে, ব্রেকআউটের পর।

  • সময়সীমার মধ্যে পরামিতিগুলির মধ্যে প্রয়োজনীয় সামঞ্জস্য।

অপ্টিমাইজেশান নির্দেশাবলী

সম্ভাব্য অপ্টিমাইজেশানঃ

  • ভলিউম, অস্থিরতার মতো অন্যান্য সূচক যুক্ত করুন যাতে বাজারের পরিবর্তনের সময় হুইপস এড়ানো যায়।

  • প্রবণতার শক্তি নির্ধারণের জন্য কার্ভ ফিটিং সূচক যোগ করুন, মিথ্যা প্রবণতা এড়ান।

  • বাজারের অস্থিরতার উপর ভিত্তি করে প্রবেশের ব্যবধানের গতিশীল অপ্টিমাইজেশন।

  • স্টপ লস এবং লাভ নেওয়ার গতিশীল অপ্টিমাইজেশন বাজারের অবস্থার অনুসরণ করে।

  • বিভিন্ন প্রতীক এবং সময়সীমার জন্য বিভিন্ন পরামিতি সেট।

  • মেশিন লার্নিং টু টেস্ট পরামিতি কৌশল কর্মক্ষমতা উপর প্রভাব।

  • কনফিগারেশন অপ্টিমাইজ করার জন্য বিকল্প কার্যকারিতা যোগ করুন.

  • বিভিন্ন বাজারের পরিস্থিতিতে গবেষণার প্রয়োগযোগ্যতা।

  • সময়সীমা এবং মাল্টি-অ্যাসেট কৌশল জুড়ে প্রসারিত করুন।

সিদ্ধান্ত

কৌশলটি গতকালের উচ্চ ধারণার বিরতির ভিত্তিতে ট্রেন্ডিং বাজারের সময় শালীন পারফরম্যান্স সরবরাহ করে। তবে হুইপস এবং প্যারামিটার অপ্টিমাইজেশান অসুবিধার ঝুঁকি রয়েছে। বিচার, গতিশীল প্যারামিটার টিউনিং, সম্মিলিত কৌশলগুলিতে প্রসারিত ইত্যাদি যোগ করে আরও অপ্টিমাইজেশন সম্ভব। সামগ্রিকভাবে এটি স্বল্পমেয়াদী প্রবণতা অনুসরণ করে উপযুক্ত, তবে ঝুঁকি নিয়ন্ত্রণ এবং প্যারামিটার টিউনিং প্রয়োজন।


/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 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/
// Author: © tumiza 999 
// © TheSocialCryptoClub

//@version=5

strategy("Yesterday's High v.17.07", overlay=true, pyramiding = 1,
         initial_capital=10000, 
         default_qty_type=strategy.percent_of_equity, default_qty_value=10,
         slippage=1, backtest_fill_limits_assumption=1, use_bar_magnifier=true,
         commission_type=strategy.commission.percent, commission_value=0.075
         )

// -----------------------------------------------------------------------------
// ROC Filter
// -----------------------------------------------------------------------------

// f_security function by LucF for PineCoders available here: https://www.tradingview.com/script/cyPWY96u-How-to-avoid-repainting-when-using-security-PineCoders-FAQ/
f_security(_sym, _res, _src, _rep) => request.security(_sym, _res, _src[not _rep and barstate.isrealtime ? 1 : 0])[_rep or barstate.isrealtime ? 0 : 1]
high_daily = f_security(syminfo.tickerid, "D", high, false)

roc_enable = input.bool(false, "", group="ROC Filter from CloseD", inline="roc")
roc_threshold = input.float(1, "Treshold", step=0.5, group="ROC Filter from CloseD", inline="roc")

closed = f_security(syminfo.tickerid,"1D",close, false)
roc_filter= roc_enable ? (close-closed)/closed*100  > roc_threshold  : true


// -----------------------------------------------------------------------------
// Trigger Point 
// -----------------------------------------------------------------------------

open_session = ta.change(time('D'))
price_session = ta.valuewhen(open_session, open, 0)
tf_session = timeframe.multiplier <= 60

bgcolor(open_session and tf_session ?color.new(color.blue,80):na, title = "Session")

first_bar = 0
if open_session
    first_bar := bar_index

var max_today = 0.0
var min_today = 0.0
var high_daily1 = 0.0
var low_daily1 = 0.0
var today_open = 0.0

if first_bar
    high_daily1 := max_today
    low_daily1 := min_today
    today_open := open
    max_today := high
    min_today := low


if high >= max_today
    max_today := high

if low < min_today
    min_today := low


same_day  = today_open == today_open[1]

plot( timeframe.multiplier <= 240 and same_day ? high_daily1 : na, color= color.yellow , style=plot.style_linebr, linewidth=1, title='High line')
plot( timeframe.multiplier <= 240 and same_day ? low_daily1 : na, color= #E8000D , style=plot.style_linebr, linewidth=1, title='Low line')

// -----------------------------------------------------------------------------
// Strategy settings 
// -----------------------------------------------------------------------------

Gap = input.float(1,"Gap%", step=0.5, tooltip="Gap di entrata su entry_price -n anticipa entrata, con +n posticipa entrata", group = "Entry")
Gap2 = (high_daily1 * Gap)/100

sl  = input.float(3, "Stop-loss", step= 0.5,  group = "Entry")
tp  = input.float(9, "Take-profit", step= 0.5, group = "Entry")
stop_loss_price = strategy.position_avg_price * (1-sl/100)
take_price = strategy.position_avg_price * (1+tp/100)

sl_trl = input.float(2, "Trailing-stop", step = 0.5, tooltip = "Attiva trailing stop dopo che ha raggiunto...",group = "Trailing Stop Settings")//group = "Trailing Stop Settings")
Atrl= input.float(1, "Offset Trailing", step=0.5,tooltip = "Distanza dal prezzo", group = "Trailing Stop Settings")
stop_trl_price_cond = sl_trl * high/syminfo.mintick/100
stop_trl_price_offset_cond = Atrl * high/syminfo.mintick/100

stop_tick = sl * high/syminfo.mintick/100
profit_tick = tp * high/syminfo.mintick/100

mess_buy = "buy"
mess_sell = "sell"

// -----------------------------------------------------------------------------
// Entry - Exit - Close
// -----------------------------------------------------------------------------

if close < high_daily1 and roc_filter
    strategy.entry("Entry", strategy.long, stop = high_daily1 + (Gap2), alert_message = mess_buy)

ts_n  = input.bool(true, "Trailing-stop", tooltip = "Attiva o disattiva trailing-stop", group = "Trailing Stop Settings")
close_ema = input.bool(false, "Close EMA", tooltip = "Attiva o disattiva chiusura su EMA", group = "Trailing Stop Settings")
len1 = input.int(10, "EMA length", step=1, group = "Trailing Stop Settings")
ma1 = ta.ema(close, len1)

plot(ma1, title='EMA', color=color.new(color.yellow, 0))

if ts_n == true
    strategy.exit("Trailing-Stop","Entry",loss= stop_tick, stop= stop_loss_price, limit= take_price, trail_points = stop_trl_price_cond, trail_offset = stop_trl_price_offset_cond, comment_loss="Stop-Loss!!",comment_profit ="CASH!!", comment_trailing = "TRL-Stop!!", alert_message = mess_sell)
else
    strategy.exit("TP-SL", "Entry",loss= stop_tick, stop=stop_loss_price, limit= take_price, comment_loss= "Stop-loss!!!", comment_profit = "CASH!!", alert_message = mess_sell)

if close_ema == true and ta.crossunder(close,ma1)
    strategy.close("Entry",comment = "Close" , alert_message = mess_sell)



আরো