
یہ حکمت عملی ایک مقداری تجارتی حکمت عملی ہے جس میں تین ٹرپل سپر ٹرینڈ اشارے ، Ichimoku کلاؤڈ اشارے ، اوسط حقیقی طول موج (ATR) اشارے ، اور اشاریہ منتقل اوسط (EMA) شامل ہیں۔ یہ حکمت عملی تین ٹرپل سپر ٹرینڈ کے ذریعہ مارکیٹ کے رجحان کی سمت کا تعین کرتی ہے ، Ichimoku کلاؤڈ سپورٹ پریشر کا تعین کرتی ہے ، اے ٹی آر اشارے اسٹاپ نقصان کی ترتیب دیتی ہے ، ای ایم اے اشارے رجحان کی تصدیق کرتی ہے ، اور ایک زیادہ مکمل تجارتی نظام تشکیل دیتی ہے۔
اس حکمت عملی کا بنیادی منطق ٹرپل ٹرانس ٹرینڈ اشارے پر مبنی ہے۔ ٹرانس ٹرینڈ اشارے کسی خاص دورانیے میں قیمتوں اور اوسط حقیقی طول و عرض کے مابین بڑے پیمانے پر تعلقات کا موازنہ کرکے رجحان کی سمت کا فیصلہ کرتے ہیں۔ جب قیمت اوپر سے زیادہ ہوتی ہے تو یہ امید کی علامت ہوتی ہے ، اور جب قیمت نیچے سے کم ہوتی ہے تو اس کی علامت ہوتی ہے۔ اس حکمت عملی میں مختلف پیرامیٹرز کے تین سیٹوں کے ساتھ ٹرانس ٹرینڈ اشارے استعمال کیے جاتے ہیں ، جب تینوں ٹرانس ٹرینڈ اشارے بیک وقت امید کی علامت یا امید کی علامت دیتے ہیں تو وہ تجارتی سگنل دیتے ہیں۔
مزید برآں ، Ichimoku بادل اشارے کے ذریعہ دی جانے والی بادل کی کثافت موجودہ رجحان کی طاقت اور کمزوری کا فیصلہ کرتی ہے ، جس سے کچھ غلط سگنلوں کو ختم کیا جاتا ہے۔ اے ٹی آر اشارے اسٹاپ نقصان کی پوزیشن قائم کرنے کے لئے استعمال کیا جاتا ہے۔ ای ایم اے اشارے وسط اور لمبی لکیر کے رجحان کی تصدیق کے لئے استعمال کیا جاتا ہے۔
خاص طور پر ، جب قیمت تین گروپوں کے ٹرانس ٹرینڈ اشارے کے اوپری ریل سے زیادہ ہو تو ، زیادہ کام کریں۔ جب قیمت تین گروپوں کے ٹرانس ٹرینڈ اشارے کے نچلے ریل سے کم ہو تو ، خالی کریں۔ اس کے ساتھ ہی ، قیمت کو Ichimoku بادل سے زیادہ یا اس سے کم کرنے کی ضرورت ہے ، غیر یقینی سگنل کو فلٹر کریں۔ اسٹاپ نقصان کا مقام پوزیشن کھولنے کی قیمت کے لئے مقرر کیا گیا ہے جس میں اے ٹی آر اشارے کی قدر کو کم کیا گیا ہے ، جس سے متحرک ٹریکنگ ممکن ہے۔
ٹرپل سپر ٹرینڈ اشارے پیرامیٹرز کی ترتیب مختلف ہے ، جو مارکیٹ میں شور کو مؤثر طریقے سے فلٹر کرنے اور رجحان کی سمت کا تعین کرنے کی اعلی درستگی فراہم کرتی ہے۔
Ichimoku بادل اشارے مضبوط یا کمزور رجحان کا فیصلہ کرنے کے لئے، جعلی توڑنے سے بچنے کے لئے. اے ٹی آر کی روک تھام کی ترتیب مناسب ہے، زیادہ سے زیادہ حد تک بڑے نقصان سے بچنے کے لئے.
ای ایم اے اشارے وسط لمبی لائن رجحان کی سمت کا تعین کرنے میں معاون ہیں ، جو ایک دوسرے کی تصدیق کرتے ہیں اور سگنل کی وشوسنییتا کو مزید بہتر بناتے ہیں۔
متعدد اشارے کے ساتھ مل کر ، مختلف اشارے ایک دوسرے کی توثیق کرسکتے ہیں ، مارکیٹ کے رجحانات کا مجموعی طور پر فیصلہ کرسکتے ہیں ، سگنل زیادہ قابل اعتماد ہیں۔
اگرچہ Ichimoku بادل اشارے کے فیصلے میں شامل ہونے کے باوجود ، بادل کی موٹائی کو توڑنے اور غیر فعال علاقے میں داخل ہونے کا خطرہ بھی موجود ہے۔ اس وقت اے ٹی آر اشارے کچھ نقصانات کو ایک خاص حد تک قابو میں رکھے گا۔
جب مارکیٹ میں شدید اتار چڑھاؤ ہوتا ہے تو ، اے ٹی آر اشارے کے ذریعہ طے شدہ اسٹاپ نقصان کا نقطہ براہ راست ٹرگر کیا جاسکتا ہے ، جس سے حکمت عملی کی نقصان کی شرح میں اضافہ ہوتا ہے۔ اس وقت اے ٹی آر پیرامیٹرز کو مناسب طریقے سے ایڈجسٹ کیا جاسکتا ہے یا اسٹاپ رینج میں اضافہ کیا جاسکتا ہے۔
اگر ٹرپل سپر ٹرینڈ اشارے کے پیرامیٹرز کو غلط ترتیب دیا جائے تو ، بہت سے غیر موثر سگنل پیدا ہوسکتے ہیں۔ اس کے لئے بہت زیادہ ریٹرننگ کے ذریعہ بہترین مجموعہ پیرامیٹرز تلاش کرنے کی ضرورت ہے۔
دیگر اشارے کے فیصلے کو مزید شامل کیا جاسکتا ہے ، جیسے اتار چڑھاؤ کی شرح اشارے ، برن بینڈ اشارے وغیرہ ، فلٹرنگ سگنل کو معاون بنانے اور وشوسنییتا کو بہتر بنانے کے لئے۔
اے ٹی آر اشارے کے حساب کتاب کے طریقہ کار کو بہتر بنانے کے ذریعے ، بڑے پیمانے پر اتار چڑھاو کے دوران نقصان کی حد کو متحرک طور پر ایڈجسٹ کیا جاسکتا ہے ، جس سے نقصان کی شرح میں کمی واقع ہوسکتی ہے۔
مشین لرننگ ماڈل کو شامل کیا جاسکتا ہے ، جس سے تاریخی اعداد و شمار کی تربیت کے ذریعہ خرید و فروخت کے سگنل کا فیصلہ کیا جاسکتا ہے ، تاکہ انسانی پیرامیٹرز کی ترتیب کے اثرات کو کم کیا جاسکے ، اور سگنل کی درستگی کو بہتر بنایا جاسکے۔
اس حکمت عملی میں تین ٹرپل سپر ٹرینڈ ، Ichimoku کلاؤڈ ، اے ٹی آر اشارے اور ای ایم اے اشارے کے چار حصوں کا مجموعی استعمال کیا گیا ہے۔ مختلف اشارے کے ذریعہ سگنل کی باہمی توثیق کرکے مارکیٹ کے رجحان کی سمت کا فیصلہ کریں۔ Ichimoku کلاؤڈ اور اے ٹی آر اسٹاپ نقصان کے کنٹرول کا خطرہ ، ای ایم اے نے درمیانی لمبی لائن کے رجحان کی معاونت کی تصدیق کی۔ یہ حکمت عملی سگنل زیادہ قابل اعتماد ہے ، جو درمیانی لمبی لائن کے لئے موزوں ہے۔ اسٹریٹجک اثر کو بہتر بنانے کے لئے اسٹاپ نقصان کے طریقہ کار کو مزید بہتر بنایا جاسکتا ہے ، اور دیگر معاون اشارے کے فیصلے کو شامل کیا جاسکتا ہے۔
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="HyperTrend", shorttitle="HyperTrend", overlay=true )
//
float percent_of_portfo = input.int(2, title = "percent of portfo per order", minval = 0, maxval = 100) / 100
// ichimoku Cloud
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length", group = "ichimoku")
basePeriods = input.int(26, minval=1, title="Base Line Length", group = "ichimoku")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length", group = "ichimoku")
displacement = input.int(26, minval=1, title="Lagging Span", group = "ichimoku")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
title="Leading Span A", display = display.none)
p2 = plot(leadLine2, offset = displacement - 1, color=#ef9a9a,
title="Leading Span B", display = display.none)
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none)
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none)
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 72, 59) : color.rgb(244, 67, 54, 70))
// three supertrend
//1
atrPeriod1 = input(10, "ATR Length1", group="SuperTrend")
factor1 = input.float(1.0, "Factor1", step = 0.01, group="SuperTrend")
[supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1)
supertrend1 := barstate.isfirst ? na : supertrend1
bodyMiddle1 = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend", color = color.green, style = plot.style_linebr)
downTrend1 = plot(direction1 < 0 ? na : supertrend1, "Down Trend", color = color.red, style = plot.style_linebr)
//2
atrPeriod2 = input(11, "ATR Length2", group="SuperTrend")
factor2 = input.float(2.0, "Factor2", step = 0.01, group="SuperTrend")
[supertrend2, direction2] = ta.supertrend(factor2, atrPeriod2)
supertrend2 := barstate.isfirst ? na : supertrend2
bodyMiddle2 = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend2 = plot(direction2 < 0 ? supertrend2 : na, "Up Trend", color = color.green, style = plot.style_linebr)
downTrend2 = plot(direction2 < 0 ? na : supertrend2, "Down Trend", color = color.red, style = plot.style_linebr)
//3
atrPeriod3 = input(12, "ATR Length2", group="SuperTrend")
factor3 = input.float(3.0, "Factor2", step = 0.01, group="SuperTrend")
[supertrend3, direction3] = ta.supertrend(factor3, atrPeriod3)
supertrend3 := barstate.isfirst ? na : supertrend3
bodyMiddle3 = plot(barstate.isfirst ? na : (open + close) / 2, display = display.none)
upTrend3 = plot(direction3 < 0 ? supertrend3 : na, "Up Trend", color = color.green, style = plot.style_linebr)
downTrend3 = plot(direction3 < 0 ? na : supertrend3, "Down Trend", color = color.red, style = plot.style_linebr)
// ATR
lengthATR = input.int(title="Length (ATR)", defval=14, minval=1, group="ATR")
smoothingATR = input.string(title="Smoothing (ATR)", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"], group="ATR")
ma_function(sourceATR, lengthATR) =>
switch smoothingATR
"RMA" => ta.rma(sourceATR, lengthATR)
"SMA" => ta.sma(sourceATR, lengthATR)
"EMA" => ta.ema(sourceATR, lengthATR)
=> ta.wma(sourceATR, lengthATR)
ATR = ma_function(ta.tr(true), lengthATR)
plot(ATR, title = "ATR", color=color.new(#B71C1C, 0), display = display.none)
// EMA
lenEMA = input.int(200, minval=1, title="Length of EMA", group="EMA")
srcEMA = input(close, title="Source of EMA", group="EMA")
offset = input.int(title="Offset (EMA)", defval=0, minval=-500, maxval=500, group="EMA")
outEMA = ta.ema(srcEMA, lenEMA)
plot(outEMA, title="EMA", color=color.blue, offset=offset, display = display.none)
ma(sourceEMA, lengthEMA, type) =>
switch type
"SMA" => ta.sma(sourceEMA, lengthEMA)
"EMA" => ta.ema(sourceEMA, lengthEMA)
"SMMA (RMA)" => ta.rma(sourceEMA, lengthEMA)
"WMA" => ta.wma(sourceEMA, lengthEMA)
"VWMA" => ta.vwma(sourceEMA, lengthEMA)
typeMA = input.string(title = "Method (EMA)", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="EMA")
smoothingLengthEMA = input.int(title = "Smoothing Length (EMA)", defval = 5, minval = 1, maxval = 100, group="EMA")
smoothingLine = ma(outEMA, smoothingLengthEMA, typeMA)
plot(smoothingLine, title="Smoothing Line", color=#f37f20, offset=offset, display=display.none)
//logic
if (open + ATR > supertrend1) and (open + ATR > supertrend2) and (open + ATR > supertrend3)
strategy.entry("L", strategy.long)
else if (open < supertrend1 + ATR) and (open < supertrend2 + ATR) and (open < supertrend3 + ATR)
strategy.entry("S", strategy.short)
else
strategy.close_all("C")