ধারাবাহিক মোমবাতি বিপরীত কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-০৮-১০ 13:56:39
ট্যাগঃ

সারসংক্ষেপ

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

কৌশলগত যুক্তি

এই কৌশলটির মূল যুক্তিগুলির মধ্যে রয়েছেঃ

  1. মোমবাতির শরীরের উচ্চতা ন্যূনতম সীমা অতিক্রম করে কিনা তা পরীক্ষা করে দেখুন যাতে অপ্রয়োজনীয় উত্থান / হ্রাসের পদক্ষেপগুলি ফিল্টার করা যায়।

  2. পূর্ববর্তী দুটি মোমবাতি একই রঙের কিনা তা নির্ধারণ করুন, যা একটি সম্ভাব্য স্বল্পমেয়াদী বিপরীত নির্দেশ করতে পারে।

  3. যদি বর্তমান মোমবাতিটির রঙ পূর্ববর্তী দুটি মোমবাতি থেকে আলাদা হয়, তাহলে একটি ট্রেডিং সিগন্যাল তৈরি হয়। অর্থাৎ, দুইটি হ্রাসমুখী মোমবাতি এবং একটি উত্থানমুখী মোমবাতি পরে দীর্ঘ যান, দুটি উত্থানমুখী মোমবাতি এবং একটি হ্রাসমুখী মোমবাতি পরে শর্ট যান।

  4. ট্রেডে প্রবেশের পর, RVI লাইন এবং সিগন্যাল লাইনের ক্রসওভারগুলি প্রস্থান পজিশন নির্ধারণের জন্য ব্যবহৃত হয়। RVI সূচক স্বল্পমেয়াদী বিপরীতগুলি সনাক্ত করতে পারে।

  5. সংক্ষেপে, এই কৌশলটি ক্যান্ডেলস্টিক প্যাটার্ন এবং আরভিআই সূচককে সংমিশ্রণ করে একটি স্বল্পমেয়াদী গড় রিভার্সন সিস্টেম তৈরি করে, অস্বাভাবিক স্বল্পমেয়াদী মূল্য আচরণ থেকে লাভজনক বিপরীতগুলি ক্যাপচার করে।

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

এই কৌশলটির প্রধান সুবিধাগুলির মধ্যে রয়েছেঃ

  1. স্বল্পমেয়াদী মূল্যের অস্বাভাবিকতা ধরা। একই রঙের পরপর মোমবাতি প্রায়ই বিপরীতমুখী জন্য প্রস্তুত অস্বাভাবিকতা নির্দেশ করে।

  2. আরভিআই সূচকটি বিপরীতমুখী নির্ধারণে সহায়তা করে, আরও স্থিতিশীল সংকেতগুলির জন্য মোমবাতি প্যাটার্নগুলিকে পরিপূরক করে।

  3. স্বল্পমেয়াদী ট্রেডিংয়ের জন্য তুলনামূলকভাবে উচ্চ ট্রেডিং ফ্রিকোয়েন্সি। পরপর একই রঙের মোমবাতিগুলি প্রায়শই দেখা যায়, যা প্রচুর ট্রেডিংয়ের সুযোগ দেয়।

  4. স্থির ট্রেড আকার এবং স্টপ লস/লাভ গ্রহণ থেকে নিয়ন্ত্রিত ঝুঁকি।

  5. লাইভ ট্রেডিংয়ের জন্য সহজেই বোঝা এবং বাস্তবায়ন করা সহজ এবং পরিষ্কার যুক্তি।

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

কিছু ঝুঁকি লক্ষ্য করুনঃ

  1. শক্তিশালী প্রবণতা চলাকালীন সংক্ষিপ্ত মেয়াদী বিপর্যয় নিশ্চিত নয় যখন সংকেতগুলি ব্যর্থ হতে পারে।

  2. বিশেষ বাজারের পরিস্থিতিতে RVI ভুল সংকেত তৈরি করতে পারে।

  3. অপ্রয়োজনীয় স্টপ লস সেটিং বড় ক্ষতির কারণ হতে পারে।

  4. ধারাবাহিক মোমবাতি মানদণ্ড খুব শক্ত। N সময়ের মধ্যে একই রঙের মোমবাতিগুলির প্রয়োজনীয় শতাংশে অপ্টিমাইজ করার বিষয়টি বিবেচনা করুন।

  5. স্থির ট্রেড আকার সামগ্রিক অবস্থান ঝুঁকি নিয়ন্ত্রণ করতে পারে না. বৃহত্তর আকারের ঝুঁকি অ্যাকাউন্ট ব্লপ.

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

কৌশলটি আরও উন্নত করার কিছু উপায়ঃ

  1. স্থির সময়ের পরিবর্তে পরিসংখ্যান ব্যবহার করে ধারাবাহিক মোমবাতি লজিক অপ্টিমাইজ করুন।

  2. সেরা সমন্বয় খুঁজে পেতে RVI পরামিতি অপ্টিমাইজ করুন.

  3. বাজারের অস্থিরতার উপর ভিত্তি করে স্টপ লস যোগ করুন।

  4. অ্যাকাউন্ট ব্যবহারের উপর ভিত্তি করে অবস্থানের আকার যোগ করুন।

  5. সিস্টেমের স্থিতিশীলতা উন্নত করার জন্য চ্যানেল, ট্রেন্ডের মতো আরও ফিল্টার যুক্ত করুন।

  6. বিভিন্ন পণ্যের জন্য প্যারামিটার টিউনিং।

  7. ঐতিহাসিক তথ্যের উপর মেশিন লার্নিং গতিশীলভাবে পরামিতি অপ্টিমাইজ করার জন্য।

সংক্ষিপ্তসার

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


/*backtest
start: 2022-10-07 00:00:00
end: 2023-10-07 00:00:00
period: 3d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//This is part of a series of strategies developed automatically by a online software. I cannot share the site url, which is not related to me in any way, because it is against the TV reules.
//
//This strategy was optimized for GBPUSD, timeframe 1D, fixed lots 0.1, initial balance 1000€
//LOGIC:
//- LONG ENTRY when previous candle is bear
//- LONG EXIT: RVI > signal line
//- SHORT ENTRY when previous candle is bull
//- SHORT EXIT: RVI <  signal line
//
//NOTE: I considered the open of actual candle instead of close otherwise there will be a back shift of 1 candle in pine script
//
//Take profit = no
//Stop loss = no

// strategy("Expert studio strategy 1 - GBPUSD", overlay=false, precision=6, initial_capital=1000,calc_on_every_tick=true, pyramiding=0, default_qty_type=strategy.fixed, default_qty_value=10000, currency=currency.EUR)

//INPUTS
src = input(close, "source")
min_body_height = input(42, "Minimum body height", type=input.float)
//bars_back=input(2, "Consecutive bars of same color")
rvi_period = input(55, "RVI period")

//CALCULATIONS_____________________________
//candle color
body_height = abs(open - close) / syminfo.mintick
body_color = open > close ? color.red : color.green

//da migliorare for i=0 to bars_back-1

//RVI -------- thanks to hecate
p = rvi_period

CO = close - open
HL = high - low

value1 = (CO + 2 * CO[1] + 2 * CO[2] + CO[3]) / 6
value2 = (HL + 2 * HL[1] + 2 * HL[2] + HL[3]) / 6

num = sum(value1, p)
denom = sum(value2, p)

RVI = denom != 0 ? num / denom : 0

RVIsig = (RVI + 2 * RVI[1] + 2 * RVI[2] + RVI[3]) / 6

plot(RVI, color=color.green, style=plot.style_line, linewidth=1)
plot(RVIsig, color=color.red, style=plot.style_line, linewidth=1)

//----------------------------------

longCondition = body_height[1] >= min_body_height and body_color[1] == color.red and 
   body_height[0] >= min_body_height and body_color[0] == color.red and 
   RVIsig > RVI
exitLong = RVI > RVIsig

shortCondition = body_height[1] >= min_body_height and body_color[1] == color.green and 
   body_height[0] >= min_body_height and body_color[0] == color.green and 
   RVIsig < RVI
exitShort = RVI < RVIsig

if longCondition and strategy.opentrades == 0
    strategy.entry("Long", strategy.long)

strategy.close("Long", when=exitLong)

if shortCondition and strategy.opentrades == 0
    strategy.entry("Short", strategy.short)

strategy.close("Short", when=exitShort)

// === Backtesting Dates === thanks to Trost

testPeriodSwitch = input(false, "Custom Backtesting Dates")
testStartYear = input(2011, "Backtest Start Year")
testStartMonth = input(10, "Backtest Start Month")
testStartDay = input(7, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, 0)
testStopYear = input(2018, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testStopHour = input(23, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, testStopHour, 0)
testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
testPeriod_1 = testPeriod()
isPeriod = testPeriodSwitch == true ? testPeriod_1 : true
// === /END

if not isPeriod
    strategy.cancel_all()
    strategy.close_all()





আরো