MACD پر مبنی کریپٹو کرنسی تجارتی حکمت عملی


تخلیق کی تاریخ: 2023-09-19 11:21:42 آخر میں ترمیم کریں: 2023-09-19 11:21:42
کاپی: 0 کلکس کی تعداد: 759
1
پر توجہ دیں
1617
پیروکار

جائزہ

یہ حکمت عملی ایک ٹریڈنگ حکمت عملی ہے جس کی بنیاد پر cryptocurrency خرید و فروخت کے مقامات کا فیصلہ کرنے کے لئے متحرک اوسط مجموعی قیمتوں کے فرق کے اشارے ((MACD) اور رشتہ دار طاقت کے اشارے ((RSI)) کی بنیاد پر ہے۔ یہ قلیل مدتی اور طویل مدتی منتقل اوسط کے فرق کی گنتی کرکے ، آر ایس آئی کے ساتھ مل کر مارکیٹ کے رجحانات اور اوور بیئر اور اوور سیل کی تشخیص کرنے کے لئے ، ٹریڈنگ کے فیصلے کے لئے سگنل فراہم کرتا ہے۔

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

  1. 12 دن کے EMA اور 26 دن کے EMA کو مختصر مدت اور طویل مدتی منتقل اوسط کے طور پر حساب کیا جاتا ہے

  2. مختصر اور طویل مدتی EMAs کے فرق کو MACD کالم گراف کے طور پر شمار کریں

  3. MACD کے 9 دن کے EMA کو سگنل لائن کے طور پر شمار کریں

  4. 14 دن کے RSI کا حساب لگانا ، اوورلوڈ اور اوور سیل کا فیصلہ کرنا

  5. جب MACD پر سگنل کی لائن کو پار کریں اور RSI 81 سے زیادہ ہو تو ، خریدنے کا اشارہ دکھائیں

  6. جب MACD سگنل لائن کے نیچے سے گزرتا ہے اور RSI 27 سے کم ہے تو ، فروخت کا اشارہ دکھایا جاتا ہے

  7. بلٹ ان پالیسی ماڈیول کا استعمال کرتے ہوئے داخلہ اور باہر نکلیں

طاقت کا تجزیہ

  1. MACD اشارے رجحانات اور رجحانات کی تبدیلیوں کو پہچان سکتا ہے ، اور RSI اشارے اوورلوڈ اور اوورلوڈ کو ظاہر کرسکتے ہیں ، دونوں کو مل کر ٹریڈنگ سگنل کی درستگی کو بہتر بنایا جاسکتا ہے

  2. MACD زیرو محور کے اوپر اور نیچے کی تبدیلیاں ، قلیل مدتی اور طویل مدتی رجحانات کی سمت اور طاقت کی نمائندگی کرتی ہیں ، جو مارکیٹ کی سمت کا فیصلہ کرنے کے لئے بنیاد فراہم کرتی ہیں

  3. آر ایس آئی کے اعلی علاقوں میں زیادہ گرمی اور زیادہ خریدنے کا امکان ہے ، اور آر ایس آئی کے نچلے علاقوں میں زیادہ فروخت کا امکان ہے ، جو خرید و فروخت کے مقامات کی تلاش کے لئے ایک بنیاد فراہم کرتا ہے

  4. ٹریڈنگ سگنل سادہ اور واضح ہیں اور قوانین کے مطابق ٹریڈنگ کرنا آسان ہے

  5. مختلف مارکیٹ کے حالات کے مطابق کرنے کے لئے مرضی کے مطابق ترتیب کے پیرامیٹرز

خطرے کا تجزیہ

  1. MACD اور RSI پر مبنی اعداد و شمار جعلی توڑ اور غیر معمولی اعداد و شمار سے متاثر ہوتے ہیں ، جو غلط سگنل دے سکتے ہیں۔

  2. فکسڈ پیرامیٹرز کی ترتیبات مارکیٹ میں تبدیلیوں کے مطابق نہیں ہوسکتی ہیں اور بہتر بنانے کی ضرورت ہے

  3. خرید و فروخت کے سگنل تاخیر کا شکار ہو سکتے ہیں، جس کی وجہ سے وہ ٹرن آؤٹ پر خرید و فروخت نہیں کر سکتے ہیں۔

  4. چین کی حکومت نے کہا ہے کہ اس کے پاس صرف دو اختیارات ہیں، اور وہ زلزلے سے فائدہ نہیں اٹھا سکتے۔

اصلاح کی سمت

  1. مختلف پیرامیٹرز کے امتزاج کو جانچیں اور بہترین پیرامیٹرز تلاش کریں

  2. اضافی فلٹرنگ کی شرائط کو شامل کریں تاکہ جعلی توڑ سے بچا جا سکے

  3. نقصان کو روکنے کی حکمت عملی میں اضافہ ، یکطرفہ تجارت سے ہونے والے نقصان کو کم کرنا

  4. پوزیشن مینجمنٹ میں اضافہ کریں ، رجحانات میں پوزیشنیں بڑھائیں ، اتار چڑھاؤ میں پوزیشنیں کم کریں

  5. دوسرے اشارے کے ساتھ مل کر ، زیادہ درست خرید و فروخت کے مقامات تلاش کریں

  6. مختلف اقسام اور ٹائم فریموں میں ٹیسٹ

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 04:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Revision:        5
// Author:          @Hugo_Moriceau
//study("Thesis_EMLYON_Withdate-strategies-Daily_Crypto_Moriceau_indicator",overlay=true)

// Pyramide 10 order size 100, every tick

strategy("Daily_Crypto_Moriceau_indicator",overlay=true)

// === GENERAL INPUTS ===

fast = 12, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)

macd = fastMA - slowMA
signal = sma(macd, 9)
rsi = rsi(close,14)



tradeInvert     = input(defval = false, title = "Invert Trade Direction?")

// === LOGIC ===

// is fast ma above slow ma?
aboveBelow = fastMA >= slowMA ? true : false

// are we inverting our trade direction?
tradeDirection = tradeInvert ? aboveBelow ? false : true : aboveBelow ? true : false

// === Plot Setting ===

//plot(fastMA,color=red)
//plot(slowMA,color=blue)
//barcolor(color=iff(fastMA > slowMA, yellow, na))
//barcolor(color=iff(fastMA < slowMA, black, na))
barcolor(color=iff(macd > 0.12*close , fuchsia, na))
barcolor(color=iff(macd < -0.1*close , lime, na))
dataS= macd > 0.125 and rsi>81 and fastMA > slowMA
dataB= macd < -0.1  and rsi<27 and fastMA< slowMA


plotchar(dataB, char='B',color=black,size = size.tiny,location = location.belowbar,transp= 0)  
plotchar(dataS, char='S',color=black,size = size.tiny,location = location.abovebar,transp= 0)


// === BACKTEST RANGE ===
FromMonth = input(defval = 01, title = "From Month", minval = 1)
FromDay   = input(defval = 01, title = "From Day", minval = 1)
FromYear  = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth   = input(defval = 2, title = "To Month", minval = 1)
ToDay     = input(defval = 10, title = "To Day", minval = 1)
ToYear    = input(defval = 2019, title = "To Year", minval = 2018)


// === STRATEGY RELATED INPUTS ===+
// the risk management inputs
inpTakeProfit   = input(defval = 20000, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 1500, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 100, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)

// === RISK MANAGEMENT VALUE PREP ===

// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.

useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na


// === STRATEGY - LONG POSITION EXECUTION ===

enterLong() => not tradeDirection[1] and tradeDirection 
exitLong() => tradeDirection[1] and not tradeDirection
strategy.entry(id = "Long", long = true, when = enterLong()) // use function or simple condition to decide when to get in
strategy.close(id = "Long", when = exitLong()) // ...and when to get out

// === STRATEGY - SHORT POSITION EXECUTION ===

enterShort() => tradeDirection[1] and not tradeDirection
exitShort() => not tradeDirection[1] and tradeDirection
strategy.entry(id = "Short", long = false, when = enterShort())
strategy.close(id = "Short", when = exitShort())

// === STRATEGY RISK MANAGEMENT EXECUTION ===

// finally, make use of all the earlier values we got prepped
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)