حکمت عملی کے بعد دوہری حرکت پذیر اوسط رجحان

مصنف:چاؤ ژانگ، تاریخ: 2023-09-24 13:14:08
ٹیگز:

جائزہ

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

حکمت عملی منطق

  1. رجحان کا تعین کرنے کے لئے طویل مدت کے آر ایم اے اور مختصر مدت کے ای ایم اے کا استعمال کریں۔ طویل آر ایم اے کے نیچے مختصر ای ایم اے عبور کرنا نیچے کی طرف اشارہ کرتا ہے۔ اس سے اوپر عبور کرنا اپ ٹرینڈ سگنل دیتا ہے۔

  2. جب قیمت مخصوص ادوار میں حالیہ بلند ترین سطح سے تجاوز کرتی ہے تو ، سب سے زیادہ اونچائی کو اسٹاپ نقصان کے طور پر ٹریک کریں۔ جب قیمت حالیہ کم ترین سطح سے نیچے ہوتی ہے تو ، سب سے کم سطح کو اسٹاپ نقصان کے طور پر ٹریک کریں۔

  3. آر ایم اے کے ارد گرد کوئی تجارتی زون مرتب کریں۔ جب قیمت زون کے اندر ہو تو اس زون سے بچنے کے لئے پوزیشنیں نہ کھولیں۔ زون کی حد آر ایم اے کی قدر کے ایک مخصوص فیصد پر مبنی ہے۔

  4. داخل ہونے کے بعد منافع کی فیصد پر باہر نکلنے کی پوزیشنوں کے لئے منافع لینے کی قیمت مقرر کریں.

فوائد

  1. دوہری حرکت پذیر اوسط کراس اوور قابل اعتماد طور پر رجحان کی سمت کا تعین کرتا ہے۔

  2. رجحان کے ساتھ پیچھے سٹاپ نقصان چلتا ہے.

  3. کوئی تجارت زون جعلی فرار سگنل فلٹر.

  4. منافع حاصل کریں حکمت عملی کو منافع بخش تجارت کو فعال طور پر بند کرنے کی اجازت دیتا ہے۔

خطرات

  1. چلتی اوسط کراس اوور میں تاخیر نقصانات میں اضافہ کر سکتی ہے۔

  2. قیمت کے بہت قریب سٹاپ نقصان شور کی طرف سے روک دیا جا سکتا ہے.

  3. بہت وسیع تجارت سے محروم علاقہ مواقع کھو سکتا ہے۔

  4. وقت پر باہر نہ نکلنے سے مزید نقصانات ہو سکتے ہیں۔

ممکنہ حل:

  1. تاخیر کو کم کرنے کے لئے چلتی اوسط پیرامیٹرز کو بہتر بنائیں.

  2. ہائپر حساسیت کو روکنے کے لئے سٹاپ نقصان کو تھوڑا سا بڑھا دیں.

  3. غیر تجارتی زون کی حد کو ایڈجسٹ کرنے کا ٹیسٹ کریں تاکہ لاپتہ تجارت سے بچنے کے لۓ.

  4. زیادہ سے زیادہ نقصان کو محدود کرنے کے لئے دیگر سٹاپ نقصان میکانیزم شامل کریں.

اصلاح کی ہدایات

  1. بہتر فٹ ہونے کے لئے دوسرے حرکت پذیر اوسط مجموعے کی جانچ کریں.

  2. استحکام کو بہتر بنانے کے لئے پھیلاؤ، MACD وغیرہ شامل کریں.

  3. پیرامیٹرز کو ذہین طریقے سے بہتر بنانے کے لیے مشین لرننگ کا استعمال کریں۔

  4. مخالف رجحان کی تجارت سے بچنے کے لئے رجحان کی طاقت کو شامل کریں.

  5. زیادہ سے زیادہ جیت کی شرح کے لئے پیسے کے انتظام کو بہتر بنائیں.

خلاصہ

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


/*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

مزید