یہ حکمت عملی بنیادی طور پر ایک چلتی اوسط کراس حکمت عملی ہے۔ قیمتوں کی چلتی اوسط کا حساب لگاتے ہوئے اور کچھ قلیل مدتی اور طویل مدتی چلتی اوسط طے کرتے ہوئے ، جب مختصر مدت کی چلتی اوسط نیچے سے طویل مدتی چلتی اوسط سے اوپر کی طرف بڑھتی ہے تو طویل عرصے تک جائیں۔ جب مختصر مدت کی چلتی اوسط اوپر سے طویل مدتی چلتی اوسط سے نیچے کی طرف بڑھتی ہے۔
قیمتوں کی چلتی اوسط کراس حکمت عملی کا بنیادی خیال یہ ہے کہ: قیمت کی چلتی اوسط قیمت کی تبدیلی کے رجحان کو مؤثر طریقے سے ظاہر کرسکتی ہے۔ حکمت عملی تجارتی سگنل پیدا کرنے کے لئے مختلف سائیکلوں کے دو چلتے اوسط اور کچھ تجارتی منطق کو ترتیب دے کر مارکیٹ کے رجحان کی تبدیلی کا فیصلہ کرتی ہے۔
حکمت عملی طویل مدتی متحرک اوسط اور قلیل مدتی حساب کتاب کرتی ہے۔ لمبی لائن بنیادی طور پر بڑے رجحان کا فیصلہ کرتی ہے ، اور مختصر لائن کا استعمال بڑے رجحان کے دوران درمیانی مدتی اتار چڑھاؤ کو پکڑنے کے لئے کیا جاتا ہے۔ حکمت عملی کے تجارتی سگنل بنیادی طور پر لمبی لائن پر مختصر لائن کے کراسنگ سے آتے ہیں: لمبی سگنل جب مختصر لائن لمبی لائن سے اوپر کراس کرتی ہے ، اور مختصر سگنل جب مختصر لائن نیچے کراس کرتی ہے۔ اس کے علاوہ ، حکمت عملی غلط سگنل سے بچنے کے لئے سگنل کو فلٹر کرتی ہے۔
خاص طور پر ، حکمت عملی میں 7 مختلف قسم کے چلتے ہوئے اوسط استعمال ہوتے ہیں ، جن میں ایس ایم اے ، ای ایم اے ، وی ڈبلیو ایم اے وغیرہ شامل ہیں۔ صارفین چلتے ہوئے اوسط کی قسم کا انتخاب کرسکتے ہیں۔ چلتے ہوئے اوسط کی لمبائی کو بھی لچکدار طریقے سے مقرر کیا جاسکتا ہے۔ اس کے علاوہ ، حکمت عملی میں کچھ تجارتی وقت کی مدت اور پوزیشن مینجمنٹ میکانزم پر پابندیاں بھی فراہم کی جاتی ہیں۔ ان ترتیبات کے ذریعہ ، صارفین مختلف اقسام اور مارکیٹ کے ماحول کے مطابق ڈھالنے کے لئے حکمت عملی کے پیرامیٹرز کو لچکدار طریقے سے ایڈجسٹ کرسکتے ہیں۔
قیمتوں کی چلتی اوسط کراس حکمت عملی کے اہم فوائد مندرجہ ذیل ہیں:
حکمت عملی کا منطق واضح اور سادہ ہے، سمجھنے اور لاگو کرنے میں آسان ہے، beginners کے لئے سیکھنے کے لئے موزوں ہے.
حکمت عملی کا اصول مضبوط ہے، جو چلتی اوسط ٹریڈنگ کے مکمل طور پر تصدیق شدہ قوانین پر مبنی ہے، اور مارکیٹوں میں عملی طور پر تجربہ کیا گیا ہے.
اسٹریٹیجی کے پیرامیٹرز لچکدار اور ایڈجسٹ کرنے کے قابل ہیں۔ صارفین اپنے فیصلوں اور مارکیٹ کی ترجیحات کے مطابق مناسب پیرامیٹرز منتخب کرسکتے ہیں۔
حکمت عملی میں نقصان دہ احکامات کے انعقاد کے وقت کو کم کرنے اور غیر ضروری ریورس پوزیشنوں کو روکنے کے لئے کچھ رسک کنٹرول میکانزم موجود ہیں۔
اس حکمت عملی میں متعدد قسم کے چلتے ہوئے اوسط شامل ہیں۔ صارفین اپنی تجارتی اقسام کے لئے موزوں ترین چلتے ہوئے اوسط کی قسم منتخب کرسکتے ہیں۔
حکمت عملی میں اہم چھٹیوں کے بازاروں میں غیر معمولی اتار چڑھاؤ سے بچنے کے لئے مخصوص تجارتی اوقات کے دوران تجارتی منطق کو فعال کرنے کی حمایت کی گئی ہے۔
اگرچہ قیمتوں کی حرکت پذیر اوسط کراس حکمت عملی کے بہت سے فوائد ہیں ، لیکن اصل تجارت میں ابھی بھی کچھ خطرات موجود ہیں ، جو بنیادی طور پر مندرجہ ذیل دو پہلوؤں میں ظاہر ہوتے ہیں:
زیادہ تر حرکت پذیر اوسط کی تاخیر کی وجہ سے ، قیمت کی تبدیلی مکمل ہونے کے بعد بعد کے مرحلے میں کراس سگنل ظاہر ہوسکتے ہیں ، جس میں پھنسنا آسان ہے۔
اگر پیرامیٹرز کو غلط طریقے سے ترتیب دیا جائے تو ، کراس سگنل بہت کثرت سے ہوسکتے ہیں ، جس کے نتیجے میں بہت زیادہ تجارتی سرگرمی اور زیادہ تجارتی اخراجات پیدا ہوتے ہیں۔
مندرجہ بالا خطرات کے جواب میں، کنٹرول اور نمٹنے کے طریقوں کو مندرجہ ذیل طریقوں سے کیا جاتا ہے:
مناسب سٹاپ نقصان کی حد مقرر کرکے واحد نقصان کے خطرے کو کنٹرول کریں۔
ٹریڈنگ کی تعدد کو کم کریں اور فلٹر کی شرائط کو شامل کرکے اوور ٹریڈنگ کو روکیں۔ مثال کے طور پر ، قیمت چینل یا قیمت میں اتار چڑھاؤ کی حد کی شرائط مرتب کریں۔
آپ کی اپنی تجارتی اقسام اور سائیکلوں کے لئے پیرامیٹرز کے سب سے مناسب مجموعہ کا انتخاب کرنے کے لئے چلتی اوسط کے پیرامیٹرز کو بہتر بنائیں۔ مختلف مارکیٹ کے حالات میں حکمت عملی کے استحکام کا تجربہ کریں۔
قیمتوں کی حرکت پذیر اوسط کراس اوور کی اس حکمت عملی کو مزید بہتر بنانے کی گنجائش ہے۔ یہ مندرجہ ذیل پہلوؤں میں کیا جاسکتا ہے۔
انتہائی مارکیٹ کے حالات میں حفاظتی میکانزم کو بڑھانا۔ مثال کے طور پر غیر معمولی مارکیٹ کے حالات سے بچنے کے لئے شدید قیمتوں میں اتار چڑھاؤ کے دوران تجارت کو عارضی طور پر معطل کرنا۔
سگنل کے معیار اور استحکام کو بہتر بنانے کے لئے زیادہ فلٹر شرائط اور مشترکہ تجارتی سگنل میں اضافہ کریں۔ مثال کے طور پر ، دیگر تکنیکی اشارے کے ساتھ مل کر ٹرینڈ کراس اوورز کی نشاندہی کریں۔
متحرک پیرامیٹر سسٹم اپنائیں۔ مارکیٹ کے حالات اور اقسام کی خصوصیات کے مطابق ، مقررہ اقدار کے بجائے خود بخود اہم پیرامیٹرز جیسے چلتی اوسط لمبائی ، تجارتی سوئچ وغیرہ کو ایڈجسٹ کریں۔
اس حرکت پذیر اوسط کراس اوور سگنل کو اعلی درجے کی حکمت عملیوں میں لاگو کریں جیسے مرکب قسم کی ثالثی۔ گہری حکمت عملی کی اصلاح کے لئے اسے دوسری معلومات کے ساتھ جوڑیں۔
مندرجہ بالا تجاویز اس حکمت عملی کے قابل اطلاق ماحول اور تاثیر کو بڑھا سکتی ہیں اور بہتر خطرہ انعام کے توازن کو حاصل کرسکتے ہیں۔
اس مضمون میں سادہ حرکت پذیر اوسط کراس اوور حکمت عملی - نوروس کراس ایم اے کا تفصیلی کوڈ تجزیہ اور تشریح کی گئی ہے۔ ہم اس کی حکمت عملی کے خیال ، اصول کی ساخت ، اہم فوائد اور ممکنہ بہتری کی سمتوں کا تجزیہ کرتے ہیں۔ مجموعی طور پر ، اس حکمت عملی میں واضح منطق ہے اور یہ آسان اور عملی ہے۔ لچکدار پیرامیٹر ایڈجسٹمنٹ بہت سارے تجارتی ماحول میں موافقت پذیر ہے۔ ہم حکمت عملی میں موجودہ مسائل اور خطرات کو بھی تجزیہ کرتے ہیں اور ھدف بنائے گئے مشورے دیتے ہیں۔ یہ خیال کیا جاتا ہے کہ ان جامع تجزیہ اور مباحثوں کے ذریعے ، تاجر اس طرح کی حکمت عملیوں کو بہتر طور پر سمجھ سکتے ہیں اور حقیقی تجارتی نظام کو مستقل طور پر بہتر بنانے میں ان کی مدد کرسکتے ہیں۔
/*backtest start: 2022-11-20 00:00:00 end: 2023-11-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2019 //@version=4 strategy(title = "Noro's CrossMA", shorttitle = "CrossMA", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0, commission_value = 0.1) needlong = input(true, "long") needshort = input(true, "short") lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") type = input(defval = "SMA", options = ["SMA", "EMA", "VWMA", "DEMA", "TEMA", "KAMA", "PCMA"], title = "MA type") src = input(close, defval = close, title = "MA Source") len = input(30, defval = 30, minval = 1, title = "MA length") off = input(00, defval = 00, minval = 0, title = "MA offset") anti = input(true, defval = true, title = "Anti-saw filter") showma = input(true, defval = true, title = "Show MA") showbg = input(false, defval = false, title = "Show background") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //DEMA dema = 2 * ema(src, len) - ema(ema(close, len), len) //TEMA xPrice = close xEMA1 = ema(src, len) xEMA2 = ema(xEMA1, len) xEMA3 = ema(xEMA2, len) tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3 //KAMA xvnoise = abs(src - src[1]) nfastend = 0.20 nslowend = 0.05 nsignal = abs(src - src[len]) nnoise = sum(xvnoise, len) nefratio = iff(nnoise != 0, nsignal / nnoise, 0) nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) kama = 0.0 kama := nz(kama[1]) + nsmooth * (src - nz(kama[1])) //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 sma_1 = sma(src, len) ema_1 = ema(src, len) vwma_1 = vwma(src, len) ma2 = type == "SMA" ? sma_1 : type == "EMA" ? ema_1 : type == "VWMA" ? vwma_1 : type == "DEMA" ? dema : type == "TEMA" ? tema : type == "KAMA" ? kama : type == "PCMA" ? center : 0 ma = ma2[off] macol = showma ? color.blue : na plot(ma, color = macol, linewidth = 3, transp = 0) //Background trend = 0 trend := anti == false and close > ma ? 1 : anti == false and close < ma ? -1 : low > ma ? 1 : high < ma ? -1 : trend[1] bgcol = showbg ? trend == 1 ? color.lime : trend == -1 ? color.red : na : na bgcolor(bgcol, transp = 70) //Trading size = strategy.position_size truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59) lot = 0.0 lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1] if trend == 1 and trend[1] == -1 strategy.entry("Long", strategy.long, lot, when = needlong and truetime) if trend == -1 and trend[1] == 1 strategy.entry("Short", strategy.short, lot, when = needshort and truetime) if size > 0 and needshort == false and trend == -1 strategy.close_all() if size < 0 and needlong == false and trend == 1 strategy.close_all() if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all() strategy.cancel("Long") strategy.cancel("Short")