آخری N candlesticks کے لیے ریورس منطق کی حکمت عملی


تخلیق کی تاریخ: 2023-12-26 11:00:29 آخر میں ترمیم کریں: 2023-12-26 11:00:29
کاپی: 1 کلکس کی تعداد: 696
1
پر توجہ دیں
1623
پیروکار

آخری N candlesticks کے لیے ریورس منطق کی حکمت عملی

جائزہ

اس حکمت عملی کا بنیادی خیال یہ ہے کہ آخری N صرف K لائنوں کے رنگ کے مطابق زیادہ یا خالی کرنے کا فیصلہ کریں۔ اگر آخری N صرف K لائنیں سبز ہیں تو ، زیادہ کریں؛ اگر آخری N صرف K لائنیں سرخ ہیں تو ، خالی کریں۔ اس کی خاص بات یہ ہے کہ اس میں ایک کدو الٹ منطق کدو کا پیرامیٹر شامل کیا گیا ہے ، جو اصل منطق کو تبدیل کرسکتا ہے۔ جب کدو الٹ منطق کدو کے پیرامیٹرز درست ہوں تو ، آخری N صرف سبز K لائنیں خالی ہوں گی ، اور آخری N صرف سرخ K لائنیں زیادہ ہوں گی۔

حکمت عملی کا اصول

یہ حکمت عملی مندرجہ ذیل اہم پیرامیٹرز پر منحصر ہے:

  1. numCandlesToCheck: چیک کرنے کے لئے K لائنوں کی تعداد کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے
  2. numCandlesToExit: پوزیشن ہولڈنگ کے بعد پوزیشن سے باہر نکلنے کے لئے درکار K لائنوں کی تعداد بتائیں
  3. inverseLogic: ریئل ٹائم کے لئے اصل کثیر جہتی منطق کے الٹ پلٹ منطق کے پیرامیٹرز

کلیدی منطق یہ ہے کہ صرف K لائنوں کو for لوپ کے ذریعے قریب ترین numCandlesToCheck کے ذریعے گھومیں ، اور گرین K لائنوں اور سرخ K لائنوں کی مسلسل تعداد کو حقیقی وقت میں اعدادوشمار کریں۔ اگر مسلسل سرخ K لائن ≥numCandlesToCheck ہے تو ، lastNCandlesRed کو سچ کے طور پر نشان زد کریں۔ اگر مسلسل سبز K لائن ≥numCandlesToCheck ہے تو ، lastNCandlesGreen کو سچ کے طور پر نشان زد کریں۔

جب lastNCandlesGreen سچ ہے تو ، اگر inverseLogic پیرامیٹر غلط ہے تو ، زیادہ کریں؛ اگر سچ ہے تو ، خالی کریں۔ اس کے برعکس ، جب lastNCandlesRed سچ ہے تو ، اگر inverseLogic پیرامیٹر غلط ہے تو ، خالی کریں؛ اگر سچ ہے تو ، زیادہ کریں۔

اس سے قطع نظر کہ زیادہ سے زیادہ کالعدم کیا جائے ، بارس سینس انٹری کاؤنٹر پوزیشن کھولنے کے بعد 0 پر دوبارہ ترتیب دیا جائے گا۔ جب بارس سینس انٹری زیادہ سے زیادہ ہے تو ، موجودہ پوزیشن کو ختم کردیا جائے گا۔

طاقت کا تجزیہ

یہ ایک دلچسپ حکمت عملی ہے جس میں K لائن رنگ کے فیصلے کا استعمال کیا جاتا ہے ، جس میں ایک ریورس لاجسٹک سلنڈر پیرامیٹر شامل کیا گیا ہے ، جس میں زیادہ سے زیادہ کام کرنے کی منطق کو لچکدار طریقے سے ایڈجسٹ کیا جاسکتا ہے۔ اس کے اہم فوائد یہ ہیں:

  1. مارکیٹ کی عام منطق کے خلاف سرمایہ کاری کے نئے خیالات
  2. کوڈ صاف، سادہ، سمجھنے اور ترمیم کرنے میں آسان ہے
  3. پیرامیٹرز کو ایڈجسٹ کرنے کی طرف سے بہترین پیرامیٹرز کا مجموعہ تلاش کریں
  4. اس حکمت عملی کو جاری رکھا جاسکتا ہے اور اس سے کوئی فرق نہیں پڑتا ہے کہ کیا ہوتا ہے۔

خطرے کا تجزیہ

اس حکمت عملی کے کچھ خطرات بھی ہیں جن کے بارے میں آگاہ ہونا ضروری ہے:

  1. K لائن کا رنگ مکمل طور پر حالات کی نمائندگی نہیں کرتا، غلط سگنل کا امکان موجود ہے
  2. numCandlesToCheck پیرامیٹر کے لئے زیادہ سے زیادہ قیمت کا تعین کرنے سے قاصر
  3. parameternumCandlesToExit کے لئے زیادہ سے زیادہ قیمت کا تعین کرنے سے قاصر
  4. ریورس منطق پیرامیٹرز کی غلط ترتیب سے نقصانات میں اضافہ ہوسکتا ہے
  5. واحد نقصان کو مؤثر طریقے سے کنٹرول کرنے میں ناکامی

مندرجہ بالا خطرات کو کنٹرول اور بہتر بنانے کے لئے مندرجہ ذیل اقدامات کیے جاسکتے ہیں:

  1. دوسرے فلٹرز کو شامل کریں تاکہ غلط سگنلوں سے بچا جاسکے ، جیسے بڑھتی ہوئی سطح کا رجحان فیصلہ کرنا
  2. مختلف پیرامیٹرز کی قدر تلاش کرنے کے لئے بہترین مجموعہ تلاش کریں
  3. اسٹاپ نقصان کو کنٹرول کرنے کے لئے ایک اسٹاپ نقصان کا نظام شامل کریں
  4. ریورس منطق پیرامیٹرز کی توثیق

اصلاح کی سمت

اس حکمت عملی کو مندرجہ ذیل نکات سے بہتر بنایا جاسکتا ہے:

  1. زیادہ سے زیادہ پیرامیٹرز کا تعین کریں اور اس سے بچنے سے بچیں
  2. NumCandlesToCheck اور numCandlesToExit کے لئے اصلاح کی قیمت
  3. بڑے دورانیہ کے رجحان کے اشارے کے ساتھ مل کر غلط سگنل کو فلٹر کریں
  4. اسٹاپ نقصان اور اسٹاپ اسٹاپ حکمت عملی میں شامل ہوں
  5. مختلف اقسام کی تصدیق کی حکمت عملی کی کارکردگی کا جائزہ
  6. اصل منطق اور ریورس منطق کے منافع کی شرح کا موازنہ

خلاصہ کریں۔

اس حکمت عملی کا مجموعی نظریہ واضح اور سمجھنے میں آسان ہے ، جس میں سادہ K لائن رنگ کا استعمال کیا جاتا ہے جس سے تجارتی سگنل تشکیل پاتے ہیں۔ حکمت عملی کے پیرامیٹرز کی ایڈجسٹمنٹ سے بھرپور مجموعہ تبدیلیاں پیدا ہوسکتی ہیں ، جس سے مختلف مارکیٹ کے حالات اور اقسام کے ل for بہتر ایڈجسٹمنٹ کی جاسکتی ہے۔ اس کے ساتھ ہی ، کچھ ممکنہ خطرات پر بھی توجہ دینے کی ضرورت ہے ، اور خطرات کو کنٹرول کرنے کے لئے ضروری اقدامات اپنانے کی ضرورت ہے۔ حکمت عملی کے مواد کو مستقل طور پر افزودہ کرکے ، یہ حکمت عملی ایک قیمتی حکمت عملی بن سکتی ہے جو طویل مدتی جنگ کے قابل ہے اور مستقل طور پر بہتر بنائی جاسکتی ہے۔

حکمت عملی کا ماخذ کوڈ
/*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")