
اس حکمت عملی میں ، موجودہ رجحان کی سمت کا اندازہ لگانے کے لئے ، اوسط حقیقی طول و عرض اے ٹی آر کے ساتھ مل کر رجحانات کی نشاندہی کرنے کے لئے ، K لائن کے سورج کے سایہ کی لمبائی کے تناسب کا حساب لگایا گیا ہے ، اور بریک پوائنٹس پر پوزیشن کھولنے کے لئے ، اسٹاپ نقصان کی روک تھام قائم کی گئی ہے ، اور قلیل مدتی رجحانات کو پکڑ لیا گیا ہے۔
یہ حکمت عملی بنیادی طور پر K لائنوں کے لئے سورج کے سائے کی لمبائی کے تناسب کا حساب کرکے موجودہ رجحان کی سمت کا فیصلہ کرتی ہے ، جب سورج کی لمبائی لمبی ہوجاتی ہے تو اسے نیچے کی طرف رجحان سمجھا جاتا ہے ، اور جب سورج کی لمبائی لمبی ہوجاتی ہے تو اسے اوپر کی طرف رجحان سمجھا جاتا ہے۔
اس حکمت عملی کی منطق کچھ یوں ہے:
یہ حکمت عملی کی بنیادی ٹریڈنگ منطق ہے ، رجحانات کی نشاندہی کرکے پوزیشن کھولنے کے لئے ، اسٹاپ نقصان کی روک تھام کے بعد منافع کو بہتر بنانے کے لئے۔
معقول نقصانات ، اصلاحی پیرامیٹرز اور بروقت نقصانات کو روکنے کے ذریعے خطرے کو کنٹرول کیا جاسکتا ہے۔
اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:
کثیر جہتی ٹیسٹنگ اور اصلاح کے ذریعے حکمت عملی کے اثر کو زیادہ سے زیادہ کیا جاسکتا ہے۔
مجموعی طور پر ، یہ حکمت عملی ، رجحانات کی شناخت اور خطرے کے کنٹرول کے ذریعہ ، قلیل مدتی قیمتوں میں اتار چڑھاؤ سے فائدہ اٹھانے کے لئے ، ایک مستقل اثر والی شارٹ لائن توڑنے کی حکمت عملی ہے۔ جب اصلاح کی جاتی ہے تو ، یہ مقدار کی تجارت کا ایک اہم حصہ بن سکتا ہے۔
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 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/
// © ondrej17
//@version=4
strategy("longWickstrategy", overlay=true )
// Inputs
st_yr_inp = input(defval=2020, title='Backtest Start Year')
st_mn_inp = input(defval=01, title='Backtest Start Month')
st_dy_inp = input(defval=01, title='Backtest Start Day')
en_yr_inp = input(defval=2025, title='Backtest End Year')
en_mn_inp = input(defval=01, title='Backtest End Month')
en_dy_inp = input(defval=01, title='Backtest End Day')
sltp_inp = input(defval=0.8, title='N - % offset for N*SL and (2N)*TP')/100
// Dates
start = timestamp(st_yr_inp, st_mn_inp, st_dy_inp,00,00)
end = timestamp(en_yr_inp, en_mn_inp, en_dy_inp,00,00)
canTrade = time >= start and time <= end
// Indicators Setup
// Strategy Calcuations
lowerWick = (open > close) ? close-low : open - low
upperWick = (open > close) ? high-open : high-close
wickLength = max(lowerWick,upperWick)
candleLength = high-low
wickToCandleRatio = wickLength / candleLength
entryFilterCandleLength = candleLength > 0.75*atr(48)
// Entries and Exits
longCondition = entryFilterCandleLength and wickToCandleRatio > 0.5 and lowerWick > upperWick and canTrade and strategy.position_size == 0
shortCondition = entryFilterCandleLength and wickToCandleRatio > 0.5 and lowerWick < upperWick and canTrade and strategy.position_size == 0
strategy.entry("pendingLong", strategy.long, limit=low+wickLength/2, when = longCondition)
strategy.entry("pendingShort", strategy.short, limit=high-wickLength/2, when = shortCondition)
longStop = strategy.position_size > 0 ? strategy.position_avg_price*(1-sltp_inp) : na
longTP = strategy.position_size > 0 ? strategy.position_avg_price*(1+2*sltp_inp) : na
shortStop = strategy.position_size < 0 ? strategy.position_avg_price*(1+sltp_inp) : na
shortTP = strategy.position_size < 0 ? strategy.position_avg_price*(1-2*sltp_inp) : na
strategy.exit("longSLTP","pendingLong", stop=longStop, limit = longTP)
strategy.exit("shortSLTP","pendingShort", stop=shortStop, limit = shortTP)
plot(longStop, color=color.red, style=plot.style_linebr, linewidth=2)
plot(shortStop, color=color.red, style=plot.style_linebr, linewidth=2)
plot(longTP, color=color.green, style=plot.style_linebr, linewidth=2)
plot(shortTP, color=color.green, style=plot.style_linebr, linewidth=2)
plotLongCondition = longCondition ? high+abs(open-close) : na
plot(plotLongCondition, style=plot.style_circles, linewidth=4, color=color.green)
plotShortCondition = shortCondition ? high+abs(open-close) : na
plot(plotShortCondition, style=plot.style_circles, linewidth=4, color=color.red)