یہ حکمت عملی رجحان کی سمت کا تعین کرنے کے لئے طویل مدتی آر ایم اے اور قلیل مدتی ای ایم اے کراس اوورز کا استعمال کرتی ہے۔ یہ اسٹاپ نقصان کے لئے حالیہ سب سے زیادہ اعلی یا کم سے کم کم کی پیروی کرتی ہے۔ جھوٹے وقفوں سے بچنے کے لئے آر ایم اے کے ارد گرد کوئی تجارتی زون بھی ہے۔
رجحان کا تعین کرنے کے لئے طویل مدت کے آر ایم اے اور مختصر مدت کے ای ایم اے کا استعمال کریں۔ طویل آر ایم اے کے نیچے مختصر ای ایم اے عبور کرنا نیچے کی طرف اشارہ کرتا ہے۔ اس سے اوپر عبور کرنا اپ ٹرینڈ سگنل دیتا ہے۔
جب قیمت مخصوص ادوار میں حالیہ بلند ترین سطح سے تجاوز کرتی ہے تو ، سب سے زیادہ اونچائی کو اسٹاپ نقصان کے طور پر ٹریک کریں۔ جب قیمت حالیہ کم ترین سطح سے نیچے ہوتی ہے تو ، سب سے کم سطح کو اسٹاپ نقصان کے طور پر ٹریک کریں۔
آر ایم اے کے ارد گرد کوئی تجارتی زون مرتب کریں۔ جب قیمت زون کے اندر ہو تو اس زون سے بچنے کے لئے پوزیشنیں نہ کھولیں۔ زون کی حد آر ایم اے کی قدر کے ایک مخصوص فیصد پر مبنی ہے۔
داخل ہونے کے بعد منافع کی فیصد پر باہر نکلنے کی پوزیشنوں کے لئے منافع لینے کی قیمت مقرر کریں.
دوہری حرکت پذیر اوسط کراس اوور قابل اعتماد طور پر رجحان کی سمت کا تعین کرتا ہے۔
رجحان کے ساتھ پیچھے سٹاپ نقصان چلتا ہے.
کوئی تجارت زون جعلی فرار سگنل فلٹر.
منافع حاصل کریں حکمت عملی کو منافع بخش تجارت کو فعال طور پر بند کرنے کی اجازت دیتا ہے۔
چلتی اوسط کراس اوور میں تاخیر نقصانات میں اضافہ کر سکتی ہے۔
قیمت کے بہت قریب سٹاپ نقصان شور کی طرف سے روک دیا جا سکتا ہے.
بہت وسیع تجارت سے محروم علاقہ مواقع کھو سکتا ہے۔
وقت پر باہر نہ نکلنے سے مزید نقصانات ہو سکتے ہیں۔
ممکنہ حل:
تاخیر کو کم کرنے کے لئے چلتی اوسط پیرامیٹرز کو بہتر بنائیں.
ہائپر حساسیت کو روکنے کے لئے سٹاپ نقصان کو تھوڑا سا بڑھا دیں.
غیر تجارتی زون کی حد کو ایڈجسٹ کرنے کا ٹیسٹ کریں تاکہ لاپتہ تجارت سے بچنے کے لۓ.
زیادہ سے زیادہ نقصان کو محدود کرنے کے لئے دیگر سٹاپ نقصان میکانیزم شامل کریں.
بہتر فٹ ہونے کے لئے دوسرے حرکت پذیر اوسط مجموعے کی جانچ کریں.
استحکام کو بہتر بنانے کے لئے پھیلاؤ، MACD وغیرہ شامل کریں.
پیرامیٹرز کو ذہین طریقے سے بہتر بنانے کے لیے مشین لرننگ کا استعمال کریں۔
مخالف رجحان کی تجارت سے بچنے کے لئے رجحان کی طاقت کو شامل کریں.
زیادہ سے زیادہ جیت کی شرح کے لئے پیسے کے انتظام کو بہتر بنائیں.
یہ حکمت عملی رجحان کی سمت کا تعین کرنے کے لئے دوہری حرکت پذیر اوسط کراس اوورز کا استعمال کرتی ہے اور رجحان کے منافع کو مقفل کرنے کے لئے ٹریلنگ اسٹاپس اور نو ٹریڈ زونز کو جوڑتی ہے۔ فریم ورک آسان اور توسیع پذیر ہے۔ پیرامیٹر رینج کو ایڈجسٹ کرکے ، باہر نکلنے کو بہتر بناتے ہوئے ، اور اضافی فلٹرز اور سگنل شامل کرکے اسے مختلف مارکیٹوں میں مضبوط بنانے کے ل.
/*backtest start: 2023-08-24 00:00:00 end: 2023-09-12 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © PatrickGwynBuckley //@version=5 //var initialCapital = strategy.equity strategy("PB Trend Scalper", "PB Trend Scalper", overlay = true) shortma = input.int(55, title="quick ma's") longma = input.int(100, title="long ma's") ema55h = ta.ema(high, shortma) ema55l = ta.ema(low, shortma) ema200h = ta.rma(high, longma) ema200l = ta.rma(low, longma) stock = ta.stoch(close, high, low, 14) lev = input.int(3, title="leverage") hhVal = input.int(170, title="Highest high period") llVal = input.int(170, title="Lowest low period") hh = ta.highest(high, hhVal) ll = ta.lowest(low, llVal) //plot(stock) plot(hh, color=color.new(color.green, 50)) plot(ll, color=color.new(color.red, 50)) var float downtrade = 0 p = input.float(3.0, title="no trade zone") l = 3 emadistlong = ema200h + ((ema200h/100)*p) emadistshort = ema200l - ((ema200h/100)*p) plot(ema55h) plot(ema55l) ntl = plot(emadistlong, color=color.new(color.red, 10)) nts = plot(emadistshort, color=color.new(color.red, 10)) fill(ntl, nts, color=color.new(color.red, 90)) //position size EntryPrice = close //positionValue = initialCapital positionSize = (strategy.equity*lev) / EntryPrice //plot(strategy.equity) //standard short if ema55h < ema200l and close[2] < ema55l and close[1] > ema55l and high[1] < ema55h and close < ema55h and ema55h < emadistshort and strategy.opentrades == 0// and stock > 85 strategy.entry("short", strategy.short, qty=positionSize, comment="short") downtrade := 1 //reset count if (ta.crossunder(ema55h, ema200l)) and downtrade == 1 downtrade := 0 //standard long if ema55l > ema200h and close[2] > ema55h and close[1] < ema55h and low[1] > ema55l and close > ema55l and ema55l > emadistlong and strategy.opentrades <= 1// and stock < 15 strategy.entry("long", strategy.long, qty=positionSize, comment="long") downtrade := 0 //RESET COUNT ON MA CROSS if (ta.crossover(ema55l, ema200h)) and downtrade == 0 downtrade := 1 longclose2 = low < ll[1] or low < emadistshort //close < open and open<open[1] and open[2] < open[3] and open[3] < emadistshort//close < ta.lowest(low, 20)// shortclose2 = high > hh[1] or high>emadistlong//close > open and open>open[1] and open[2]>open[3] and open[3] > emadistlong//high > emadistlong//close > ta.highest(high, 20)// sl = 3.5 tp = input.float(6.9, title="take profit %") tp2 = 10 strategy.exit("long exit", "long", profit = (strategy.position_avg_price*(tp)))//, loss = (strategy.position_avg_price*(sl))) strategy.close("long", when = longclose2, comment = "long exit") //strategy.close("long", when = (downtrade == 1), comment = "long exit") //strategy.exit("long exit", "long2", profit = (strategy.position_avg_price*(tp2)))//, loss = (strategy.position_avg_price*(sl))) //strategy.close ("long2", when = longclose2, comment = "long exit") //strategy.close("long", when = (downtrade == 1), comment = "long exit") strategy.exit("short exit", "short", profit = (strategy.position_avg_price*(tp)))//, loss = (strategy.position_avg_price*(sl)))//, loss = 300) strategy.close("short", when = shortclose2, comment = "short exit") //strategy.close("short", when = (downtrade == 0), comment = "short exit") //strategy.exit("short exit", "short2", profit = (strategy.position_avg_price*(tp2)))//, loss = (strategy.position_avg_price*(sl))) //strategy.close ("short2", when = shortclose2, comment = "short exit") //strategy.close("short2", when = (downtrade == 0), comment = "short exit") //if (strategy.exit("long exit", "long")) //downtrade := 1 //else // downtrade := 0