پروگریسو بی بی کے سی ٹرینڈ اسٹریٹیجی


تخلیق کی تاریخ: 2024-01-26 15:10:41 آخر میں ترمیم کریں: 2024-01-26 15:10:41
کاپی: 0 کلکس کی تعداد: 725
1
پر توجہ دیں
1617
پیروکار

پروگریسو بی بی کے سی ٹرینڈ اسٹریٹیجی

جائزہ

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

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

  1. 20 دوروں کے حساب سے برن کے درمیانی ریل، اوپری ریل اور نچلے ریل، بینڈوڈتھ کے ذریعے معیاری فرق کے 2 گنا سے مقرر کرنے کے لئے۔
  2. کیٹ کے وسط ، اوپری اور نچلے ریلوں کے لئے 20 سائیکلوں کا حساب لگایا گیا ہے۔ بینڈوڈتھ 2.2 گنا حقیقی اتار چڑھاؤ کی حد کے ذریعہ طے کی گئی ہے۔
  3. جب کیٹ آن لائن پٹری پر برن بینڈ پر پٹری پر ہے اور اس کی ٹرانسمیشن 10 سائیکل اوسط سے زیادہ ہے تو ، مزید کریں۔
  4. جب کیٹ لائن کے نیچے ٹریک کے ذریعے برن بینڈ نیچے ٹریک اور ٹرانزیکشن حجم 10 سائیکل اوسط سے زیادہ ہو تو ، خالی کریں۔
  5. جب 20 K لائنوں کو کھولنے کے بعد باہر نہیں نکالا جاتا ہے تو ، جبری طور پر اسٹاپ نقصان سے باہر نکلیں۔
  6. زیادہ کرنے کے بعد 1.5٪ کی روک تھام ، کم کرنے کے بعد 1.5٪ کی روک تھام؛ زیادہ کرنے کے بعد 2٪ کی ٹریکنگ کی روک تھام ، کم کرنے کے بعد 2٪ کی ٹریکنگ کی روک تھام۔

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

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

اصلاح کی سمت

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jensenvilhelm

//@version=5
strategy("BB and KC Strategy", overlay=true)

// Define the input parameters for the strategy, these can be changed by the user to adjust the strategy
kcLength = input.int(20, "KC Length", minval=1) // Length for Keltner Channel calculation
kcStdDev = input.float(2.2, "KC StdDev") // Standard Deviation for Keltner Channel calculation
bbLength = input.int(20, "BB Length", minval=1) // Length for Bollinger Bands calculation
bbStdDev = input.float(2, "BB StdDev") // Standard Deviation for Bollinger Bands calculation
volumeLength = input.int(10, "Volume MA Length", minval=1) // Length for moving average of volume calculation
stopLossPercent = input.float(1.5, "Stop Loss (%)") // Percent of price for Stop loss 
trailStopPercent = input.float(2, "Trail Stop (%)") // Percent of price for Trailing Stop
barsInTrade = input.int(20, "Bars in trade before exit", minval = 1) // Minimum number of bars in trade before considering exit

// Calculate Bollinger Bands and Keltner Channel
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bbLength, bbStdDev) // Bollinger Bands calculation
[kc_middle, kc_upper, kc_lower] = ta.kc(close, kcLength, kcStdDev) // Keltner Channel calculation

// Calculate moving average of volume
vol_ma = ta.sma(volume, volumeLength) // Moving average of volume calculation

// Plotting Bollinger Bands and Keltner Channels on the chart
plot(bb_upper, color=color.red) // Bollinger Bands upper line
plot(bb_middle, color=color.blue) // Bollinger Bands middle line
plot(bb_lower, color=color.red) // Bollinger Bands lower line
plot(kc_upper, color=color.rgb(105, 255, 82)) // Keltner Channel upper line
plot(kc_middle, color=color.blue) // Keltner Channel middle line
plot(kc_lower, color=color.rgb(105, 255, 82)) // Keltner Channel lower line

// Define entry conditions: long position if upper KC line crosses above upper BB line and volume is above MA of volume
// and short position if lower KC line crosses below lower BB line and volume is above MA of volume
longCond = ta.crossover(kc_upper, bb_upper) and volume > vol_ma // Entry condition for long position
shortCond = ta.crossunder(kc_lower, bb_lower) and volume > vol_ma // Entry condition for short position

// Define variables to store entry price and bar counter at entry point
var float entry_price = na // variable to store entry price
var int bar_counter = na // variable to store bar counter at entry point

// Check entry conditions and if met, open long or short position
if (longCond)
    strategy.entry("Buy", strategy.long) // Open long position
    entry_price := close // Store entry price
    bar_counter := 1 // Start bar counter
if (shortCond)
    strategy.entry("Sell", strategy.short) // Open short position
    entry_price := close // Store entry price
    bar_counter := 1 // Start bar counter

// If in a position and bar counter is not na, increment bar counter
if (strategy.position_size != 0 and na(bar_counter) == false)
    bar_counter := bar_counter + 1 // Increment bar counter

// Define exit conditions: close position if been in trade for more than specified bars
// or if price drops by more than specified percent for long or rises by more than specified percent for short
if (bar_counter > barsInTrade) // Only consider exit after minimum bars in trade
    if (bar_counter >= barsInTrade)
        strategy.close_all() // Close all positions
    // Stop loss and trailing stop
    if (strategy.position_size > 0)
        strategy.exit("Sell", "Buy", stop=entry_price * (1 - stopLossPercent/100), trail_points=entry_price * trailStopPercent/100) // Set stop loss and trailing stop for long position
    else if (strategy.position_size < 0)
        strategy.exit("Buy", "Sell", stop=entry_price * (1 + stopLossPercent/100), trail_points=entry_price * trailStopPercent/100) // Set stop loss and trailing stop for short position