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

کثیر تکنیکی اشارے رجحان Ichimoku کلاؤڈ بریک آؤٹ اور سٹاپ نقصان کے نظام کے ساتھ حکمت عملی کے بعد

مصنف:چاؤ ژانگ، تاریخ: 2024-11-28 15:13:23
ٹیگز:آر ایس آئیایم اےایس ایم اےای ایم اے

img

جائزہ

یہ حکمت عملی ایک جامع تجارتی نظام ہے جو متعدد تکنیکی اشارے کو جوڑتا ہے ، بنیادی طور پر تجارتی فیصلوں کے لئے Ichimoku Cloud اشارے پر مبنی ہے۔ یہ نظام Tenkan اور Kijun لائنوں کے کراسنگ کے ذریعے انٹری پوائنٹس کا تعین کرتا ہے ، جبکہ RSI اور Moving Averages کو معاون فلٹرنگ شرائط کے طور پر شامل کرتا ہے۔ یہ حکمت عملی کلاؤڈ اجزاء کو متحرک اسٹاپ نقصان کی سطح کے طور پر استعمال کرتی ہے ، جو ایک مکمل رسک کنٹرول سسٹم تشکیل دیتی ہے۔

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

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

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

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

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

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

  1. متعدد اشارے کی فلٹرنگ سے کچھ ممکنہ اچھے مواقع ضائع ہوسکتے ہیں
  2. مختلف مارکیٹوں میں اکثر غلط بریک آؤٹ سگنل پیدا کر سکتا ہے
  3. Ichimoku کلاؤڈ اشارے میں موروثی تاخیر ہے جو انٹری ٹائمنگ کو متاثر کر سکتی ہے
  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)


متعلقہ

مزید