
এই কৌশলটি মার্ক মিনেভিনির স্টক নির্বাচন স্টক টেমপ্লেটের উপর ভিত্তি করে, স্টক মূল্যের প্রবণতা নির্ধারণের জন্য একটি চলমান গড় সূচকের সাথে মিলিত হয়। এটি স্বয়ংক্রিয়ভাবে ক্রয় এবং ক্ষতি করে। এই কৌশলটি মূলত সিদ্ধান্ত নেয় যে স্টকটি উত্থানের প্রবণতায় রয়েছে কিনা এবং কী কী চলমান গড়কে ভেঙে ফেলেছে কিনা, যার ফলে এটি একটি ক্রয় সংকেত তৈরি করে। একই সাথে, কৌশলটি একটি স্টপ লিন্ড সেট করে, যখন স্টক মূল্যের প্রত্যাহার ঘটে তখন সক্রিয়ভাবে থামানো হয়।
এই কৌশলটি মূলত নিম্নলিখিত শর্তগুলি বিচার করে, যখন শর্তগুলি একই সাথে পূরণ করা হয় তখন একটি ক্রয় সংকেত তৈরি করেঃ
যখন উপরের শর্তগুলো পূরণ হয়, তখন কৌশল নির্ধারণ করে যে শেয়ারের দাম উর্ধ্বমুখী পর্যায়ে রয়েছে, যার ফলে একটি ক্রয় সংকেত তৈরি হয়।
উপরন্তু, কৌশলটি একই সাথে একটি স্টপ লস লাইন সেট করে, যখন শেয়ারের দাম সর্বোচ্চ থেকে 5% বা 10% বৃদ্ধি পায়, তখন স্টপ লস বা স্টপ লস করা হয়।
এই কৌশলটি সামগ্রিকভাবে ট্রেন্ডিং ট্রেডিংয়ের ধারণাকে অনুসরণ করে, শেয়ারের দামের উত্থানের প্রবণতা নিশ্চিত করার সাথে সাথে ক্রয় সংকেত তৈরি করে। একই সাথে স্টপ লস ম্যানেজমেন্টের ঝুঁকি নিয়ন্ত্রণের ব্যবস্থা করা হয়। বিভিন্ন বিশদ প্যারামিটারগুলি অনুকূলিতকরণের মাধ্যমে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়ানো যেতে পারে। তবে যে কোনও কৌশলই বাজার ঝুঁকিকে পুরোপুরি এড়ানো কঠিন এবং বিনিয়োগকারীদের সতর্কতার প্রয়োজন।
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Pure Mark Minervini 10%TP 5%CL", pyramiding = 0, commission_type=strategy.commission.percent, commission_value=0.08, overlay=true)
ma50 = sma(close,50)
ma150 = sma(close,150)
ma200 = sma(close,200)
ma200_22 = ma200[22]
high_loopback = input(260, "High Lookback Length")
low_loopback = input(260, "Low Lookback Length")
highest_price = highest(high, high_loopback)
lowest_price = lowest(low, low_loopback)
above52lo = ((close/lowest_price)-1)*100
below52hi = (1-(close/highest_price))*100
ep = strategy.position_avg_price
trigger = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3
var label maLabel = na
if (trigger)
yLocation = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3 ?
yloc.abovebar :
yloc.belowbar
// labelStyle = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3 ?
// label.style_labeldown :
// label.style_labelup
buy = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3
sell = close>ep*1.1 or close<ep*0.95
strategy.entry("TF", strategy.long, when = buy)
strategy.close("TF", when = sell)