Ichimoku Kumo Twist Gold-Absorbing Strategy ایک مقداری تجارتی حکمت عملی ہے جو Ichimoku مارکیٹ کے تکنیکی اشارے اور رینج فلٹرنگ کو جوڑتی ہے۔ یہ مارکیٹ کے رجحانات اور اہم معاونت اور مزاحمت کی سطحوں کا تعین کرنے کے لئے Ichimoku اشارے کا استعمال کرتا ہے ، اس کے ساتھ ساتھ تجارتی سگنل پیدا کرنے کے لئے موم بتی کے نمونوں کے ساتھ۔ اس دوران ، رینج فلٹرنگ تجارتی تعدد اور خطرے کو کنٹرول کرنے میں مدد کرتی ہے۔
یہ حکمت عملی بنیادی طور پر مارکیٹ کے رجحانات کا اندازہ کرنے کے لئے ایچیموکو اشارے اور موم بتی کے نمونوں پر مبنی ہے۔ ایچیموکو میں تبادلوں کی لائن ، بیس لائن اور بادل کی لائنیں ہوتی ہیں ، ان کے کراس اوور تعلقات مارکیٹ کے رجحانات کی نشاندہی کرتے ہیں۔ بادل کی لائنیں سپورٹ اور مزاحمت کی سطح کے طور پر بھی کام کرتی ہیں۔ یہ حکمت عملی ایچیموکو لائنوں کی حساسیت کو ایڈجسٹ کرنے کے لئے مختلف پیرامیٹر مجموعے مرتب کرتی ہے۔ اس کے علاوہ ، یہ حکمت عملی نمونوں کی نشاندہی کرتی ہے اور جب تبادلوں کی لائن بیس لائن سے اوپر عبور کرتی ہے تو خرید سگنل تیار کرتی ہے ، اور نیچے عبور کرتے وقت سگنل فروخت کرتی ہے۔
اس کے علاوہ ، اس حکمت عملی میں تاریخ کی حد کے فلٹرز مرتب کیے گئے ہیں ، تاکہ یہ صرف مخصوص تاریخ کی حد کے اندر ہی تجارت کرے۔ اس سے تجارتی تعدد پر قابو پایا جاسکتا ہے۔ نیز ، اسٹاپ نقصان کی ترتیب نقصان کو روکنے سے خطرہ کو کم کرنے میں مدد ملتی ہے جب قیمت منفی سمت میں چلتی ہے۔
Ichimoku پیرامیٹرز کو ایڈجسٹ کرنے، تاریخ کی حد کو بہتر بنانے، سٹاپ نقصان پوائنٹس میں ترمیم کرنے جیسے طریقوں سے خطرات کو بہتر اور کنٹرول کیا جا سکتا ہے.
Ichimoku Kumo Twist Gold-Absorbing Strategy مارکیٹ کے رجحانات کا تعین کرنے کے لئے Ichimoku اشارے ، موم بتی کے پیٹرن کی شناخت ، رینج فلٹرنگ کو مربوط کرتا ہے۔ یہ رجحانات کی سمتوں کو کافی واضح طور پر سمجھ سکتا ہے۔ پیرامیٹر ٹیوننگ ، رسک کنٹرول وغیرہ جیسے ذرائع کے ذریعہ ، اچھی حکمت عملی کی کارکردگی حاصل کی جاسکتی ہے۔ لیکن Ichimoku پسماندگی کا مسئلہ نوٹ کیا جانا چاہئے ، اور مسلسل اصلاح کی ایڈجسٹمنٹ کی جانی چاہئے۔
/*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)