শেষ N ক্যান্ডেলস্টিকের জন্য বিপরীত যুক্তি কৌশল


সৃষ্টির তারিখ: 2023-12-26 11:00:29 অবশেষে সংশোধন করুন: 2023-12-26 11:00:29
অনুলিপি: 1 ক্লিকের সংখ্যা: 696
1
ফোকাস
1623
অনুসারী

শেষ N ক্যান্ডেলস্টিকের জন্য বিপরীত যুক্তি কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত নিম্নলিখিত কয়েকটি গুরুত্বপূর্ণ প্যারামিটারের উপর নির্ভর করেঃ

  1. numCandlesToCheck: পরীক্ষা করার জন্য K লাইন সংখ্যা নির্দিষ্ট করতে ব্যবহৃত হয়
  2. numCandlesToExit: অবস্থান ধরে রাখার পর K লাইন থেকে বেরিয়ে আসার সংখ্যা উল্লেখ করুন
  3. inverseLogic: রিয়েল-টাইম পলিটিক্যাল লজিকের বিপরীত বিপরীত লজিকের প্যারামিটার

মূল যুক্তিটি হল, শুধুমাত্র K লাইনগুলিকে for-লুপের মাধ্যমে অতিক্রম করে এবং রিয়েল-টাইমে ক্রমাগত প্রকাশিত সবুজ K লাইন এবং লাল K লাইনগুলির সংখ্যা পরিসংখ্যান করে। যদি ক্রমাগত লাল K লাইন ≥numCandlesToCheck হয় তবে lastNCandlesRed সত্য হিসাবে চিহ্নিত করুন। যদি ক্রমাগত সবুজ K লাইন ≥numCandlesToCheck হয় তবে lastNCandlesGreen সত্য হিসাবে চিহ্নিত করুন।

যখন lastNCandlesGreen সত্য হয়, যদি inverseLogic যুক্তিটি মিথ্যা হয়, তবে আরও কিছু করুন; যদি সত্য হয় তবে শূন্য করুন। বিপরীতে, যখন lastNCandlesRed সত্য হয়, যদি inverseLogic যুক্তিটি মিথ্যা হয় তবে শূন্য করুন; যদি সত্য হয় তবে আরও কিছু করুন।

আপনি যতই কমাই করুন না কেন, barsSinceEntry কাউন্টারটি পজিশন খোলার পরে 0 এ পুনরায় সেট করা হবে। যখন barsSinceEntry বৃহত্তর হয়, তখন বর্তমান অবস্থানটি সমতল করা হবে।

সামর্থ্য বিশ্লেষণ

এটি একটি আকর্ষণীয় কৌশল যা K-লাইন রঙের সিদ্ধান্তের সাথে যুক্ত হয়, যা নল বিপরীত লজিক কুলুঙ্গি প্যারামিটার যোগ করে, যা নমনীয়ভাবে লজিককে আরও নমনীয় করে তোলে। এর প্রধান সুবিধা হলঃ

  1. নতুন চিন্তাধারা, যা বাজারের সাধারণ ধারণার বিপরীতে বিনিয়োগ করতে পারে
  2. কোড পরিষ্কার, সংক্ষিপ্ত, সহজে বোঝা যায় এবং পরিবর্তন করা যায়
  3. সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পেতে প্যারামিটারগুলি সামঞ্জস্য করুন
  4. যে কোন পরিস্থিতিতে, এই কৌশলটি চলতে থাকবে এবং সংকেত তৈরি করবে।

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

এই কৌশলটির কিছু ঝুঁকি রয়েছে যা সম্পর্কে সতর্ক থাকা দরকারঃ

  1. K লাইন রং সম্পূর্ণরূপে পরিস্থিতি প্রতিনিধিত্ব করে না, ট্র্যাকিং ত্রুটিপূর্ণ সংকেত সম্ভাবনা
  2. numCandlesToCheck প্যারামিটারের সর্বোচ্চ মান নির্ধারণ করা যায়নি
  3. numCandlesToExit প্যারামিটারের সর্বোচ্চ মান নির্ধারণ করা যায়নি
  4. বিপরীত লজিক প্যারামিটারগুলি ভুলভাবে সেট করা ক্ষতির কারণ হতে পারে
  5. একক ক্ষতির কার্যকর নিয়ন্ত্রণের অক্ষমতা

উপরোক্ত ঝুঁকির জন্য, নিম্নলিখিত পদক্ষেপগুলি নিয়ন্ত্রণ এবং অপ্টিমাইজ করার জন্য নেওয়া যেতে পারেঃ

  1. অন্যান্য ফিল্টার যুক্ত করুন যাতে ভুল সংকেতগুলি এড়ানো যায়, যেমন প্রবণতা বিচারক স্তর বাড়ানো
  2. বিভিন্ন প্যারামিটার থেকে মান গ্রহণ করে এবং সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে বের করে
  3. একক ক্ষতি নিয়ন্ত্রণে স্টপ লস মেকানিজম যোগদান
  4. বৈধতা যাচাই করার জন্য বিপরীত লজিক প্যারামিটার

অপ্টিমাইজেশান দিক

এই কৌশলটি মূলত নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. প্যাটার্ন নির্ধারণে সহায়তা করুন এবং প্যাটার্নগুলিকে ফাঁদে ফেলবেন না
  2. numCandlesToCheck এবং numCandlesToExit অপ্টিমাইজেশান মান
  3. বড় আকারের চক্রের প্রবণতা সূচকগুলির সাথে মিলিত ত্রুটিযুক্ত সংকেতগুলি ফিল্টার করুন
  4. স্টপ লস এবং স্টপ স্টপ কৌশল যোগ করুন
  5. বিভিন্ন জাতের বৈধকরণ কৌশলগুলির কার্যকারিতা পরীক্ষা করা
  6. মূল লজিক এবং বিপরীত লজিকের তুলনা

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-12-25 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Last Number of  Candles", overlay=true)

// Define the condition for a green candle
isGreenCandle(candle) =>
    close[candle] > open[candle]

// Define the condition for a red candle
isRedCandle(candle) =>
    close[candle] < open[candle]

// Input to specify the number of candles to check
numCandlesToCheck = input(5, title="Number of Candles to Check")
numCandlesToExit = input(2, title="Number of Candles To Exit")  // Corrected the input title

// Initialize variables to count consecutive green and red candles
var int consecutiveGreenCandles = 0
var int consecutiveRedCandles = 0

// Initialize barsSinceEntry outside the loop
var int barsSinceEntry = 0

// Loop through the last "numCandlesToCheck" candles
for i = 0 to numCandlesToCheck - 1
    if isGreenCandle(i)
        consecutiveGreenCandles := consecutiveGreenCandles + 1
        consecutiveRedCandles := 0 // Reset the count for consecutive red candles
    else if isRedCandle(i)
        consecutiveRedCandles := consecutiveRedCandles + 1
        consecutiveGreenCandles := 0 // Reset the count for consecutive green candles

// Check if the last "numCandlesToCheck" candles are green or red
lastNCandlesGreen = consecutiveGreenCandles >= numCandlesToCheck
lastNCandlesRed = consecutiveRedCandles >= numCandlesToCheck

// Calculate the quantity based on the investment value and current asset price
investmentValue = input(10000, title="Investment Value")
var assetPrice = close
var quantity = investmentValue / assetPrice


inverseLogic = input(false, title="inverseLogic")

// Entry condition: Open a buy order if the last "numCandlesToCheck" candles are green
if lastNCandlesGreen
    if inverseLogic
        strategy.entry("Short", strategy.long, qty = quantity)
    else 
        strategy.entry("Buy", strategy.long, qty = quantity)// Reset barsSinceEntry when entering a trade
    barsSinceEntry := 0

// Entry condition: Open a short order if the last "numCandlesToCheck" candles are red
if lastNCandlesRed
    if inverseLogic
        strategy.entry("Buy", strategy.long, qty = quantity)

    else 
        strategy.entry("Short", strategy.short, qty = quantity)
    // Reset barsSinceEntry when entering a trade
    barsSinceEntry := 0

// Increment barsSinceEntry
barsSinceEntry := barsSinceEntry + 1

// Exit condition: Close the position after 2 bars
if barsSinceEntry >= numCandlesToExit
    strategy.close("Buy")
    strategy.close("Short")