
متحرک بولی لگانے کی حکمت عملی ایک مختصر اور درمیانی لائن ٹریڈنگ حکمت عملی ہے جو ٹریڈنگ کے مواقع کو توڑنے اور ریورس پوائنٹس کی شناخت کے لئے K لائن موڈل کے ساتھ ایک حرکت پذیر اوسط اشارے کو جوڑتی ہے۔ یہ حکمت عملی بیعانہ اختیارات ، بیعانہ اختیارات ، اور فیوچر جیسے اعلی لیورڈ مالیاتی مصنوعات کی تجارت کے لئے موزوں ہے۔
اس حکمت عملی کا بنیادی منطق 5 دن کی سادہ حرکت پذیر اوسط پر مبنی ہے۔ جب قیمت اس اوسط کو توڑنے کی کوشش کرتی ہے تو ، ایک اعلی ترین نقطہ یا کم ترین نقطہ K لائن تشکیل دی جاتی ہے ، اس وقت یہ ایک ممکنہ زیادہ یا کم کرنے کا اشارہ ہے۔ جب قیمت اوسط کو توڑتی ہے تو ، دوسری K لائن بند ہوجاتی ہے ، تو اس میں داخل ہونے کا اشارہ ہوتا ہے اگر پچھلی چھلانگ K لائن کی کم سے کم قیمت یا اعلی قیمت کو توڑنے کے بغیر۔ اس کے بعد اسٹاپ نقصان اور اسٹاپ نقصان کے مقاصد کے مطابق خطرے کی کھالیں لگائیں۔
جب قیمت اوپر کی طرف 5 دن کی اوسط سے ٹوٹ کر بند ہو جاتی ہے تو ، پچھلی چھلانگ K لائن کی اعلی ترین قیمت اسٹاپ نقصان ہے ، کم از کم قیمت کم کرنے کے لئے ایک خاص واپسی کی حد ضرب خطرہ واپسی کا تناسب روکنے کا ہدف کے طور پر۔ جب قیمت نیچے کی طرف 5 دن کی اوسط سے ٹوٹ کر بند ہو جاتی ہے تو ، پچھلی چھلانگ K لائن کی کم سے کم قیمت اسٹاپ نقصان ہے ، اعلی ترین قیمت کے علاوہ ایک خاص واپسی کی حد ضرب خطرہ واپسی کا تناسب روکنے کا ہدف کے طور پر۔
اس حکمت عملی میں ایک اختیاری فلٹرنگ شرط بھی دی گئی ہے کہ موجودہ K لائن کی بندش کی قیمت اچھالنے والی K لائن کے مقابلے میں تھوڑی کم یا تھوڑی زیادہ ہو ، اس طرح جزوی طور پر غلط سگنل سے بچا جاسکتا ہے۔
معقول اسٹاپ نقصان ، مناسب نرمی رکھنے والی پوزیشنوں اور کم تعدد تجارت کا انتخاب کرنے کے طریقوں سے خطرے کو کم کیا جاسکتا ہے۔ دیگر اشارے کے ساتھ مل کر سگنل فلٹرنگ پر بھی غور کیا جاسکتا ہے۔
یہ حکمت عملی مجموعی طور پر سمجھنے اور لاگو کرنے کے لئے ایک آسان وسط شارٹ لائن ٹریڈنگ حکمت عملی ہے۔ یہ حرکت پذیر اوسط اور چھلانگ K لائن کی شکل کا استعمال کرتا ہے تاکہ رجحان کے موڑ کی شناخت کی جاسکے اور عقلی خطرے کے کنٹرول کے فریم ورک کے تحت کام کیا جاسکے۔ اگرچہ ابھی بھی کچھ بہتری کی گنجائش موجود ہے ، لیکن اس کا بنیادی نظریہ عالمگیر ہے ، جو سیکھنے اور لاگو کرنے کے قابل ہے۔ پیرامیٹرز کو ایڈجسٹ کرنے ، سگنل فلٹرنگ اور اسی طرح کے اصلاحاتی اقدامات کے ذریعہ ، اس حکمت عملی کو وسیع تر تجارتی طریقوں میں لاگو کیا جاسکتا ہے۔
/*backtest
start: 2024-01-18 00:00:00
end: 2024-01-25 00:00:00
period: 15m
basePeriod: 5m
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/
// © TradingInsights2
//@version=5
strategy("Ultimate 5EMA Strategy By PowerOfStocks", overlay=true)
Eusl = input.bool(false, title="Enable the Extra SL shown below")
usl = input.int(defval=5, title='Value to set SL number of points below-low or above-high', minval=1, maxval=100)
RiRe = input.int(defval=3, title='Risk to Reward Ratio', minval=1, maxval=25)
ShowSell = input.bool(true, 'Show Sell Signals')
ShowBuy = input.bool(false, 'Show Buy Signals')
BSWCon = input.bool(defval=false, title='Buy/Sell with Extra Condition - candle close')
// Moving Average
ema5 = ta.ema(close, 5)
pema5 = plot(ema5, '5 Ema', color=color.new(#da1a1a, 0), linewidth=2)
var bool Short = na
var bool Long = na
var shortC = 0
var sslhitC = 0
var starhitC = 0
var float ssl = na
var float starl = na
var float star = na
var float sellat = na
var float alert_shorthigh = na
var float alert_shortlow = na
var line lssl = na
var line lstar = na
var line lsell = na
var label lssllbl = na
var label lstarlbl = na
var label lselllbl = na
var longC = 0
var lslhitC = 0
var ltarhitC = 0
var float lsl = na
var float ltarl = na
var float ltar = na
var float buyat = na
var float alert_longhigh = na
var float alert_longlow = na
var line llsl = na
var line lltar = na
var line lbuy = na
var label llsllbl = na
var label lltarlbl = na
var label lbuylbl = na
ShortWC = low[1] > ema5[1] and low[1] > low and shortC == 0 and close < close[1]
ShortWOC = low[1] > ema5[1] and low[1] > low and shortC == 0
Short := BSWCon ? ShortWC : ShortWOC
sslhit = high > ssl and shortC > 0 and sslhitC == 0
starhit = low < star and shortC > 0 and starhitC == 0
LongWC = high[1] < ema5[1] and high[1] < high and longC == 0 and close > close[1]
LongWOC = high[1] < ema5[1] and high[1] < high and longC == 0
Long := BSWCon ? LongWC : LongWOC
lslhit = low < lsl and longC > 0 and lslhitC == 0
ltarhit = high > ltar and longC > 0 and ltarhitC == 0
if Short and ShowSell
shortC := shortC + 1
sslhitC := 0
starhitC := 0
alert_shorthigh := high[1]
if Eusl
ssl := high[1] + usl
starl := BSWCon ? ((high[1] - close) + usl) * RiRe : ((high[1] - low[1]) + usl) * RiRe
else
ssl := high[1]
starl := BSWCon ? (high[1] - close) * RiRe : (high[1] - low[1]) * RiRe
star := BSWCon ? close - starl : low[1] - starl
sellat := BSWCon ? close : low[1]
// lssl := line.new(bar_index, ssl, bar_index, ssl, color=color.new(#fc2d01, 45), style=line.style_dashed)
// lstar := line.new(bar_index, star, bar_index, star, color=color.new(color.green, 45), style=line.style_dashed)
// lsell := line.new(bar_index, sellat, bar_index, sellat, color=color.new(color.orange, 45), style=line.style_dashed)
// lssllbl := label.new(bar_index, ssl, style=label.style_none, text='Stop Loss - Short' + ' (' + str.tostring(ssl) + ')', textcolor=color.new(#fc2d01, 35), color=color.new(#fc2d01, 35))
// lstarlbl := label.new(bar_index, star, style=label.style_none, text='Target - Short' + ' (' + str.tostring(star) + ')', textcolor=color.new(color.green, 35), color=color.new(color.green, 35))
// lselllbl := label.new(bar_index, sellat, style=label.style_none, text='Sell at' + ' (' + str.tostring(sellat) + ')', textcolor=color.new(color.orange, 35), color=color.new(color.orange, 35))
if sslhit == false and starhit == false and shortC > 0
// line.set_x2(lssl, bar_index)
// line.set_x2(lstar, bar_index)
// line.set_x2(lsell, bar_index)
sslhitC := 0
starhitC := 0
else
if sslhit
shortC := 0
sslhitC := sslhitC + 1
else
if starhit
shortC := 0
starhitC := starhitC + 1
if Long and ShowBuy
longC := longC + 1
lslhitC := 0
ltarhitC := 0
alert_longlow := low[1]
if Eusl
lsl := low[1] - usl
ltarl := BSWCon ? ((close - low[1]) + usl) * RiRe : ((high[1] - low[1]) + usl) * RiRe
else
lsl := low[1]
ltarl := BSWCon ? (close - low[1]) * RiRe : (high[1] - low[1]) * RiRe
ltar := BSWCon ? close + ltarl : high[1] + ltarl
buyat := BSWCon ? close : high[1]
llsl := line.new(bar_index, lsl, bar_index, lsl, color=color.new(#fc2d01, 45), style=line.style_dotted)
lltar := line.new(bar_index, ltar, bar_index, ltar, color=color.new(color.green, 45), style=line.style_dotted)
lbuy := line.new(bar_index, buyat, bar_index, buyat, color=color.new(color.orange, 45), style=line.style_dotted)
llsllbl := label.new(bar_index, lsl, style=label.style_none, text='Stop Loss - Long' + ' (' + str.tostring(lsl) + ')', textcolor=color.new(#fc2d01, 35), color=color.new(#fc2d01, 35))
lltarlbl := label.new(bar_index, ltar, style=label.style_none, text='Target - Long' + ' (' + str.tostring(ltar) + ')', textcolor=color.new(color.green, 35), color=color.new(color.green, 35))
lbuylbl := label.new(bar_index, buyat, style=label.style_none, text='Buy at' + ' (' + str.tostring(buyat) + ')', textcolor=color.new(color.orange, 35), color=color.new(color.orange, 35))
if lslhit == false and ltarhit == false and longC > 0
// line.set_x2(llsl, bar_index)
// line.set_x2(lltar, bar_index)
// line.set_x2(lbuy, bar_index)
lslhitC := 0
ltarhitC := 0
else
if lslhit
longC := 0
lslhitC := lslhitC + 1
else
if ltarhit
longC := 0
ltarhitC := ltarhitC + 1
strategy.entry("Buy", strategy.long, when=Long)
strategy.entry("Sell", strategy.short, when=Short)
strategy.close("ExitBuy", when=sslhit or starhit)
strategy.close("ExitSell", when=lslhit or ltarhit)
plotshape(ShowSell and Short, title='Sell', location=location.abovebar, offset=0, color=color.new(#e74c3c, 45), style=shape.arrowdown, size=size.normal, text='Sell', textcolor=color.new(#e74c3c, 55))
plotshape(ShowSell and sslhit, title='SL Hit - Short', location=location.abovebar, offset=0, color=color.new(#fc2d01, 25), style=shape.arrowdown, size=size.normal, text='SL Hit - Short', textcolor=color.new(#fc2d01, 25))
plotshape(ShowSell and starhit, title='Target Hit - Short', location=location.belowbar, offset=0, color=color.new(color.green, 45), style=shape.arrowup, size=size.normal, text='Target Hit - Short', textcolor=color.new(color.green, 55))
plotshape(ShowBuy and Long, title='Buy', location=location.belowbar, offset=0, color=color.new(#2ecc71, 45), style=shape.arrowup, size=size.normal, text='Buy', textcolor=color.new(#2ecc71, 55))
plotshape(ShowBuy and lslhit, title='SL Hit - Long', location=location.belowbar, offset=0, color=color.new(#fc2d01, 25), style=shape.arrowdown, size=size.normal, text='SL Hit - Long', textcolor=color.new(#fc2d01, 25))
plotshape(ShowBuy and ltarhit, title='Target Hit - Long', location=location.abovebar, offset=0, color=color.new(color.green, 45), style=shape.arrowup, size=size.normal, text='Target Hit - Long', textcolor=color.new(color.green, 55))
if ShowSell and Short
alert("Go Short@ " + str.tostring(sellat) + " : SL@ " + str.tostring(ssl) + " : Target@ " + str.tostring(star) + " ", alert.freq_once_per_bar )
if ShowBuy and Long
alert("Go Long@ " + str.tostring(buyat) + " : SL@ " + str.tostring(lsl) + " : Target@ " + str.tostring(ltar) + " ", alert.freq_once_per_bar )
///// End of code