یہ حکمت عملی سگنل کے بعد رجحان پیدا کرنے کے لئے مختلف لمبائی کے دو EMAs کے ڈھلوانوں کے کراس کا استعمال کرتی ہے۔ ڈیفالٹ کے طور پر ، 130 اور 400 استعمال کیے جاتے ہیں ، جو بہت اچھی کارکردگی کا مظاہرہ کرتے ہیں۔
اسٹریٹجی کو مارکیٹ میں داخل کرنے کی شرائط یہ ہیں:
جب سادہ ڈھلوان مخالف سمت میں عبور کرتے ہیں، تو یہ پوزیشن بند کر دیتا ہے۔
یہ حکمت عملی بٹ کوائن اور سب سے زیادہ مائع اور سرمایہ کاری والے الٹکوئنز پر بہترین کارکردگی کا مظاہرہ کرتی ہے ، لیکن اتار چڑھاؤ والے اثاثوں پر بھی بہت اچھا کام کرتی ہے ، خاص طور پر اگر وہ اکثر ٹرینڈ ہوتے ہیں۔ 4 گھنٹے کے ٹائم فریم پر بہترین کام کرتا ہے.
ایک اختیاری اتار چڑھاؤ فلٹر بھی موجود ہے ، جو صرف اس صورت میں پوزیشن کھولتا ہے جب دو ڈھلوانوں کے مابین فرق ایک مخصوص قدر سے زیادہ ہو۔ اس کا مقصد اس وقت پوزیشن کھولنے سے بچنا ہے جب قیمت سائیڈ ویز ہو رہی ہو اور شور سگنل سے کہیں زیادہ ہو۔
اس کا لطف اٹھائیں!
اس حکمت عملی کا بنیادی مقصد مختلف لمبائی کے ساتھ دو EMAs کے جھکاو کا موازنہ کرنا ہے.
سب سے پہلے، 130 اور 400 کی لمبائی کے ساتھ EMAs کا حساب لگایا جاتا ہے، پھر ہر ایک کے ڈھلوانوں کا حساب لگایا جاتا ہے، پھر لمبائی 3 کے EMAs ہر ڈھلوان پر ہموار ڈھلوان منحنی خطوط حاصل کرنے کے لئے حساب لگایا جاتا ہے.
جب تیز EMA ڈھلوان سست EMA ڈھلوان کے اوپر عبور کرتا ہے تو ، خرید کا اشارہ پیدا ہوتا ہے۔ جب تیز EMA ڈھلوان سست EMA ڈھلوان سے نیچے عبور کرتا ہے تو ، فروخت کا اشارہ پیدا ہوتا ہے۔
شور کو فلٹر کرنے کے لئے، 200 مدت EMA کو رجحان فلٹر کے طور پر استعمال کیا جا سکتا ہے، صرف اس وقت طویل سگنل پر غور کیا جاتا ہے جب قیمت EMA سے اوپر ہے، اور مختصر سگنل صرف اس وقت جب نیچے ہے.
اس کے علاوہ، ایک اتار چڑھاؤ فلٹر استعمال کیا جا سکتا ہے، سگنل صرف اس وقت پیدا ہوتا ہے جب دو ڈھلوانوں کے درمیان فرق ایک حد سے زیادہ ہے، ایسے معاملات سے بچنے کے لئے جہاں ڈھلوانوں کو پار کیا جاتا ہے لیکن اتار چڑھاؤ کافی نہیں ہے.
جب تیز اور سست جھکاو الٹ کر پار ہوتے ہیں تو، منافع / نقصانات کو روکنے کے لئے پوزیشنیں بند کردی جاتی ہیں.
اشارے پیدا کرنے کے لئے ڈھلوان کراس کا استعمال کرتے ہوئے مؤثر طریقے سے رجحانات کو ٹریک کر سکتا ہے
EMA مدت کے مجموعوں کو ایڈجسٹ کرنا مختلف مارکیٹ کے حالات کے مطابق ڈھال سکتا ہے
ٹرینڈ فلٹر ہلکی قیمت کی کارروائی سے گمراہ ہونے سے بچتا ہے
اتار چڑھاؤ فلٹر غلط سگنل کو فلٹر کرتا ہے
سادہ اور واضح منطق، سمجھنے اور لاگو کرنے کے لئے آسان
متعدد ٹائم فریم پر استعمال کیا جا سکتا ہے
بڑے پیمانے پر مارکیٹوں میں اکثر کھولنے اور بند ہونے کا امکان ہے
غیر مناسب EMA ادوار رجحان موڑ کے مقامات کو یاد کر سکتے ہیں
پیرامیٹرز کو بدلتے ہوئے مارکیٹ کے حالات کے مطابق ایڈجسٹ کیا جانا چاہئے
ایم اے سسٹم کی طرح، بڑے رجحانات انتہائی حد تک الٹ سکتے ہیں
بہترین پیرامیٹرز تلاش کرنے کے لئے مختلف EMA مدت کے مجموعے کی کوشش کریں
اثاثوں کی خصوصیات اور مارکیٹ کے حالات کے مطابق پیرامیٹرز کا انتخاب کریں
خطرے کو کنٹرول کرنے کے لئے سٹاپ نقصان کی حکمت عملی شامل کرنے پر غور کریں
ای ایم اے کی مدت کو متحرک طور پر ایڈجسٹ کرنے پر غور کریں
مختلف اتار چڑھاؤ کی حد کی قیمتوں کا تجربہ کریں
وقت کے فریموں میں ٹیسٹ کی تاثیر
اس حکمت عملی میں واضح ، سمجھنے میں آسان منطق ہے ، جس میں سگنل پیدا کرنے اور رجحانات کو مؤثر طریقے سے ٹریک کرنے کے لئے ای ایم اے ڈھلوان کراس کا استعمال کیا جاتا ہے۔ رجحان اور اتار چڑھاؤ کے فلٹر شور مچانے والی تجارت کو کم کرتے ہیں۔ ای ایم اے مدت کے مجموعوں کو ٹوننگ کرنا اسے مختلف مارکیٹ کے حالات کے مطابق بناتا ہے۔ مجموعی طور پر ایک آسان اور عملی رجحان کی پیروی کرنے والی حکمت عملی جو لائیو ٹریڈنگ میں جانچ اور اصلاح کے قابل ہے۔
/*backtest start: 2023-10-09 00:00:00 end: 2023-10-16 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // strategy(title="Slopes",initial_capital=1000, default_qty_type=strategy.percent_of_equity, commission_type=strategy.commission.percent, commission_value=0.06, slippage = 2, default_qty_value=30, overlay=false) //definizione input start = timestamp(input(2018, "start year"), input(1, "start month"), input(1, "start day"), 00, 00) end = timestamp(input(2020, "end year"), input(1, "end month"), input(1, "end day"), 00, 00) average = input (title="Source MA Type", type=input.string, defval="EMA",options=["EMA","SMA"]) len1=input(130,title="Fast MA Length") len2=input(400,title="Slow MA Length") smoothingavg = input (title="Smoothing MAs Type", type=input.string, defval="EMA",options=["EMA","SMA"]) smoothingavglen = input (3,title="Smoothing MAs Length") trendfilter=input(true,title="Trend Filter") trendfilterperiod=input(200,title="Trend Filter MA Period") trendfiltertype=input (title="Trend Filter MA Type", type=input.string, defval="EMA",options=["EMA","SMA"]) volatilityfilter=input(false,title="Volatility Filter") volatilitydelta=input(0.0003,step=0.0001,title="Delta Slopes EMA") //variabili m1 = if average == "EMA" ema(close,len1) else sma(close,len1) m2=if average == "EMA" ema(close,len2) else sma(close,len2) slp1=(m1-m1[1])/m1 slp2=(m2-m2[1])/m2 e1=if smoothingavg == "EMA" ema(slp1,smoothingavglen) else sma(slp1,smoothingavglen) e2=if smoothingavg == "EMA" ema(slp2,smoothingavglen) else sma(slp2,smoothingavglen) plot(e1,color=color.yellow) plot(e2,color=color.red) //plot (abs(e1-e2),color=color.white) //plot (ema(e1-e2,9),color=color.yellow) //variabili accessorie e condizioni TrendConditionL=if trendfiltertype =="EMA" close>ema(close,trendfilterperiod) else close>sma(close,trendfilterperiod) TrendConditionS=if trendfiltertype =="EMA" close<ema(close,trendfilterperiod) else close<sma(close,trendfilterperiod) VolatilityCondition = abs(e1-e2) > volatilitydelta ConditionEntryL= if trendfilter == true if volatilityfilter == true e1>e2 and TrendConditionL and VolatilityCondition else e1>e2 and TrendConditionL else if volatilityfilter == true e1>e2 and VolatilityCondition else e1>e2 ConditionEntryS= if trendfilter == true if volatilityfilter == true e1<e2 and TrendConditionS and VolatilityCondition else e1<e2 and TrendConditionS else if volatilityfilter == true e1<e2 and VolatilityCondition else e1<e2 ConditionExitL=crossunder(e1,e2) ConditionExitS=crossover(e1,e2) if true if ConditionExitS if strategy.position_size < 0 strategy.close("SLPShort") if true if ConditionExitL if strategy.position_size > 0 strategy.close("SLPLong") if true if ConditionEntryL strategy.entry ("SLPLong",long=true) if true if ConditionEntryS strategy.entry("SLPShort",long=false)