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


تخلیق کی تاریخ: 2023-09-24 13:14:08 آخر میں ترمیم کریں: 2023-09-24 13:14:08
کاپی: 0 کلکس کی تعداد: 694
1
پر توجہ دیں
1617
پیروکار

جائزہ

اس حکمت عملی میں طویل مدتی RMA اوسط اور قلیل مدتی EMA اوسط کا ایک مجموعہ استعمال کیا جاتا ہے تاکہ رجحانات کا اندازہ لگایا جاسکے۔ اس حکمت عملی میں اعلی اور کم نقطہ توڑنے کے ساتھ رجحانات کا سراغ لگانے کے لئے اسٹاپ نقصانات کا استعمال کیا جاتا ہے۔ اس کے علاوہ ، جعلی توڑنے کو فلٹر کرنے کے لئے کوئی تجارت کی گنجائش نہیں ہے۔

حکمت عملی کا اصول

  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