وسائل لوڈ ہو رہے ہیں... لوڈنگ...

بڑی اتار چڑھاؤ کے خاتمے کے دو طرفہ تجارتی حکمت عملی: نقطہ پر مبنی حد اندراج کا نظام

مصنف:چاؤ ژانگ، تاریخ: 2024-11-18 16:11:21
ٹیگز:اے ٹی آرSLٹی پی

img

جائزہ

یہ حکمت عملی 30 منٹ کی موم بتیوں پر مبنی دو طرفہ تجارتی نظام ہے ، جو قیمتوں میں اتار چڑھاؤ کی نگرانی کے ذریعے تجارتی مواقع کی تلاش میں ہے۔ بنیادی طریقہ کار میں نقطہ کی حدوں کا استعمال کرتے ہوئے قیمتوں میں نمایاں تبدیلیوں کی نشاندہی کرنا اور بریک آؤٹ کی تصدیق پر تجارت کو انجام دینا شامل ہے۔ حکمت عملی میں سخت وقت کا انتظام ، اسٹاپ نقصان / منافع لینے کے طریقہ کار ، اور کنٹرول شدہ خودکار تجارت کے لئے تجارت کے انتظام کے پروٹوکول شامل ہیں۔

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

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

حکمت عملی کے فوائد

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

حکمت عملی کے خطرات

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

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

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

نتیجہ

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


/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Big Candle Breakout Strategy Both Side", overlay=true)  

// Input for the point move threshold
point_move_in = input.int(100, title="Point Move Threshold")
point_target = input.int(100, title="Point Target")
point_stoploss = input.int(100, title="Point Stop Loss")
point_buffer = input.int(5, title="Point Buffer")

point_move = point_buffer + point_move_in

// Define the start and end times for trading
start_hour = 9
start_minute = 15
end_hour = 14
end_minute = 30

// Function to check if the current time is within the allowed trading window
in_time_range = (hour(time('30')) > start_hour or (hour(time('30')) == start_hour and minute(time('30')) >= start_minute)) and (hour(time('30')) < end_hour or (hour(time('30')) == end_hour and minute(time('30')) <= end_minute))

// Retrieve the open, high, low, and close prices of 30-minute candles
open_30m = request.security(syminfo.tickerid, "30", open)
high_30m = request.security(syminfo.tickerid, "30", high)
low_30m = request.security(syminfo.tickerid, "30", low)
close_30m = request.security(syminfo.tickerid, "30", close)

// Calculate the range of the candle
candle_range_long = (close_30m - open_30m)
candle_range_short = (open_30m - close_30m)

// Determine if the candle meets the criteria to be marked
big_candle_long = candle_range_long >= point_move_in
big_candle_short = candle_range_short >= point_move_in

// Variables to store the state of the trade
var float long_entry_price = na
var float long_target_price = na
var float long_stop_loss_price = na

var float short_entry_price = na
var float short_target_price = na
var float short_stop_loss_price = na

// Check if there are no active trades
no_active_trades = (strategy.opentrades == 0)

// Long entry condition
if (big_candle_long and na(long_entry_price) and in_time_range and no_active_trades)
    long_entry_price := high_30m+point_buffer
    long_target_price := long_entry_price + point_target
    long_stop_loss_price := long_entry_price - point_stoploss
    strategy.entry("Buy", strategy.long, stop=long_entry_price, limit=long_target_price)

plot(long_entry_price, style=plot.style_linebr, color=color.blue, linewidth=2, title="Entry Price")
plot(long_target_price, style=plot.style_linebr, color=color.green, linewidth=2, title="Target Price")
plot(long_stop_loss_price, style=plot.style_linebr, color=color.red, linewidth=2, title="Stop Loss Price")

// Short entry condition
if (big_candle_short and na(short_entry_price) and in_time_range and no_active_trades)
    short_entry_price := low_30m - point_buffer
    short_target_price := short_entry_price - point_target
    short_stop_loss_price := short_entry_price + point_stoploss
    strategy.entry("Sell", strategy.short, stop=short_entry_price, limit=short_target_price)

plot(short_entry_price, style=plot.style_linebr, color=color.blue, linewidth=2, title="Short Entry Price")
plot(short_target_price, style=plot.style_linebr, color=color.green, linewidth=2, title="Short Target Price")
plot(short_stop_loss_price, style=plot.style_linebr, color=color.red, linewidth=2, title="Short Stop Loss Price") 

// Long exit conditions
if (not na(long_entry_price))
    strategy.exit("Long Exit", from_entry="Buy", limit=long_target_price, stop=long_stop_loss_price)
   
// Short exit conditions
if (not na(short_entry_price))
    strategy.exit("Short Exit", from_entry="Sell", limit=short_target_price, stop=short_stop_loss_price)

// Reset trade status
if (strategy.position_size == 0)
    long_entry_price := na
    long_target_price := na
    long_stop_loss_price := na

    short_entry_price := na
    short_target_price := na
    short_stop_loss_price := na

// Plot the big candle and entry/exit levels
plotshape(series=big_candle_long, location=location.abovebar, style=shape.circle, color=color.green)
plotshape(series=big_candle_short, location=location.abovebar, style=shape.circle, color=color.red)

//plot(long_entry_price, style=plot.style_stepline, color=color.blue, linewidth=2, title="Entry Price")
//plot(long_target_price, style=plot.style_stepline, color=color.green, linewidth=2, title="Target Price")
//plot(long_stop_loss_price, style=plot.style_stepline, color=color.red, linewidth=2, title="Stop Loss Price")


متعلقہ

مزید