
یہ حکمت عملی تین اہم اشارے پر مبنی ہے: رجحان اشارے، Keltner چینل اور ڈی ایم اشارے.
رجحاناتی اشارے ایس ایم اے اور ای ایم اے پر مشتمل ہوتے ہیں۔ جب ای ایم اے ایس ایم اے کو عبور کرتا ہے تو ، رجحان میں داخل ہونے کی تصدیق کی جاتی ہے۔ کرٹنر چینل موم بتی کی افتتاحی اور اختتامی قیمتوں کا تعین کرنے کے لئے استعمال کیا جاتا ہے۔ ڈی ایم اشارے فاریکس ٹریڈنگ کے لئے بہترین ٹولز کا تعین کرنے کے لئے استعمال کیا جاتا ہے۔
اگر آپ مندرجہ ذیل شرائط پر پورا اترتے ہیں تو آپ مزید کام کر سکتے ہیں:
حکمت عملی میں دو اسٹاپ اور ایک اسٹاپ نقصان کی جگہ رکھی گئی ہے۔ مزید منافع حاصل کرنے کے لئے ٹریکنگ اسٹاپ کا استعمال کرنے پر غور کیا جاسکتا ہے۔
ای ایم اے اور ایس ایم اے کے گولڈ فورک کے ذریعہ رجحان کی سمت کا فیصلہ کریں۔ ای ایم اے پیرامیٹر 46 ہے ، اور ایس ایم اے پیرامیٹر 46 ہے۔ جب ای ایم اے ایس ایم اے سے گزرتا ہے تو ، اس کا مطلب ہے کہ یہ بڑھتا ہوا رجحان میں داخل ہوتا ہے۔
کیلٹنر چینل تین لائنوں پر مشتمل ہے: درمیانی لائن ، اوپری ریل ، اور نچلی ریل۔ درمیانی لائن بند ہونے والی قیمت کا SMA ہے ، جس کی لمبائی 81 ہے۔ اوپری ریل اور نچلی ریل بالترتیب درمیانی لائن کے اوپر اور نیچے دیئے گئے ضرب کی اصل طول و عرض ہیں۔ یہاں اس کی ترتیب درمیانی لائن کے اوپر اور نیچے 2.5 گنا ہے۔
Keltner چینل بنیادی طور پر قیمتوں کے لئے استعمال کیا جاتا ہے کہ آیا وہ چینل کے اندر ہیں یا نہیں ، اور اگر وہ چینل کو عبور کرتے ہیں۔
ڈی ایم اشارے میں تین لائنیں شامل ہیں: ADX ، + DI اور - DI ◄ ۔ + DI عروج کی طاقت کی پیمائش کرتا ہے ، - DI زوال کی طاقت کی پیمائش کرتا ہے۔ ADX اوسط رجحان اشارے کی نمائندگی کرتا ہے ، جو رجحان کی طاقت کی عکاسی کرتا ہے۔
یہاں ADX پیرامیٹر 10 اور DI پیرامیٹر 19 ہے۔ جب +DI لائن پر سیٹ کی گئی بیس لائن ((پہلے سے طے شدہ 27) پہنتی ہے تو ، اس کا مطلب ہے کہ مندی مضبوط ہے ، زیادہ کام کرنے کے لئے موزوں ہے۔
اس حکمت عملی میں رجحانات ، چینلز اور مضبوط اور کمزور اشارے شامل ہیں ، جس سے قیمتوں کے رجحانات اور کثیر جہتی سمتوں کا مؤثر اندازہ لگایا جاسکتا ہے۔ اس کے درج ذیل فوائد ہیں:
رجحانات کا اندازہ لگانا نسبتا accurate درست ہے ، اور اس سے الٹا کام کرنے سے گریز کیا جاسکتا ہے۔
Keltner کے راستے واضح طور پر حمایت اور دباؤ کی پوزیشنوں کی تشکیل کے لئے نظر آتے ہیں.
ڈی ایم اشارے فلوٹ فورس کی پیمائش کرتا ہے تاکہ یہ یقینی بنایا جا سکے کہ فلوٹ سمت درست ہے۔
اسٹریٹجک شرائط سخت ہیں ، اور اس طرح کے جعلی ٹوٹ پھوٹ کو مؤثر طریقے سے فلٹر کیا جاسکتا ہے۔
اسٹاپ نقصان کی پوزیشنوں کو قائم کریں تاکہ منافع کے مواقع حاصل ہوسکیں۔
اس حکمت عملی میں کچھ خطرات بھی ہیں:
رجحان کا رخ موڑ سکتا ہے ، ای ایم اے ایس ایم اے کے نیچے جاسکتا ہے ، وقت پر باہر نکلنے پر دھیان دیں۔
مضبوطی کے حالات میں، چینل غیر فعال ہو سکتا ہے اور سخت حمایت کے دباؤ کی سطح کے طور پر نہیں سمجھا جا سکتا ہے.
ڈی ایم اشارے غلط سگنل دے سکتے ہیں ، قیمتوں کے رجحانات کے ساتھ فیصلہ کیا جانا چاہئے۔
جعلی توڑنے سے کھیل میں داخل ہونے کا امکان ہوتا ہے ، لیکن جلد ہی دوبارہ گر پڑتا ہے ، معقول اسٹاپ نقصان ہونا چاہئے۔
سٹاپ اسٹاپ نقصان کو مارکیٹ میں تبدیلیوں کے مطابق مسلسل بہتر بنانے کی ضرورت ہے۔
اس کے علاوہ، یہ مندرجہ ذیل پہلوؤں میں مزید بہتر بنایا جا سکتا ہے:
پیرامیٹرز کو ایڈجسٹ کریں اور مختلف رجحانات کے اندازے کے طریقوں کی تاثیر کی جانچ کریں۔
چینل پیرامیٹرز کو بہتر بنائیں تاکہ وہ حقیقی اتار چڑھاؤ کی حد کے قریب ہوں۔
ڈی ایم پیرامیٹرز کے مختلف مجموعوں کی جانچ کریں اور بہترین پیرامیٹرز کا انتخاب کریں۔
مختلف داخلے کی شرائط مرتب کریں ، جیسے کہ حجم فلٹر۔
اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں ، جیسے کہ زیادہ منافع کے ل stop اسٹاپ ٹریکنگ کا استعمال کریں۔
مختلف اقسام کے لئے علیحدہ علیحدہ ٹیسٹ، بہترین پیرامیٹرز کا مجموعہ منتخب کریں.
اس حکمت عملی میں رجحانات کی سمت کا تعین کرنے ، دباؤ کی سطح کو سپورٹ کرنے اور متعدد قوتوں کو سمجھنے کے لئے متعدد اشارے استعمال کیے جاتے ہیں۔ اس سے رجحانات کو مؤثر طریقے سے پکڑنے اور خطرات پر قابو پانے میں مدد ملتی ہے۔ تاہم ، اس حکمت عملی کو مارکیٹ میں تبدیلیوں کے مطابق ایڈجسٹ کرنے کے لئے خطرات پر توجہ دینے اور پیرامیٹرز کو بہتر بنانے کی ضرورت ہے۔ مجموعی طور پر ، اس حکمت عملی میں مضبوط عملی ہے۔
/*backtest
start: 2022-10-27 00:00:00
end: 2023-11-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Original Idea by: Wunderbit Trading
//@version=4
strategy("Keltner Channel ETH/USDT 1H", overlay=true, initial_capital=1000,pyramiding = 0, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent,commission_value=0.07)
/// TREND
ribbon_period = input(46, "Period", step=1)
leadLine1 = ema(close, ribbon_period)
leadLine2 = sma(close, ribbon_period)
// p3 = plot(leadLine1, color= #53b987, title="EMA", transp = 50, linewidth = 1)
// p4 = plot(leadLine2, color= #eb4d5c, title="SMA", transp = 50, linewidth = 1)
// fill(p3, p4, transp = 60, color = leadLine1 > leadLine2 ? #53b987 : #eb4d5c)
//Upward Trend
UT=leadLine2 < leadLine1
DT=leadLine2>leadLine1
///////////////////////////////////////INDICATORS
// KELTNER //
source = close
useTrueRange = input(true)
length = input(81, step=1, minval=1)
mult = input(2.5, step=0.1)
// Calculate Keltner Channel
ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
plot(ma, title="Middle", color=color.orange)
p1=plot(upper, title="Upper", color=color.orange)
p2=plot(lower, title="Lower", color=color.orange)
fill(p1,p2)
// DMI INDICATOR //
adxlen = 10 // input(10, title="ADX Smoothing")
dilen = input(19, title="DI Length")
keyLevel = 23// input(23, title="key level for ADX")
dirmov(len) =>
up = change(high)
down = -change(low)
truerange = rma(tr, len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
[adx, plus, minus]
[sig, up, down] = adx(dilen, adxlen)
benchmark=input(title="DMI Benchmark", defval=27, minval=1,step=1)
// plot(sig, color=color.red, title="ADX")
// plot(up, style=plot.style_histogram, color=color.green, title="+DI")
// plot(down, style=plot.style_histogram, color=color.red, title="-DI")
// plot(keyLevel, color=color.white, title="Key Level")
///////////////////////////////////////////////////////////
////////////////////////////////////////////////////Component Code Start
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(9999, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriod() => true
///// Component Code Stop //////////////////////////////////////////
//////////////// STRATEGY EXECUTION //////////////////////////
//LONG SET UP
// Take Profit / Stop Loss
long_tp1_inp = input(4.5, title='Long Take Profit 1 %', step=0.1)/100
long_tp1_qty = input(15, title="Long Take Profit 1 Qty", step=1)
long_tp2_inp = input(20, title='Long Take Profit 2%', step=0.1)/100
long_tp2_qty = input(100, title="Long Take Profit 2 Qty", step=1)
long_take_level_1 = strategy.position_avg_price * (1 + long_tp1_inp)
long_take_level_2 = strategy.position_avg_price * (1 + long_tp2_inp)
long_sl_inp = input(4, title='Long Stop Loss %', step=0.1)/100
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)
// STRATEGY CONDITION
// LONG
entry_long = ((open > lower and open < upper) and close > upper) and up > down and up > benchmark // and volume[0] > volume[1]
entry_price_long=valuewhen(entry_long,close,0)
SL_long = entry_price_long * (1 - long_sl_inp)
exit_long = (close < lower) or low < SL_long
// STRATEGY EXECUTION
if testPeriod()
// LONG
if UT
strategy.entry(id="Long", long=true, when=entry_long, comment = "INSERT ENTER LONG COMMAND")
strategy.exit("TP1","Long", qty_percent=long_tp1_qty, limit=long_take_level_1) // PLACE TAKE PROFIT IN WBT BOT SETTINGS
strategy.exit("TP2","Long", qty_percent=long_tp2_qty, limit=long_take_level_2) // PLACE TAKE PROFIT IN WBT BOT SETTINGS
strategy.close(id="Long", when=exit_long, comment= "INSERT EXIT LONG COMMAND")
//PLOT FIXED SLTP LINE
// LONG POSITION
plot(strategy.position_size > 0 ? long_take_level_1 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="1st Long Take Profit")
plot(strategy.position_size > 0 ? long_take_level_2 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="2nd Long Take Profit")
plot(strategy.position_size > 0 ? long_stop_level : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Stop Loss")