
ایک بادل کے ذریعے چاند دو ستاروں کی پیمائش کی حکمت عملی ایک مارکیٹ تکنیکی تجزیہ اشارے بادل اور رینج فلٹرنگ کے ساتھ مل کر ایک مقداری ٹریڈنگ حکمت عملی ہے۔ یہ حکمت عملی ایک بادل اشارے کا استعمال کرتے ہوئے مارکیٹ کے رجحانات اور اہم حمایت ، مزاحمت کی سطح ، اور K لائن کی شکل کا اندازہ لگانے کے لئے تجارتی سگنل پیدا کرتی ہے۔ اس کے ساتھ ساتھ ، رینج فلٹرنگ کے ساتھ مل کر تجارت کی تعدد اور خطرے کو کنٹرول کریں۔
یہ حکمت عملی بنیادی طور پر ایک کلاؤڈ اشارے اور K لائن کی شکل پر مبنی ہے جس سے مارکیٹ کی رجحان کا اندازہ لگایا جاسکتا ہے۔ ایک کلاؤڈ اشارے میں فارورڈ ٹرن ، بیس لائن اور کلاؤڈ لائن شامل ہیں ، ان کے کراس تعلقات سے مارکیٹ کے رجحان کا اندازہ لگایا جاسکتا ہے۔ جبکہ کلاؤڈ لائنز معاونت اور مزاحمت کی حیثیت سے کام کرتی ہیں۔ یہ حکمت عملی مختلف پیرامیٹرز کے مجموعے کو ترتیب دے کر کلاؤڈ لائن کی حساسیت کو ایڈجسٹ کرتی ہے۔ اس کے علاوہ ، حکمت عملی میں شکل کی شناخت کے ذریعے ، بیس لائن کو عبور کرتے وقت خریدنے کا اشارہ پیدا ہوتا ہے ، اور جب نیچے سے گزرتا ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔
اس کے علاوہ ، حکمت عملی میں ایک تاریخ کی حد فلٹر بھی ہے ، جس میں صرف مخصوص تاریخ کی حد کے اندر ہی تجارت کی جاتی ہے ، جو حکمت عملی کی تجارت کی فریکوئنسی کو کنٹرول کرتی ہے۔ اس کے علاوہ ، اسٹاپ نقصان کی ترتیب بھی خطرے کو کم کرتی ہے ، جب قیمت منفی سمت میں چلتی ہے تو اسٹاپ لاس آپشن نقصان کو روک دے گا۔
ایک کلاؤڈ کے اشارے کے پیرامیٹرز کو ایڈجسٹ کرنے، تاریخ کی حد کو بہتر بنانے، اور روکنے کے نقطہ نظر کو درست کرنے کے طریقوں کے ذریعہ خطرے کو بہتر اور کنٹرول کیا جا سکتا ہے.
ایک بادل کے ذریعے چاند ڈبل ستارہ پیمائش کی حکمت عملی جامع استعمال ایک بادل اشارے، K لائن کی شناخت، رینج فلٹرنگ اور دیگر طریقوں کی مارکیٹ کے رجحان کا تعین کرنے کے لئے، زیادہ واضح طور پر رجحان کی سمت کو پکڑ سکتا ہے ۔ پیرامیٹرز کی ایڈجسٹمنٹ، خطرے کے کنٹرول اور دیگر ذرائع کے ذریعے، بہتر حکمت عملی کا اثر حاصل کیا جا سکتا ہے ۔ لیکن اب بھی ایک بادل اشارے کے پسماندہ مسائل پر توجہ دینے کی ضرورت ہے، اور مسلسل اصلاحی ایڈجسٹمنٹ کی ضرورت ہے۔
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Ichimoku Kumo Twist Strategy (Presets)", shorttitle="Kumo Twist Strategy", overlay=true)
xlowest_(src, len) =>
x = src
for i = 1 to len - 1
v = src[i]
if (na(v))
break
x := min(x, v)
x
xlowest(src, len) =>
na(src[len]) ? xlowest_(src, len) : lowest(src, len)
xhighest_(src, len) =>
x = src
for i = 1 to len - 1
v = src[i]
if (na(v))
break
x := max(x, v)
x
xhighest(src, len) =>
na(src[len]) ? xhighest_(src, len) : highest(src, len)
dropn(src, n) =>
na(src[n]) ? na : src
ichiConversionPeriods(presets) =>
if presets == "Cpt 20 60 120 30"
20
else
if presets == "Cpt 10 30 60 30"
10
else
if presets == "Std 18 52 104 26"
18
else
9
ichiBasePeriods(presets) =>
if presets == "Cpt 20 60 120 30"
60
else
if presets == "Cpt 10 30 60 30"
30
else
if presets == "Std 18 52 104 26"
52
else
26
ichiLaggingSpan2Periods(presets) =>
if presets == "Cpt 20 60 120 30"
120
else
if presets == "Cpt 10 30 60 30"
60
else
if presets == "Std 18 52 104 26"
104
else
52
ichiDisplacement(presets) =>
if presets == "Cpt 20 60 120 30"
30
else
if presets == "Cpt 10 30 60 30"
30
else
if presets == "Std 18 52 104 26"
26
else
26
scaling = input(title="Scaling", options=["Linear", "Log"], defval="Linear")
presets = input(title="Presets", options=["Cpt 20 60 120 30", "Cpt 10 30 60 30", "Std 18 52 104 26", "Std 9 26 52 26"], defval="Cpt 20 60 120 30")
dropCandles = input(1, minval=0, title="Drop first N candles")
showClouds = input(false, "Show Clouds")
stoploss = input(true, title="Stop Loss")
conversionPeriods = ichiConversionPeriods(presets)
basePeriods = ichiBasePeriods(presets)
laggingSpan2Periods = ichiLaggingSpan2Periods(presets)
displacement = ichiDisplacement(presets)
logScaling = scaling == "Log"
lows = dropn(low, dropCandles)
highs = dropn(high, dropCandles)
lowsp = logScaling ? log(lows) : lows
highsp = logScaling ? log(highs) : highs
donchian(len) =>
avg(xlowest(lowsp, len), xhighest(highsp, len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
// === BACKTEST RANGE ===
FromMonth = input(defval = 10, title = "From Month", minval = 1)
FromDay = input(defval = 3, title = "From Day", minval = 1)
FromYear = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth = input(defval = 1, title = "To Month", minval = 1)
ToDay = input(defval = 1, title = "To Day", minval = 1)
ToYear = input(defval = 9999, title = "To Year", minval = 2014)
golong = crossover(leadLine1, leadLine2)
goshort = crossunder(leadLine1, leadLine2)
strategy.entry("Buy", strategy.long, when=(golong and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))))
strategy.entry("Sell", strategy.short, when=(goshort and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59))))
conversionLinep = logScaling ? exp(conversionLine) : conversionLine
baseLinep = logScaling ? exp(baseLine) : baseLine
leadLine1p = logScaling ? exp(leadLine1) : leadLine1
leadLine2p = logScaling ? exp(leadLine2) : leadLine2
plot(showClouds ? conversionLinep : na, color=#0496ff, title="Conversion Line")
plot(showClouds ? baseLinep : na, color=#991515, title="Base Line")
p1 = plot(showClouds ? leadLine1p : na, offset = displacement, color=green, title="Lead 1")
p2 = plot(showClouds ? leadLine2p : na, offset = displacement, color=red, title="Lead 2")
fill(p1, p2, color = showClouds ? (leadLine1p > leadLine2p ? green : red) : na)