حکمت عملی بنیادی طور پر مارکیٹ کی سمت اور طاقت کا فیصلہ کرنے کے لئے K- لائن کے اعلی اور کم نکات کے ذریعہ تشکیل شدہ باکس کی خرابی کا پتہ لگاتی ہے۔ جب اوپر کی باکس بریک آؤٹ ہوتی ہے تو ، حکمت عملی بریک آؤٹ پوائنٹ کے ارد گرد ایک لمبی پوزیشن طے کرے گی۔ جب نیچے کی باکس بریک آؤٹ ہوتی ہے تو ، حکمت عملی بریک آؤٹ پوائنٹ کے ارد گرد ایک مختصر پوزیشن طے کرے گی۔ ایک بار جب تجارتی سگنل تیار ہوجاتا ہے تو ، حکمت عملی پوزیشن کھولنے کے لئے آرڈر دے گی اور خطرات پر قابو پانے کے لئے اسٹاپ نقصان طے کرے گی اور منافع لے گی۔
حکمت عملی ایک تجارتی وقت کی مدت کی وضاحت کرتا ہے اور صرف اس مدت کے دوران تجارتی مواقع کی تلاش کرتا ہے.
ہر K- لائن کے بعد، حکمت عملی کا اندازہ ہوتا ہے کہ آیا پچھلے دو K- لائنوں کی سب سے زیادہ اور سب سے کم قیمتوں کے درمیان اہم پیشرفت ہے.
2.1 اگر دوسری K لائن کی سب سے کم قیمت پہلی K لائن کی سب سے زیادہ قیمت سے زیادہ ہے تو ، اوپر کی باکس بریک آؤٹ ہے۔
2.2 اگر دوسری K لائن کی سب سے زیادہ قیمت پہلی K لائن کی سب سے کم قیمت سے کم ہے تو ، نیچے کی باکس بریک آؤٹ ہے۔
باکس بریک آؤٹ سگنل کی تصدیق کے بعد، حکمت عملی موجودہ K لائن کی سب سے زیادہ یا سب سے کم قیمت کے ارد گرد ایک طویل یا مختصر اندراج نقطہ مقرر کرتی ہے.
ایک بار پوزیشن کھولنے کے بعد، حکمت عملی رجحان میں تیزی کو پکڑنے کے لئے توڑنے کی حد کے دو گنا کی بنیاد پر منافع لینے کا تعین کرتی ہے۔
اسٹریٹجی میں نقصان کا خطرہ کم کرنے کے لیے سٹاپ نقصان کو دوسری K لائن کی سب سے کم یا سب سے زیادہ قیمت پر بھی مقرر کیا جاتا ہے۔
اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:
منطق سادہ اور لاگو کرنے میں آسان ہے.
مارکیٹ کی سمت اور طاقت کا اندازہ کرنے کے لئے K لائن باکس بریک آؤٹ کا استعمال کرتے ہوئے اعلی درستگی ہے.
فائدہ اٹھانے کی ترتیب رجحان میں تیزی سے مواقع کو پکڑتی ہے۔ ضرب قابل ایڈجسٹ ہے۔
واحد نقصان کو کنٹرول کرنے کے لئے ایک واضح سٹاپ نقصان منطق ہے.
حکمت عملی کا خیال لچکدار ہے اور ذاتی انداز کے مطابق اپنی مرضی کے مطابق کیا جا سکتا ہے.
تاہم، اس حکمت عملی میں کچھ خطرات ہیں:
بریکآؤٹ سگنل غلط بریکآؤٹ ہو سکتے ہیں، نقصانات سے مکمل طور پر بچ نہیں سکتا۔
داخلہ نقطہ کے قریب سٹاپ نقصان کو جارحانہ منڈیوں سے آسانی سے متحرک کیا جاسکتا ہے۔
یہ رجحان کی ساخت کا فیصلہ نہیں کرسکتا ہے اور رینج سے منسلک مارکیٹوں میں اکثر رک جاتا ہے.
اس میں مختلف مصنوعات اور وقت کی مدت کے اثرات پر غور نہیں کیا گیا ہے۔
حکمت عملی کو مزید بہتر بنانے کے لئے، ہم مندرجہ ذیل پہلوؤں سے بہتر بن سکتے ہیں:
مختلف مصنوعات اور وقت کے ادوار کے لئے انکولی سٹاپ نقصان اور منافع لینے کے پیرامیٹرز مقرر کریں.
رینج سے منسلک مارکیٹوں میں پھنسنے سے بچنے کے لئے رجحان کی تشخیص کے لئے تکنیکی اشارے شامل کریں.
ٹرینڈ رنوں کو ٹریک کرنے کے لئے بعد میں اضافی مواقع مقرر کریں.
بریک آؤٹ اور فلٹر سگنل کی صداقت کا فیصلہ کرنے کے لئے حجم اشارے کو یکجا کریں۔
رجحان کی سمت کا تعین کرنے میں مدد کے لئے مشین سیکھنے کے الگورتھم شامل کریں.
یہ حکمت عملی ایک سادہ بریک آؤٹ اصول پر مبنی ہے تاکہ زیادہ منافع کے لئے بریک آؤٹ کے بعد تیز رفتار رن کو حاصل کیا جاسکے۔ یہ خطرات کو کنٹرول کرنے کے لئے اسٹاپ اور منافع کا استعمال کرتا ہے۔ سمجھنے اور لاگو کرنے میں آسان حکمت عملی کو ذاتی ضروریات اور مارکیٹ کے ماحول کے مطابق اپنی مرضی کے مطابق اور بہتر بنایا جاسکتا ہے ، جس سے یہ انتہائی عملی ہے۔
/*backtest start: 2024-01-07 00:00:00 end: 2024-01-14 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Dvitash //@version=5 strategy("Casper SMC Silver Bullet", shorttitle = "Casper SB", overlay=true, calc_on_order_fills = true) startTime = input(defval = "1000", title = "Start Time") endTime = input(defval = "1600", title = "End Time") contractAmt = input.int(defval = 2, title = "Contract Amount") fvgCol = input.color(defval = color.rgb(63, 61, 179, 41), title = "FVG Color") borderCol = input.color(defval = color.rgb(35, 33, 172, 41), title = "FVG Border Color") fvgExtendLength = input.int(defval = 0, minval = 0, title = "FVG Extend Length") allowedTime = not na(time(timeframe.period, startTime + "-" + endTime +":23456", "America/New_York")) newDay = bool(ta.change(time('D'))) h = hour(time('1'), "America/New_York") var bool fvgDrawn = na var float entryPrice = na var float stopPrice = na var float tpPrice = na if newDay fvgDrawn := false // a_allBoxes = box.all // if array.size(a_allBoxes) > 0 // for i = 0 to array.size(a_allBoxes) - 1 // box.delete(array.get(a_allBoxes, i)) if allowedTime and barstate.isconfirmed and h <= 16 //Long FVG if high[2] < low and not fvgDrawn // box.new(bar_index[2], low, bar_index + fvgExtendLength, high[2], bgcolor = fvgCol, border_color = borderCol) stopPrice := low[2] entryPrice := low tpPrice := entryPrice + (math.abs(low[2] - entryPrice) * 2) // log.info("SL: " + str.tostring(stopPrice) + " Entry: " + str.tostring(entryPrice) + " TP: " + str.tostring(tpPrice)) strategy.entry("long", strategy.long, contractAmt, limit = entryPrice, comment = "Long Entry") fvgDrawn := true if low[2] > high and not fvgDrawn // box.new(bar_index[2], high, bar_index + fvgExtendLength, low[2], bgcolor = fvgCol, border_color = borderCol) stopPrice := high[2] entryPrice := high tpPrice := entryPrice - (math.abs(high[2] - entryPrice) * 2) // log.info("SL: " + str.tostring(stopPrice) + " Entry: " + str.tostring(entryPrice) + " TP: " + str.tostring(tpPrice)) strategy.entry("short", strategy.short, contractAmt, limit = entryPrice, comment = "Short Entry") fvgDrawn := true if h >= 16 strategy.close_all() strategy.cancel_all() strategy.exit("long exit", from_entry = "long", qty = contractAmt, limit = tpPrice, stop = stopPrice, comment = "Long Exit") strategy.exit("short exit", from_entry = "short", qty = contractAmt, limit = tpPrice, stop = stopPrice, comment = "Short Exit")