এই কৌশলটি পূর্বের ট্রেডিং দিনের সর্বোচ্চ মূল্যের উপর ভিত্তি করে পরিচালিত হয় এবং এটি একটি প্রবণতা অনুসরণকারী ধরণের কৌশল। এটি পূর্বের ট্রেডিং দিনের সর্বোচ্চ মূল্য অতিক্রম করার সময় অতিরিক্ত পজিশন খুলবে, এমনকি যদি সেই দিনটি একাধিকবার ভেঙে যায় তবেও পুনরাবৃত্তি করা হবে।
LucF ফাংশন ব্যবহার করে সর্বশেষ K-লাইনটি এড়িয়ে চলুন।
নতুন লেনদেনের দিন খোলার সিদ্ধান্ত নিন। সর্বোচ্চ মূল্য max_today এবং সর্বনিম্ন মূল্য min_today রেকর্ড করুন।
বর্তমান সর্বোচ্চ মূল্য high এবং max_today এর মধ্যে তুলনা করুন, max_today আপডেট করুন।
বর্তমান সর্বনিম্ন মূল্য low এবং min_today তুলনা করুন, min_today তে আপডেট করুন।
গত ট্রেডিং দিবসের সর্বোচ্চ এবং সর্বনিম্ন মূল্যের ছবি।
পূর্ববর্তী ট্রেডিং দিনের সর্বোচ্চ মূল্য অতিক্রম করার সময় পজিশন খোলার পয়েন্ট সেট করুন, আপনি সর্বোচ্চ মূল্যের উপর একটি নির্দিষ্ট পরিমাণে GAP যোগ করতে পারেন যাতে বিলম্বিত বা অগ্রিম প্রবেশ করা যায়।
স্টপ লস রেসিপি এসএল এবং স্টপ স্টপ রেসিপি টিপি।
যখন দাম পূর্বের ট্রেডিং দিনের সর্বোচ্চ মূল্য অতিক্রম করে তখন পজিশন খুলুন।
স্টপ লস এবং স্টপ স্টপ সেট করুন।
ট্র্যাকিং স্টপ চালু করা হবে কিনা তা চয়ন করুন, ট্র্যাকিং স্টপ শুরু করার জন্য ন্যূনতম প্রয়োজনীয়তা সেট করুন, ট্র্যাকিং স্টপ দূরত্ব।
EMA বন্ধ করার সময় কি না তা নির্ণয় করতে পারবেন।
এটি একটি অপেক্ষাকৃত সহজ ট্রেন্ড ট্র্যাকিং কৌশল যার সুবিধা হলঃ
কৌশলগত সংকেতগুলি সহজ, সুস্পষ্ট এবং বাস্তবায়নের জন্য সহজ।
গত ট্রেডিং দিবসের সর্বোচ্চ মূল্যের বিরতি থেকে প্রবণতা নিশ্চিতকরণ সংকেত ব্যবহার করে, আপনি কার্যকরভাবে বাজারের ঝড়ের শব্দটি ফিল্টার করতে পারেন।
GAP প্যারামিটার দ্বারা প্রবেশের সংবেদনশীলতা নিয়ন্ত্রণ করা যায়।
সামগ্রিক ঝুঁকি নিয়ন্ত্রণযোগ্য, ক্ষতির পরিমাপ সুস্পষ্ট।
ট্রেকিং স্টপ লস ব্যবহার করে আরও বেশি মুনাফা আনলক করা যায় কিনা তা বেছে নেওয়া যায়।
ইএমএ-র সিদ্ধান্তের সাথে একত্রে, আপনি আপনার মৃত্যুদণ্ডের সময় জরিমানা এড়াতে পারেন।
এই কৌশলটির কিছু ঝুঁকি রয়েছে যা সম্পর্কে সতর্ক থাকা দরকারঃ
বিপর্যয়ের ফলে ক্ষতি হতে পারে, যার জন্য একটি যুক্তিসঙ্গত স্টপ লস মূল্য নির্ধারণ করা প্রয়োজন।
বিপর্যয়ের কার্যকারিতা নির্ভর করে বাজারের প্রবণতার উপর, যা বাজারের অস্থিরতার মধ্যে সহজেই ধরা পড়ে।
ট্র্যাকিং স্টপ যদি ভুলভাবে সেট করা হয় তবে এটি খুব সংবেদনশীল হতে পারে এবং দামের সামান্য সংশোধন দ্বারা স্টপ করা যেতে পারে।
EMA এর মতে, যদি প্যারামিটারগুলি ভুলভাবে নির্বাচিত হয় তবে এটি সংবেদনশীল বা ধীর হতে পারে।
অনেকগুলি ভেরিয়েবলের দিকে নজর দেওয়া এবং অপ্টিমাইজ করা প্রয়োজন, যেমন গ্যাপ, স্টপ লস ম্যাট্রিক্স, ট্র্যাক স্টপ লস সেটিংস ইত্যাদি।
এই কৌশলটি আরও উন্নত করার জন্য নিম্নলিখিত বিষয়গুলি বিবেচনা করা যেতে পারেঃ
স্টপ লসকে স্থির থেকে ATR বা ট্রেন্ডেড স্টপ লস হিসেবে পরিবর্তন করা।
স্ট্যান্ডার্ড ব্যাটারি ফিল্টারিং এর মাধ্যমে কার্যকরতা মূল্যায়ন করা।
ভোল্টেবিলিটি ভিত্তিক শর্তাবলী যুক্ত করা যাতে ভূমিকম্পের প্রভাব বিপর্যস্ত না হয়।
ইএমএ প্যারামিটারগুলিকে আরও স্থিতিশীল এবং সঠিক করার জন্য অপ্টিমাইজ করা হয়েছে।
স্টপ লস ট্র্যাকিং প্যারামিটারগুলিকে অপ্টিমাইজ করা হয়েছে যাতে এটি বাজারের অস্থিরতার সাথে আরও সামঞ্জস্যপূর্ণ হয়।
বিভিন্ন জাতের প্যারামিটার দৃঢ়তা পরীক্ষা করা।
পজিশনের আকার পরিবর্তন করার জন্য একটি মেশিন যুক্ত করুন।
এই কৌশলটি সামগ্রিকভাবে সহজ ব্যবহারিক, প্রচলিত প্রবণতা অনুসরণ কৌশল, পূর্ববর্তী ট্রেডিং দিনের সর্বোচ্চ মূল্যের ব্রেকডাউন প্রবণতা অনুসরণ করার সংকেত হিসাবে কাজ করে, ঝুঁকি নিয়ন্ত্রণ প্রধানত স্টপ লস উপর নির্ভর করে। যুক্তিসঙ্গত প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে, কৌশলটি প্রবণতা চলাকালীন আরও ভাল কার্যকারিতা অর্জন করতে পারে। তবে স্টপ লস কৌশল এবং ফিল্টার শর্তগুলি নিয়ন্ত্রণে মনোযোগ দিতে হবে, যাতে ঝড়ের পরিস্থিতিতে আবদ্ধ না হয়। এই কৌশলটি প্রবণতা অনুসরণ কৌশলটির মৌলিক কাঠামো হিসাবে সম্প্রসারণ অপ্টিমাইজেশন করতে পারে।
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-07 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
// © TheSocialCryptoClub
//@version=5
strategy("Yesterday's High", 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)