یہ حکمت عملی رجحان کی سمت کا تعین کرنے اور رجحان کی تجارت کے لئے درمیانی سے طویل مدتی رجحانات کو پکڑنے کے لئے تیز اور سست حرکت پذیر اوسط کے امتزاج کا استعمال کرتی ہے۔ جب تیز ایم اے سست ایم اے کے اوپر عبور کرتا ہے تو یہ طویل ہوجاتا ہے ، اور جب تیز ایم اے سست ایم اے سے نیچے عبور کرتا ہے تو مختصر ہوجاتا ہے۔ یہ ایک عام رجحان کی پیروی کرنے والی حکمت عملی ہے۔
یہ حکمت عملی بنیادی طور پر مارکیٹ کے رجحانات کا تعین کرنے کے لئے چلتی اوسط کی گولڈن کراس اور ڈیتھ کراس پر انحصار کرتی ہے۔ خاص طور پر ، یہ 5 پیریڈ فاسٹ ایم اے اور 21 پیریڈ سست ایم اے کا استعمال کرتی ہے۔
جب تیز ایم اے سست ایم اے کے اوپر عبور کرتا ہے تو ، یہ مارکیٹ میں ایک اپ ٹرینڈ کی نشاندہی کرتا ہے ، اور حکمت عملی اگلے بار کے افتتاح پر طویل ہوجائے گی۔ جب تیز ایم اے سست ایم اے سے نیچے عبور کرتا ہے تو ، یہ نیچے کے رجحان کی نشاندہی کرتا ہے ، اور حکمت عملی اگلے بار کے افتتاح پر مختصر ہوجائے گی۔
اس کے علاوہ ،
کریپٹو ٹریڈنگ کے ل the ، حکمت عملی میں انتہائی قدر کی منطق بھی شامل ہے - صرف اس وقت جب تیز اور سست ایم اے دونوں انتہائی علاقوں تک پہنچ جائیں گے تو تجارتی سگنل متحرک ہوجائیں گے۔ اس سے غلط سگنل سے بھی بچتا ہے۔
باہر نکلنے کا اصول سادہ اور براہ راست ہے - سٹاپ نقصان کو مارنے پر بند پوزیشن.
خطرات کو کم کیا جا سکتا ہے:
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
موجودہ مارکیٹ کے لئے بہترین پیرامیٹرز تلاش کرنے کے لئے زیادہ سے زیادہ ایم اے کے مجموعے کی جانچ کریں، مثال کے طور پر 10 مدت تیز رفتار ایم اے اور 50 مدت سست ایم اے.
ٹیسٹ MACD، KDJ اور دیگر اشارے کو شامل کرنے کے لئے زیادہ سخت اندراج کے قوانین کو مقرر کرنے اور غلط سگنل سے بچنے کے لئے.
موجودہ سادہ ڈبل ایم اے اندراج کو بہتر بنایا جا سکتا ہے:
دوسرے سٹاپ میکانزم جیسے ٹرائلنگ اسٹاپ کو آزمائیں تاکہ قبل از وقت اسٹاپ آؤٹ سے بچ سکیں۔
رجحانات کو یاد کرنے سے بچنے کے لئے، رکاوٹوں کو مارنے کے بعد دوبارہ داخل ہونے کی اجازت دیں.
خلاصہ یہ ہے کہ ، اس بنیادی رجحان کی پیروی کرنے والی حکمت عملی میں سادہ اور سیدھا منطق ہے۔ رجحان کی سمت کے لئے دوہری ایم اے اور خطرے کے انتظام کے لئے چلنے والی رکاوٹوں کا استعمال کرنا۔ پیشہ ور افراد کو سمجھنا آسان ہے ، رجحانات سے فائدہ اٹھا سکتے ہیں ، اور خطرات کا انتظام کرسکتے ہیں۔ لیکن حدود بھی موجود ہیں ، جیسے استحکام کے دوران خراب سگنل ، قبل از وقت اسٹاپ آؤٹ وغیرہ۔ لائیو ٹیوننگ اور اصلاح کی ضرورت ہے ، جیسے فلٹرز شامل کرنا ، اسٹاپ کو ایڈجسٹ کرنا ، تاکہ اسے مختلف مارکیٹ کے ماحول میں موافقت پذیر بنایا جاسکے۔ ایک تعارفی رجحان ٹریڈنگ کی حکمت عملی کے طور پر ، یہ ابتدائی افراد کے لئے سیکھنے اور لاگو کرنے کے لئے موزوں ہے۔ لیکن اس کی حدود کو نوٹ کیا جانا چاہئے ، اور زیادہ جدید حکمت عملیوں کی تلاش کی جانی چاہئے۔ صرف مسلسل بہتری کے ذریعے ہی کسی کو ہمیشہ بدلتی ہوئی مارکیٹوں میں پائیدار منافع حاصل ہوسکتا ہے۔
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Noro's Trend MAs Strategy v2.3", shorttitle = "Trend MAs str 2.3", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, "long") needshort = input(true, "short") needstops = input(false, "stops") stoppercent = input(5, defval = 5, minval = 1, maxval = 50, title = "Stop, %") usefastsma = input(true, "Use fast MA Filter") fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast MA Period") slowlen = input(21, defval = 20, minval = 2, maxval = 200, title = "slow MA Period") bars = input(2, defval = 2, minval = 0, maxval = 3, title = "Bars Q") needbg = input(false, defval = false, title = "Need trend Background?") needex = input(true, defval = true, title = "Need extreme? (crypto/fiat only!!!)") 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") src = close //PriceChannel 1 lasthigh = highest(src, slowlen) lastlow = lowest(src, slowlen) center = (lasthigh + lastlow) / 2 //PriceChannel 2 lasthigh2 = highest(src, fastlen) lastlow2 = lowest(src, fastlen) center2 = (lasthigh2 + lastlow2) / 2 //Trend trend = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend[1] //Bars bar = close > open ? 1 : close < open ? -1 : 0 redbars = bars == 0 ? 1 : bars == 1 and bar == -1 ? 1 : bars == 2 and bar == -1 and bar[1] == -1 ? 1 : bars == 3 and bar == -1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0 greenbars = bars == 0 ? 1 : bars == 1 and bar == 1 ? 1 : bars == 2 and bar == 1 and bar[1] == 1 ? 1 : bars == 3 and bar == 1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0 //Fast RSI fastup = rma(max(change(close), 0), 2) fastdown = rma(-min(change(close), 0), 2) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //CryptoBottom mac = sma(close, 10) len = abs(close - mac) sma = sma(len, 100) max = max(open, close) min = min(open, close) //Signals up1 = trend == 1 and (low < center2 or usefastsma == false) and redbars == 1 dn1 = trend == -1 and (high > center2 or usefastsma == false) and greenbars == 1 up2 = high < center and high < center2 and bar == -1 and needex dn2 = low > center and low > center2 and bar == 1 and needex up3 = close < open and len > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //Lines plot(center2, color = red, linewidth = 3, transp = 0, title = "Fast MA") plot(center, color = blue, linewidth = 3, transp = 0, title = "Slow MA") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Trading stoplong = up1 == 1 and needstops == true ? close - (close / 100 * stoppercent) : stoplong[1] stopshort = dn1 == 1 and needstops == true ? close + (close / 100 * stoppercent) : stopshort[1] if up1 or up2 or up3 strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) strategy.exit("Stop Long", "Long", stop = stoplong) if dn1 strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) strategy.exit("Stop Short", "Short", stop = stopshort) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()