اس حکمت عملی میں رجحان کی سمت کی نشاندہی کرنے کے لئے کراس سائیکل تکنیکی اشارے کا استعمال کیا گیا ہے ، جو رجحان فلٹرنگ اور اتار چڑھاؤ فلٹرنگ کے ساتھ مل کر کم خطرہ رجحان ٹریکنگ تجارت کو حاصل کرتا ہے۔
خرید و فروخت کے سگنل کا تعین کرنے کے لئے اعلی اور کم نقطہ توڑ کا استعمال کریں۔ جب قیمت 7 دورانیہ کی اونچائی کو توڑتی ہے تو نیچے دیکھیں ، اور 7 دورانیہ کی کم سے زیادہ توڑ دیں۔
ٹرینڈ فلیکس اشارے اہم رجحان کی سمت کا تعین کرتا ہے۔ یہ اشارے دوہری ہموار کرنے کی تکنیک کو جوڑتا ہے ، جو رجحان کے وسط حصے کو مؤثر طریقے سے پہچان سکتا ہے۔ 1 سے اوپر کی قیمت بڑھتی ہوئی رجحان کی نشاندہی کرتی ہے ، اور -1 سے نیچے کی قیمت گرتی ہوئی رجحان کی نشاندہی کرتی ہے۔ یہاں ہم ٹرینڈ فلیکس > 1 گھنٹہ لمبا اور < -1 گھنٹہ مختصر ہونے کا مطالبہ کرتے ہیں ، تاکہ اس کی صف کی حالت کو فلٹر کیا جاسکے۔
Bollinger Bands میں اتار چڑھاؤ کے ساتھ ، آپ کو جھٹکے کی شناخت کی اجازت دی جاتی ہے۔ جب قیمت قریب ہوتی ہے تو ، اس سے بچنے سے گریز کریں۔
پوزیشنوں کا انتظام کرنے کے لئے موبائل اسٹاپ اور موبائل اسٹاپ کا استعمال کریں۔
دوہری ہموار ٹیکنالوجی کے ساتھ مل کر ، کراس پیریڈ اشارے رجحان کی سمت کو مؤثر طریقے سے پہچان سکتے ہیں ، اور مارکیٹ کے جھٹکے سے پریشان ہونے سے بچ سکتے ہیں۔
ٹریڈنگ سگنل کو زیادہ قابل اعتماد بنانے کے لئے رجحان کی سمت اور اتار چڑھاؤ کے قوانین کو بھی مدنظر رکھیں۔
اسٹاپ نقصان کی روک تھام کی ترتیب معقول ہے ، منافع کو مقفل کرنے اور نقصانات کو بڑھانے سے روکنے کے لئے۔
اس کی حکمت عملی بہت سادہ ہے اور اسے سمجھنا اور اس پر عمل درآمد کرنا آسان ہے۔
بریک سگنل میں جھوٹی بریک ہوسکتی ہے ، جس سے غلط تجارت پیدا ہوسکتی ہے۔ مزید ہلچل کی شرائط کو شامل کرنے پر غور کیا جاسکتا ہے۔
فکسڈ سائیکل پیرامیٹرز مارکیٹ کی تبدیلیوں کے مطابق نہیں ہوسکتے ہیں۔ متحرک اصلاح کے پیرامیٹرز پر غور کیا جاسکتا ہے۔
قیمتوں میں رکاوٹوں کی کمی ، انتہائی رجحانات سے ہونے والے بڑے نقصانات کو روکنے میں ناکام ہے۔
اسٹاپ اسٹاپ نقصان کا نقطہ مقررہ ہے ، مارکیٹ میں اتار چڑھاؤ کے مطابق ذہین طور پر ایڈجسٹ نہیں کیا جاسکتا ہے۔
مزید رجحانات کے بارے میں فیصلہ کرنے والے اشارے شامل کرنے پر غور کیا جاسکتا ہے تاکہ حکمت عملی کا مجموعہ تشکیل دیا جاسکے اور فیصلہ کی درستگی کو بہتر بنایا جاسکے۔
زلزلے کی شناخت کے ماڈیول میں اضافہ ، زلزلے کی شدت کے دوران تجارت کو روکنے اور خطرے کو کم کرنے کے لئے۔
مشین لرننگ الگورتھم متعارف کروانا ، پیرامیٹرز کی متحرک اصلاح کے لئے۔
قیمت کے اسٹاپ نقصان ماڈیول میں شامل ہونے سے ، جب نقصانات کسی خاص حد تک پہنچ جاتے ہیں تو نقصان کو روکنے اور اس سے باہر نکل سکتے ہیں۔
مارکیٹ میں اتار چڑھاو کی بنیاد پر اسٹاپ نقصان کا تناسب حساب لگانا ، اسٹاپ نقصان کو روکنے کے لئے ذہین ایڈجسٹمنٹ حاصل کرنا۔
یہ حکمت عملی مجموعی طور پر کافی مستحکم اور قابل اعتماد ہے ، لیکن اس میں بہتری کی گنجائش بھی ہے۔ اس حکمت عملی کا بنیادی خیال یہ ہے کہ رجحان کی سمت کا اندازہ لگایا جائے ، پھر رجحان کی طاقت کے اشارے اور اتار چڑھاؤ کے اشارے کے ساتھ مل کر فلٹر کیا جائے ، تاکہ اعلی معیار کے سگنل جاری کیے جائیں۔ یہ حکمت عملی آسان ہے ، عملی ہے ، اور طویل مدتی رجحانات کی پیروی کرنے کے لئے بہت موزوں ہے۔ مزید مشروط فیصلے اور متحرک پیرامیٹرز کی اصلاح متعارف کرانے سے حکمت عملی کی تاثیر کو مزید بڑھایا جاسکتا ہے۔
/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Eltrut", shorttitle="Eltrut Strat", overlay=true, pyramiding=0, default_qty_type= strategy.percent_of_equity,calc_on_order_fills=false, slippage=25,commission_type=strategy.commission.percent,commission_value=0.075)
testStartYear = input(2016, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2030, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// R E F L E X / T R E N D F L E X
f_supersmoother(_src,_len)=>
pi = 2 * asin(1)
_a = exp(-sqrt(2) * pi / _len)
_c2 = 2 * _a * cos(sqrt(2) * pi / _len)
_c3 = -_a * _a
_c1 = 1 - _c2 - _c3
_out = 0.0
_out := _c1 * _src + _c2 * nz(_out[1],nz(_src[1],_src)) + _c3 * nz(_out[2],nz(_src[2],nz(_src[1],_src)))
f_IQIFM(_src1,_max)=>
_src = _src1 < 0.001 ? _src1 * 10000 : _src1
_imult = 0.635, _qmult = 0.338 , _inphase = 0.0, _quad = 0.0
_re = 0.0, _im = 0.0, _deltaphase = 0.0, _instper = 0.0, _per = 0.0, _v4 = 0.0
_v1 = _src - nz(_src[7])
_inphase := 1.25 * (nz(_v1[4]) - _imult * _v1[2]) + _imult * nz(_inphase[3])
_quad := _v1[2] - _qmult * _v1 + _qmult * nz(_quad[2])
_re := 0.2 * (_inphase * _inphase[1] + _quad * _quad[1]) + 0.8 * nz(_re[1])
_im := 0.2 * (_inphase * _quad[1] - _inphase[1] * _quad) + 0.8 * nz(_im[1])
if _re != 0.0
_deltaphase := atan(_im / _re)
for i = 0 to _max
_v4 := _v4 + _deltaphase[i]
if _v4 > 4 * asin(1) and _instper == 0.0
_instper := i
if _instper == 0.0
_instper := nz(_instper[1])
_per := 0.25 * _instper + 0.75 * nz(_per[1])
_per
f_flex(_src1, _fixed_len, _reflex) =>
_src = _src1
_len = _fixed_len
_ss1 = f_supersmoother(_src, _len)
_ss = _ss1
_slope = (_ss[_len] - _ss) / _len
_sum = 0.0
for _i = 1 to _len
_c1 = _reflex ? _ss + _i * _slope - _ss[_i] : _ss - _ss[_i]
_sum := _sum + _c1
_sum := _sum / _len
_ms = 0.0
_ms := 0.04 * pow(_sum,2) + 0.96 * nz(_ms[1])
_flex1 = _ms != 0 ? _sum / sqrt(nz(_ms)) : 0.0
_flex = _flex1
_flex
rflx = f_flex(close, 20, true)
trndflx = f_flex(close, 20, false)
// S I G N A L
hi7 = highest(7)
lo7 = lowest(7)
long_cond = crossunder(close, lo7[1])
short_cond = crossover(close, hi7[1])
// F I L T E R S
long_filter1 = trndflx < 1
short_filter1 = trndflx > -1
basis = sma(close, 35)
dev = 3 * stdev(close, 35)
long_filter2 = close > basis - dev
short_filter2 = close < basis + dev
// S T R A T E G Y
long = long_cond and long_filter1 and long_filter2
short = short_cond and short_filter1 and short_filter2
if( true)
strategy.entry("Long", strategy.long, when = long)
strategy.entry("Long", strategy.long, when = short)
// User Options to Change Inputs (%)
stopPer = input(3, title='Stop Loss %', type=input.float) / 100
takePer = input(9, title='Take Profit %', type=input.float) / 100
// Determine where you've entered and in what direction
longStop = strategy.position_avg_price * (1 - stopPer)
shortStop = strategy.position_avg_price * (1 + stopPer)
shortTake = strategy.position_avg_price * (1 - takePer)
longTake = strategy.position_avg_price * (1 + takePer)
if strategy.position_size > 0
strategy.exit(id="Exit Long", stop=longStop, limit=longTake)
if strategy.position_size < 0
strategy.exit(id="Exit Short", stop=shortStop, limit=shortTake)
// P L O T
plotshape(long, color = #1e90ff, text = "", style=shape.triangleup, location=location.belowbar, size=size.tiny)
plotshape(short, color = #ff69b4, text = "", style=shape.triangledown, location=location.abovebar, size=size.tiny)
alertcondition(long, "Long", "Enter Long")
alertcondition(short, "Short", "Enter S")