EMA, SMA, CCI, ATR, Moving Average Perfect Alignment Strategy and Trend Magic Indicator Automatic Trading System

EMA SMA CCI ATR
تخلیق کی تاریخ: 2024-09-26 15:52:31 آخر میں ترمیم کریں: 2024-09-26 15:52:31
کاپی: 0 کلکس کی تعداد: 675
1
پر توجہ دیں
1617
پیروکار

EMA, SMA, CCI, ATR, Moving Average Perfect Alignment Strategy and Trend Magic Indicator Automatic Trading System

جائزہ

اس حکمت عملی میں مارکیٹ کے رجحانات کو پکڑنے کے لئے اوسط لائن کامل سیدھ اور ٹرینڈ جادوئی اشارے کا امتزاج کیا گیا ہے۔ اس میں تین چلتی اوسط ((EMA45 ، SMA90 اور SMA180)) اور CCI اور ATR پر مبنی رجحان جادوئی اشارے کا استعمال کیا گیا ہے۔ حکمت عملی کا مرکز اوسط لائن کامل سیدھ کی نشاندہی کرنا ہے ، جبکہ رجحان جادوئی اشارے کے رنگ میں تبدیلی کے ساتھ مل کر رجحان کی واپسی کی تصدیق کرنا ہے ، جس سے تجارتی سگنل پیدا ہوتا ہے۔ اس طریقہ کار کا مقصد جعلی سگنل کو کم کرنا ہے ، اور صرف اس وقت تجارت کرنا ہے جب ایک مضبوط رجحان پیدا ہو۔

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

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

  1. میڈین لائن کی کامل ترتیب: ای ایم اے 45 ، ایس ایم اے 90 اور ایس ایم اے 180 کی تین میڈین لائنیں استعمال کی گئیں ، جب وہ کسی خاص ترتیب کے مطابق ترتیب دی گئیں تو ((کثیر سر: ای ایم اے 45 > ایس ایم اے 90 > ایس ایم اے 180؛ خالی سر: ای ایم اے 45 < ایس ایم اے 90 < ایس ایم اے 180)) ، کو رجحان سازی کا ایک مضبوط اشارہ سمجھا جاتا ہے۔

  2. ٹرینڈ جادو اشارے: یہ ایک اپنی مرضی کے مطابق اشارے ہے جو CCI (کمرٹی چینل انڈیکس) اور ATR (حقیقی طول موج) پر مبنی ہے۔ یہ رنگ کی تبدیلی کے ذریعے ممکنہ رجحان کی تبدیلی کی نشاندہی کرتا ہے۔

  3. داخلہ کی شرائط: تجارت کا اشارہ صرف اس وقت پیدا ہوتا ہے جب میڈین لائن کی کامل صف بندی اور رجحان جادوئی اشارے کے رنگ میں تبدیلی ایک ساتھ مل جاتی ہے۔ اس سے یہ یقینی بنایا جاتا ہے کہ صرف ایک مضبوط رجحان کی تشکیل کے دوران تجارت کی جائے۔

  4. رسک مینجمنٹ: حکمت عملی کا استعمال کرتے ہوئے خطرے کی واپسی کے تناسب پر مبنی سٹاپ نقصان اور منافع کا ہدف۔ اسٹاپ نقصان داخلہ پر SMA90 کی سطح پر مقرر کیا گیا ہے ، منافع کا ہدف 1.5 گنا خطرہ ہے۔

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

  1. رجحانات کا سراغ لگانا: متعدد اشارے کے ساتھ مل کر ، حکمت عملی مؤثر طریقے سے درمیانی اور طویل مدتی رجحانات کو پکڑ سکتی ہے ، اور غلط سگنل کو کم کرسکتی ہے۔

  2. خطرے پر قابو پانا: خطرے کے انتظام کے لئے بلٹ ان میکانزم ، بشمول فکسڈ اسٹاپ نقصانات اور منافع کے اہداف جو خطرے پر مبنی واپسی کے تناسب پر مبنی ہیں ، ہر تجارت کے خطرے پر قابو پانے میں مدد کرتے ہیں۔

  3. لچک: حکمت عملی صارفین کو مختلف مارکیٹ کے حالات اور ذاتی ترجیحات کے مطابق سی سی آئی کی مدت، اے ٹی آر ضرب اور منتقل اوسط کی مدت جیسے پیرامیٹرز کو ایڈجسٹ کرنے کی اجازت دیتا ہے.

  4. بصری: حکمت عملی چارٹ پر ٹرینڈ جادوئی اشارے اور منتقل اوسط کو نقش کرتی ہے ، جس سے تاجروں کو مارکیٹ کے رجحانات کا بصری تجزیہ کرنے میں مدد ملتی ہے۔

اسٹریٹجک رسک

  1. پسماندگی: حرکت پذیر اوسط اور دیگر پسماندہ اشارے کے استعمال کی وجہ سے ، حکمت عملی رجحان کے آغاز میں کچھ مواقع سے محروم ہوسکتی ہے۔

  2. ہلچل والی منڈیوں میں: ہلچل والی یا ہلچل والی منڈیوں میں ، حکمت عملی سے اکثر غلط سگنل پیدا ہوسکتے ہیں ، جس کی وجہ سے زیادہ تجارت ہوتی ہے۔

  3. فکسڈ اسٹاپ: فکسڈ SMA90 کو اسٹاپ کے طور پر استعمال کرنا بعض صورتوں میں بہت زیادہ نرمی کا باعث بن سکتا ہے ، جس سے ممکنہ نقصان بڑھ جاتا ہے۔

  4. پیرامیٹر حساسیت: حکمت عملی کی کارکردگی پیرامیٹرز کی ترتیب سے حساس ہوسکتی ہے ، جس میں محتاط اصلاح اور جانچ پڑتال کی ضرورت ہوتی ہے۔

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

  1. متحرک رکاوٹ: منافع کو بہتر طور پر بچانے کے لئے قیمتوں میں نقل و حرکت کے ساتھ روکنے کی سطح کو ایڈجسٹ کرنے کے لئے ٹریکنگ رکاوٹ پر غور کریں۔

  2. مارکیٹ کی حالت فلٹر: مختلف مارکیٹ کے حالات میں حکمت عملی کے عمل کو ایڈجسٹ کرنے کے لئے اتار چڑھاؤ یا رجحان کی طاقت فلٹر متعارف کرایا.

  3. ٹائم فریم تجزیہ: سگنل کی وشوسنییتا کو بڑھانے اور جعلی سگنل کو کم کرنے کے لئے کثیر ٹائم فریم تجزیہ کو ضم کرنا۔

  4. مقداری اشارے: رجحان کی تصدیق اور الٹ کی شناخت کو بڑھانے کے لئے حجم تجزیہ یا دیگر مقداری اشارے شامل کریں۔

  5. مشین لرننگ کی اصلاح: بدلتے ہوئے مارکیٹ کے حالات کو ایڈجسٹ کرنے کے لئے مشین لرننگ الگورتھم کے پیرامیٹرز کو متحرک طور پر ایڈجسٹ کریں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-08-26 00:00:00
end: 2024-09-24 08:00:00
period: 5m
basePeriod: 5m
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/
// © PakunFX

//@version=5
strategy("Trend Magic with EMA, SMA, and Auto-Trading", shorttitle="TM_Trading", overlay=true, format=format.price, precision=2)

// Inputs
period = input.int(21, "CCI period")
coeff = input.float(1.0, "ATR Multiplier")
AP = input.int(7, "ATR Period")
riskRewardRatio = input.float(1.5, "Risk/Reward Ratio")  // Risk/Reward Ratio for take profit

// Calculations
ATR = ta.sma(ta.tr, AP)
src = input(close)
upT = low - ATR * coeff
downT = high + ATR * coeff
var MagicTrend = 0.0
MagicTrend := ta.cci(src, period) >= 0 ? (upT < nz(MagicTrend[1]) ? nz(MagicTrend[1]) : upT) : (downT > nz(MagicTrend[1]) ? nz(MagicTrend[1]) : downT)

// Define colors for Trend Magic
color1 = ta.cci(src, period) >= 0 ? color.rgb(0, 34, 252) : color.rgb(252, 4, 0)
isBlue = ta.cci(src, period) >= 0
isRed = ta.cci(src, period) < 0

// Convert bool to float (1 for true, 0 for false)
isBlueFloat = isBlue ? 1 : 0
isRedFloat = isRed ? 1 : 0

// Moving Averages
ema45 = ta.ema(close, 45)
sma90 = ta.sma(close, 90)
sma180 = ta.sma(close, 180)

// Plot Trend Magic
plot(MagicTrend, color=color1, linewidth=3)

// Alerts
alertcondition(ta.cross(close, MagicTrend), title="Cross Alert", message="Price - MagicTrend Crossing!")
alertcondition(ta.crossover(low, MagicTrend), title="CrossOver Alarm", message="BUY SIGNAL!")
alertcondition(ta.crossunder(high, MagicTrend), title="CrossUnder Alarm", message="SELL SIGNAL!")

// Perfect Order conditions
bullishPerfectOrder = ema45 > sma90 and sma90 > sma180  // Bullish Perfect Order
bearishPerfectOrder = ema45 < sma90 and sma90 < sma180  // Bearish Perfect Order

// Trend Magic color change detection
trendMagicTurnedBlue = ta.crossover(isBlueFloat, isRedFloat)  // Red to Blue crossover (For long entry)
trendMagicTurnedRed = ta.crossunder(isBlueFloat, isRedFloat)  // Blue to Red crossover (For short entry)

// Variables to store SMA90 at the entry
var float longSma90 = na
var float shortSma90 = na

// Trading logic based on Perfect Order and color change
longCondition = bullishPerfectOrder and trendMagicTurnedBlue  // Buy when Perfect Order is bullish and Trend Magic turns red to blue
shortCondition = bearishPerfectOrder and trendMagicTurnedRed  // Sell when Perfect Order is bearish and Trend Magic turns blue to red

// Strategy Entry
if (longCondition)
    strategy.entry("Buy", strategy.long)
    longSma90 := sma90  // Store SMA90 at entry for long position

if (shortCondition)
    strategy.entry("Sell", strategy.short)
    shortSma90 := sma90  // Store SMA90 at entry for short position

// Stop-Loss and Take-Profit calculations
// For Long Positions: stop at SMA90 (fixed at entry), take profit at 1.5x risk
if (longCondition and not na(longSma90))
    longStopLoss = longSma90  // Use SMA90 at the time of entry
    longRisk = close - longSma90  // Calculate risk
    longTakeProfit = close + longRisk * riskRewardRatio  // Calculate take profit
    strategy.exit("Take Profit/Stop Loss", "Buy", stop=longStopLoss, limit=longTakeProfit)

// For Short Positions: stop at SMA90 (fixed at entry), take profit at 1.5x risk
if (shortCondition and not na(shortSma90))
    shortStopLoss = shortSma90  // Use SMA90 at the time of entry
    shortRisk = shortSma90 - close  // Calculate risk
    shortTakeProfit = close - shortRisk * riskRewardRatio  // Calculate take profit
    strategy.exit("Take Profit/Stop Loss", "Sell", stop=shortStopLoss, limit=shortTakeProfit)

// Plot Moving Averages
plot(ema45, color=color.green, title="EMA 45")
plot(sma90, color=color.blue, title="SMA 90")
plot(sma180, color=color.red, title="SMA 180")