کلاؤڈ چارٹ پیش رفت اور سٹاپ نقصان کے نظام کے ساتھ مل کر متعدد تکنیکی اشارے ٹرینڈ ٹریکنگ کی حکمت عملی

RSI MA SMA EMA
تخلیق کی تاریخ: 2024-11-28 15:13:23 آخر میں ترمیم کریں: 2024-11-28 15:13:23
کاپی: 0 کلکس کی تعداد: 484
1
پر توجہ دیں
1617
پیروکار

کلاؤڈ چارٹ پیش رفت اور سٹاپ نقصان کے نظام کے ساتھ مل کر متعدد تکنیکی اشارے ٹرینڈ ٹریکنگ کی حکمت عملی

جائزہ

یہ حکمت عملی ایک مکمل تجارتی نظام ہے جس میں تکنیکی اشارے کی ایک سیریز شامل ہے ، جس میں بنیادی طور پر تجارت کے فیصلے کی بنیاد پر اشارے ہیں۔ یہ نظام اینٹینا ٹینکان اور بیس لائن کیجون کے کراسنگ کے ذریعے انٹری ٹائمنگ کا تعین کرتا ہے ، جبکہ نسبتا weak مضبوط اشاریہ (آر ایس آئی) اور منتقل اوسط (ایم اے) کو معاون فلٹرنگ شرائط کے طور پر جوڑتا ہے۔ حکمت عملی نے بادل کے اجزاء کو متحرک اسٹاپ نقصان کی حیثیت سے اپنایا ، جس سے ایک مکمل رسک کنٹرول سسٹم تشکیل دیا گیا۔

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

حکمت عملی کی بنیادی منطق درج ذیل کلیدی عناصر پر مبنی ہے:

  1. ان پٹ سگنل اینٹینا اور بیس لائن کے کراس سے پیدا ہوتا ہے ، اوپری گھسنے سے ملٹی سگنل بنتا ہے ، نیچے گھسنے سے خالی سگنل بنتا ہے
  2. بادلوں کے مقابلے میں قیمت کی پوزیشن کا رشتہ ((Kumo) ایک رجحان کی تصدیق کے طور پر ، قیمت بادلوں کے اوپر زیادہ ہے ، قیمت بادلوں کے نیچے خالی ہے
  3. رجحان فلٹرنگ کے طور پر 50 دن اور 200 دن کی اوسط اوسط کے درمیان مقام کا تعلق
  4. مارکیٹ کی مضبوطی اور کمزوری کی تصدیق کے طور پر سرکلر RSI اشارے ، جعلی سگنل کو فلٹر کریں
  5. متحرک خطرے کے انتظام کے لئے متحرک سٹاپ نقصان کے مقام کے طور پر بادل کی اوپری اور نچلی سرحد کا استعمال کرنا

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Ichimoku Strategy with Optional RSI, MA Filters and Alerts", overlay=true)

// Input for date and time filter
startDate = input(timestamp("2020-01-01 00:00"), title="Start Date")
endDate = input(timestamp("2023-01-01 00:00"), title="End Date")

// Inputs for Ichimoku settings
tenkanPeriod = input.int(9, title="Tenkan Period")
kijunPeriod = input.int(26, title="Kijun Period")
senkouBPeriod = input.int(52, title="Senkou B Period")

// Inputs for Moving Average settings
useMAFilter = input.bool(true, title="Enable Moving Average Filter?")
ma50Period = input.int(50, title="50-day MA Period")
ma200Period = input.int(200, title="200-day MA Period")

// Inputs for RSI settings
useRSIFilter = input.bool(true, title="Enable RSI Filter?")
rsiPeriod = input.int(14, title="RSI Period")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")

// Ichimoku Cloud components
tenkan = (ta.highest(high, tenkanPeriod) + ta.lowest(low, tenkanPeriod)) / 2
kijun = (ta.highest(high, kijunPeriod) + ta.lowest(low, kijunPeriod)) / 2
senkouA = ta.sma(tenkan + kijun, 2) / 2
senkouB = (ta.highest(high, senkouBPeriod) + ta.lowest(low, senkouBPeriod)) / 2
chikou = close[26]

// Moving Averages
ma50 = ta.sma(close, ma50Period)
ma200 = ta.sma(close, ma200Period)

// Weekly RSI
rsiSource = request.security(syminfo.tickerid, "W", ta.rsi(close, rsiPeriod))

// Plotting the Ichimoku Cloud components
pTenkan = plot(tenkan, color=color.blue, title="Tenkan")
pKijun = plot(kijun, color=color.red, title="Kijun")
pSenkouA = plot(senkouA, color=color.green, title="Senkou A")
pSenkouB = plot(senkouB, color=color.maroon, title="Senkou B")
plot(chikou, color=color.purple, title="Chikou")
plot(ma50, color=color.orange, title="50-day MA")
plot(ma200, color=color.yellow, title="200-day MA")

// Corrected fill function
fill(pSenkouA, pSenkouB, color=senkouA > senkouB ? color.green : color.red, transp=90)

// Debugging: Output values on the chart to see if conditions are ever met
plotshape(series=(tenkan > kijun), color=color.blue, style=shape.triangleup, title="Tenkan > Kijun")
plotshape(series=(tenkan < kijun), color=color.red, style=shape.triangledown, title="Tenkan < Kijun")
plotshape(series=(ma50 > ma200), color=color.orange, style=shape.labelup, title="MA 50 > MA 200")
plotshape(series=(ma50 < ma200), color=color.yellow, style=shape.labeldown, title="MA 50 < MA 200")

// Define the trailing stop loss using Kumo
var float trailingStopLoss = na

// Check for MA conditions (apply only if enabled)
maConditionLong = not useMAFilter or (useMAFilter and ma50 > ma200)
maConditionShort = not useMAFilter or (useMAFilter and ma50 < ma200)

// Check for Ichimoku Cloud conditions
ichimokuLongCondition = close > math.max(senkouA, senkouB)
ichimokuShortCondition = close < math.min(senkouA, senkouB)

// Check for RSI conditions (apply only if enabled)
rsiConditionLong = not useRSIFilter or (useRSIFilter and rsiSource > rsiOverbought)
rsiConditionShort = not useRSIFilter or (useRSIFilter and rsiSource < rsiOversold)

// Combine conditions for entry
longCondition = maConditionLong and tenkan > kijun and ichimokuLongCondition and rsiConditionLong
shortCondition = maConditionShort and tenkan < kijun and ichimokuShortCondition and rsiConditionShort

// Date and time filter
withinDateRange = true

// Check for Long Condition
if (longCondition and withinDateRange) 
    strategy.entry("Long", strategy.long)
    trailingStopLoss := math.min(senkouA, senkouB)
    alert("Buy Signal: Entering Long Position", alert.freq_once_per_bar_close)

// Check for Short Condition
if (shortCondition and withinDateRange) 
    strategy.entry("Short", strategy.short)
    trailingStopLoss := math.max(senkouA, senkouB)
    alert("Sell Signal: Entering Short Position", alert.freq_once_per_bar_close)

// Exit conditions
exitLongCondition = close < kijun or tenkan < kijun
exitShortCondition = close > kijun or tenkan > kijun

if (exitLongCondition and strategy.position_size > 0)
    strategy.close("Long")
    alert("Exit Signal: Closing Long Position", alert.freq_once_per_bar_close)

if (exitShortCondition and strategy.position_size < 0)
    strategy.close("Short")
    alert("Exit Signal: Closing Short Position", alert.freq_once_per_bar_close)

// Apply trailing stop loss
if (strategy.position_size > 0)
    strategy.exit("Trailing Stop Long", stop=trailingStopLoss)
else if (strategy.position_size < 0)
    strategy.exit("Trailing Stop Short", stop=trailingStopLoss)