حکمت عملی کے بعد ڈبل ایم اے کراس اوور رجحان


تخلیق کی تاریخ: 2023-12-21 16:10:22 آخر میں ترمیم کریں: 2023-12-21 16:10:22
کاپی: 1 کلکس کی تعداد: 611
1
پر توجہ دیں
1623
پیروکار

حکمت عملی کے بعد ڈبل ایم اے کراس اوور رجحان

جائزہ

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

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

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

طاقت کا تجزیہ

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

خطرے کا تجزیہ

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

خطرے کو کم کرنے کے لئے، مندرجہ ذیل اقدامات کریں:

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

اصلاح کی سمت

یہ حکمت عملی مندرجہ ذیل پہلوؤں سے بہتر بنائی جا سکتی ہے۔

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

خلاصہ کریں۔

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

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

//@version=2

strategy(title = "Strategy Code Example", shorttitle = "Strategy Code Example", overlay = true)

// Revision:        1
// Author:          @JayRogers
//
// *** THIS IS JUST AN EXAMPLE OF STRATEGY RISK MANAGEMENT CODE IMPLEMENTATION ***

// === GENERAL INPUTS ===
// short ma
maFastSource   = input(defval = open, title = "Fast MA Source")
maFastLength   = input(defval = 14, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource   = input(defval = open, title = "Slow MA Source")
maSlowLength   = input(defval = 21, title = "Slow MA Period", minval = 1)

// === STRATEGY RELATED INPUTS ===
tradeInvert     = input(defval = false, title = "Invert Trade Direction?")
// the risk management inputs
inpTakeProfit   = input(defval = 1000, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 200, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 200, 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

// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)

// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50)
slow = plot(maSlow, title = "Slow MA", color = red, linewidth = 2, style = line, transp = 50)

// === LOGIC ===
// is fast ma above slow ma?
aboveBelow = maFast >= maSlow ? true : false
// are we inverting our trade direction?
tradeDirection = tradeInvert ? aboveBelow ? false : true : aboveBelow ? true : false

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() => not tradeDirection[1] and tradeDirection // functions can be used to wrap up and work out complex conditions
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)