
ایک متحرک اوسط کی واپسی کی حکمت عملی ایک ایسی حکمت عملی ہے جو قیمتوں کی نقل و حرکت کی اوسط کو توڑنے کی پیروی کرتی ہے۔ یہ چیک کرتا ہے کہ آیا بھوک چلتی اوسط سے نیچے سے اچھال آتی ہے ، اگر ایسا ہے تو ، یہ ایک کثیر سر سگنل ہے۔ اگر بھوک چلتی اوسط سے اوپر کی سمت سے اچھال آتی ہے تو ، یہ ایک خالی سر سگنل ہے۔
Exponential Moving Average Bounce Strategy
یہ حکمت عملی ایکسپونینشل موونگ اوسط پر مبنی ہے۔ یہ ایک ای ایم اے لائن کا حساب لگاتا ہے اور پھر چیک کرتا ہے کہ آیا قیمت ای ایم اے لائن کے اوپر یا نیچے سے اچھالتی ہے یا نہیں:
اس طرح کے ردعمل حکمت عملی کے لئے ابتدائی سگنل ہیں.
ای ایم اے کی واپسی کی حکمت عملی صرف اس وقت داخل ہوتی ہے جب قیمت کی واپسی کا تعین کیا جاتا ہے ، جس سے اس کے برعکس آپریشن کو روکنے سے بچا جاسکتا ہے۔
انڈیکس منتقل اوسط کے استعمال کی وجہ سے ، قیمتوں کے اعداد و شمار کو مؤثر طریقے سے ہموار کرنے اور مارکیٹ کے شور کو فلٹر کرنے کے قابل ، اس حکمت عملی کو چھوٹا سا پیچھے ہٹانا اور بہتر تاریخی منافع بخش بنایا گیا ہے۔
ای ایم اے کی واپسی کی حکمت عملی صرف چلتی اوسط پر انحصار کرتی ہے ، یہ بہت آسان ، براہ راست ، اور ابتدائی افراد کے لئے سمجھنے میں آسان ہے۔ اس کے علاوہ ، ای ایم اے کے دورانیہ کے پیرامیٹرز کو مختلف اقسام کے مطابق لچکدار انداز میں ایڈجسٹ کیا جاسکتا ہے۔
ای ایم اے لائن کے قریب کثرت سے جھوٹی توڑ پھوڑ ہوتی ہے ، جس سے غلط سگنل پیدا ہوسکتے ہیں۔ ان شوروں کو فلٹر کرنے کے لئے ای ایم اے پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے۔
یہ حکمت عملی بنیادی طور پر ایک سمندری آپریشن ہے۔ قیمتوں میں تبدیلی کے نقطہ کی پیش گوئی نہیں کی جاسکتی ہے ، صرف رجحان کا پیچھا کیا جاسکتا ہے۔ یہ ممکن ہے کہ بہترین داخلے کا وقت ضائع ہوجائے۔
حرکت پذیر اوسط کے قریب اسٹاپ نقصان کی سطح کبھی کبھی توڑ دی جاتی ہے ، جس سے نقصان میں توسیع ہوتی ہے۔ اس کے لئے زیادہ لچکدار اسٹاپ استعمال کرنے کی ضرورت ہے۔
قیمتوں میں ردوبدل کی تصدیق کرنے کے لئے RSI ، MACD اور دیگر اشارے شامل کیے جاسکتے ہیں ، جعلی سگنل کو فلٹر کریں۔
ٹائم اسٹاپ ، شاک اسٹاپ ، اور زیادہ لچکدار اسٹاپ استعمال کرسکتے ہیں ، جس سے ٹکرانے کا خطرہ کم ہوجائے گا۔
ای ایم اے کی مدت کے پیرامیٹرز کو بہتر بنانے کے لئے ، بہترین پیرامیٹرز کا مجموعہ تلاش کریں۔ ای ایم اے پیرامیٹرز کو متحرک طور پر تبدیل کرنے کے لئے ، مارکیٹ کی مدت کا سراغ لگانا۔
ایک متحرک اوسط ریبوڈ حکمت عملی ایک سادہ عملی رجحان کی پیروی کرنے والی حکمت عملی ہے۔ یہ ہموار کام کرتی ہے ، پیچھے ہٹنا چھوٹا ہے ، اور اسے سمجھنا آسان ہے۔ اس کے ساتھ ہی کچھ غلط سگنل کا خطرہ اور اسٹاپ نقصان کا خطرہ بھی موجود ہے۔ ہم اس حکمت عملی کو بہتر اشارے کے مجموعے ، اسٹاپ نقصان کے طریقوں اور پیرامیٹرز کے انتخاب کے ذریعہ بہتر بنا سکتے ہیں ، تاکہ یہ ایک مستحکم اور قابل اعتماد مقداری حکمت عملی ہو۔
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
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/
// © tweakerID
// Simple strategy that checks for price bounces over an Exponential Moving Average. If the CLOSE of the candle bounces
// back from having it's LOW below the EMA, then it's a Bull Bounce. If the CLOSE of the candle bounces down from having it's
// high above the EMA, then it's a Bear Bounce. This logic can be reverted.
//@version=4
strategy("EMA Bounce", overlay=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
initial_capital=10000,
commission_value=0.04,
calc_on_every_tick=false,
slippage=0)
direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))
/////////////////////// STRATEGY INPUTS ////////////////////////////////////////
title1=input(true, "-----------------Strategy Inputs-------------------")
i_EMA=input(20, title="EMA Length")
/////////////////////// BACKTESTER /////////////////////////////////////////////
title2=input(true, "-----------------General Inputs-------------------")
// Backtester General Inputs
i_SL=input(true, title="Use Swing Stop Loss and Take Profit")
i_SPL=input(defval=10, title="Swing Point Loopback")
i_PercIncrement=input(defval=.2, step=.1, title="Swing Point SL Perc Increment")*0.01
i_TPRRR = input(1.2, step=.1, title="Take Profit Risk Reward Ratio")
// Bought and Sold Boolean Signal
bought = strategy.position_size > strategy.position_size[1]
or strategy.position_size < strategy.position_size[1]
// Price Action Stop and Take Profit
LL=(lowest(i_SPL))*(1-i_PercIncrement)
HH=(highest(i_SPL))*(1+i_PercIncrement)
LL_price = valuewhen(bought, LL, 0)
HH_price = valuewhen(bought, HH, 0)
entry_LL_price = strategy.position_size > 0 ? LL_price : na
entry_HH_price = strategy.position_size < 0 ? HH_price : na
tp=strategy.position_avg_price + (strategy.position_avg_price - entry_LL_price)*i_TPRRR
stp=strategy.position_avg_price - (entry_HH_price - strategy.position_avg_price)*i_TPRRR
/////////////////////// STRATEGY LOGIC /////////////////////////////////////////
EMA=ema(close, i_EMA)
LowAboveEMA=low > EMA
LowBelowEMA=low < EMA
HighAboveEMA=high > EMA
HighBelowEMA=high < EMA
BullBounce=LowAboveEMA[1] and LowBelowEMA and close > EMA //and close > open
BearBounce=HighBelowEMA[1] and HighAboveEMA and close < EMA //and close < open
plot(EMA)
BUY=BullBounce
SELL=BearBounce
//Inputs
DPR=input(false, "Allow Direct Position Reverse")
reverse=input(false, "Reverse Trades")
// Entries
if reverse
if not DPR
strategy.entry("long", strategy.long, when=SELL and strategy.position_size == 0)
strategy.entry("short", strategy.short, when=BUY and strategy.position_size == 0)
else
strategy.entry("long", strategy.long, when=SELL)
strategy.entry("short", strategy.short, when=BUY)
else
if not DPR
strategy.entry("long", strategy.long, when=BUY and strategy.position_size == 0)
strategy.entry("short", strategy.short, when=SELL and strategy.position_size == 0)
else
strategy.entry("long", strategy.long, when=BUY)
strategy.entry("short", strategy.short, when=SELL)
SL=entry_LL_price
SSL=entry_HH_price
TP=tp
STP=stp
strategy.exit("TP & SL", "long", limit=TP, stop=SL, when=i_SL)
strategy.exit("TP & SL", "short", limit=STP, stop=SSL, when=i_SL)
/////////////////////// PLOTS //////////////////////////////////////////////////
plot(strategy.position_size > 0 ? SL : na , title='SL', style=plot.style_cross, color=color.red)
plot(strategy.position_size < 0 ? SSL : na , title='SSL', style=plot.style_cross, color=color.red)
plot(strategy.position_size > 0 ? TP : na, title='TP', style=plot.style_cross, color=color.green)
plot(strategy.position_size < 0 ? STP : na, title='STP', style=plot.style_cross, color=color.green)
// Draw price action setup arrows
plotshape(BUY ? 1 : na, style=shape.triangleup, location=location.belowbar,
color=color.green, title="Bullish Setup", transp=80, size=size.auto)
plotshape(SELL ? 1 : na, style=shape.triangledown, location=location.abovebar,
color=color.red, title="Bearish Setup", transp=80, size=size.auto)