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

مصنف:چاؤ ژانگ، تاریخ: 2023-12-26 11:00:29
ٹیگز:

img

جائزہ

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

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

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

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

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

جب lastNCandlesGreen درست ہے تو ، اگر inverseLogic غلط ہے تو طویل ہوجائیں ، بصورت دیگر مختصر ہوجائیں۔ اس کے برعکس ، جب lastNCandlesRed درست ہے تو ، اگر inverseLogic غلط ہے تو مختصر ہوجائیں ، بصورت دیگر طویل ہوجائیں۔

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

فوائد کا تجزیہ

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

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

خطرے کا تجزیہ

اس حکمت عملی کے لئے کچھ خطرات بھی ہیں:

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

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

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

اصلاح کی ہدایات

اس حکمت عملی کے لئے اصلاح کی اہم سمتیں یہ ہیں:

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

نتیجہ

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


/*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")


مزید