
اس حکمت عملی میں Ichimoku کلاؤڈ چارٹ ، منتقل اوسط ، MACD ، Stochastic اور ATR جیسے متعدد اشارے شامل ہیں ، تاکہ ایک سے زیادہ ٹائم فریموں میں رجحانات کی شناخت اور ان کا سراغ لگایا جاسکے۔ اعلی امکان کے رجحان کے اشارے حاصل کرنے کے بعد ، اے ٹی آر سائیکل اسٹاپ نقصانات کو روکنے کا طریقہ استعمال کرکے خطرے پر قابو پالیں۔
Ichimoku کلاؤڈ چارٹ وسط لمبی لائن رجحان کی سمت کا تعین کریں۔ CLOSE قیمت پر کلاؤڈ چارٹ کے اوپر سے گزرنے والی موڑ کی لائن اور بیس لائن کثیر سر سگنل ہے ، نیچے سے گزرنے والی خالی سر سگنل ہے۔
MACD مختصر لائن رجحانات اور اوورلوڈ اوورلوڈ کا فیصلہ کرے گا۔ MACD کالم لائن پر ٹرانس سگنل لائن ایک کثیر سر سگنل ہے ، نیچے ٹرانس ایک خالی سر سگنل ہے۔
اسٹاکسٹک کے ڈی نے اوورلوپ اوور سیل زون کا فیصلہ کیا۔ 20 کو کثیر سر سگنل کے طور پر K لائن پر پہننا ، اور 80 کو خالی سر سگنل کے طور پر پہننا۔
حرکت پذیر اوسط وسط مدتی رجحان کا تعین کرتی ہے۔ اختتامی قیمت پر چلنے والی اوسط ایک کثیر سر سگنل ہے ، نیچے ایک خالی سر سگنل ہے۔
مندرجہ بالا متعدد اشارے کے اشارے کو ضم کریں ، کچھ جھوٹے سگنل کو فلٹر کریں ، اور اعلی امکان کے ساتھ مستقل رجحان سگنل تشکیل دیں۔
اے ٹی آر کی بنیاد پر اسٹاپ نقصان کی قیمت کا حساب لگائیں۔ اے ٹی آر کے ایک خاص ضارب کے ساتھ اسٹاپ نقصان کی حد اور اسٹاپ آؤٹ لیٹ کے طور پر ، خطرے پر قابو پالیں۔
ٹرینڈ کی شناخت کے لئے ایک سے زیادہ ٹائم فریم استعمال کریں اور سگنل کی درستگی کو بہتر بنائیں۔
وسیع پیمانے پر استعمال کیا جاتا ہے اشارے مجموعہ فلٹرنگ ٹیکنالوجی، مؤثر طریقے سے جعلی سگنل فلٹرنگ
اے ٹی آر کا دورانیہ نقصان روکنے کا آلہ ، زیادہ سے زیادہ واحد نقصان کو کنٹرول کرتا ہے۔
مختلف خطرے کی ترجیحات کو پورا کرنے کے لئے داخلے کی شرائط کی سختی کو اپنی مرضی کے مطابق کیا جاسکتا ہے۔
رجحانات کی پیروی پر مبنی، غیر متوقع واقعات کی واپسی کی شناخت کرنے میں ناکام.
اے ٹی آر کا دورانیہ بند ہونا شاید زیادہ مثالی ہے اور اسے ریئل ڈسک میں مکمل طور پر نقل کرنا مشکل ہے۔
پیرامیٹرز کی غلط ترتیب سے ٹرانزیکشن کی زیادہ تعدد یا سگنل کی شناخت کی ناقص درستگی کا سبب بن سکتا ہے۔
مختلف اقسام اور مارکیٹ کے حالات کے مطابق توازن تلاش کرنے کے لئے پیرامیٹرز کو ایڈجسٹ کرنے کی ضرورت ہے۔
مشین سیکھنے کے الگورتھم کو شامل کریں جو رجحانات کو تبدیل کرنے میں مدد فراہم کرے۔
اے ٹی آر ضارب پیرامیٹرز کو بہتر بنائیں ، مختلف اقسام کے لئے مختلف ضارب طے کیے جاسکتے ہیں۔
ٹرانزیکشن حجم میں تبدیلی جیسے دیگر عوامل کے ساتھ مل کر ، بریک سگنل کی درستگی کو بہتر بنائیں۔
بہترین پیرامیٹرز کا مجموعہ تلاش کرنے کے لئے پیرامیٹرز کو مسلسل بہتر بنانے کے لئے.
اس حکمت عملی میں Ichimoku کلاؤڈ گراف ، MACD ، اور Stochastic جیسے متعدد اشارے استعمال کیے گئے ہیں تاکہ متعدد ٹائم فریموں میں رجحانات کی نشاندہی کی جاسکے ، رجحانات کو پکڑنے کے ساتھ ساتھ اچانک واقعات سے بچنے سے بچنے کی کوشش کی جائے۔ اے ٹی آر کی متواتر نقصانات کو روکنے کا طریقہ ایک واحد نقصان کو مؤثر طریقے سے کنٹرول کرنے کے لئے ایک تجویز کردہ رجحانات کی پیروی کی حکمت عملی ہے۔ مزید معاون فیصلے کے اشارے اور مشین لرننگ کے طریقوں کو متعارف کرانے کے ذریعہ ، اس حکمت عملی میں مزید اصلاح کی گنجائش ہے۔
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 4h
basePeriod: 15m
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/
// © FXFUNDINGMATE
//@version=4
strategy(title="FXFUNDINGMATE TREND INDICATOR", overlay=true)
//Ichimoku Cloud
conversionPeriods = input(9, minval=1, title="Conversion Line Length")
basePeriods = input(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Length")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)[displacement - 1]
leadLine2 = donchian(laggingSpan2Periods)[displacement - 1]
//macd
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA (Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=false)
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
//kd
periodK = input(5, title="%K Length", minval=1)
smoothK = input(3, title="%K Smoothing", minval=1)
periodD = input(3, title="%D Smoothing", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)
//atr
atrlength = input(title="Atr Length", defval=8, minval=1)
SMulti = input(title="Stop loss multi Atr", defval=1.0)
TMulti = input(title="Take profit multi Atr", defval=1.0)
smoothing = input(title="Smoothing", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"])
ma_function(source, length) =>
if smoothing == "RMA"
rma(source, length)
else
if smoothing == "SMA"
sma(source, length)
else
if smoothing == "EMA"
ema(source, length)
else
wma(source, length)
atr = ma_function(tr(true), atrlength)
operation_type = input(defval = "Both", title = "Position side", options = ["Long", "Short", "Both"])
operation = operation_type == "Long" ? 1 : operation_type == "Short" ? 2 : 3
showlines = input(true, title="Show sl&tp lines")
// MA
sma_len = input(100, title="MA Length", type=input.integer)
sma = sma(close, sma_len)
longCond = crossover(k, 20) and macd > 0 and close > sma and close > leadLine1 and close > leadLine2
shortCond = crossunder(k, 80) and macd < 0 and close < sma and close < leadLine1 and close < leadLine2
entry_price = float(0.0) //set float
entry_price := strategy.position_size != 0 or longCond or shortCond ? strategy.position_avg_price : entry_price[1]
entry_atr = valuewhen(longCond or shortCond, atr,0)
short_stop_level = float(0.0) //set float
short_profit_level = float(0.0) //set float
long_stop_level = float(0.0) //set float
long_profit_level = float(0.0) //set float
short_stop_level := entry_price + SMulti * entry_atr
short_profit_level := entry_price - TMulti * entry_atr
long_stop_level := entry_price - SMulti * entry_atr
long_profit_level := entry_price + TMulti * entry_atr
// Strategy Backtest Limiting Algorithm
i_startTime = input(defval = timestamp("1 Jan 2020 00:00 +0000"), title = "Backtesting Start Time", type = input.time)
i_endTime = input(defval = timestamp("31 Dec 2025 23:59 +0000"), title = "Backtesting End Time", type = input.time)
timeCond = true
if (operation == 1 or operation == 3)
strategy.entry("long" , strategy.long , when=longCond and timeCond, alert_message = "Long")
strategy.exit("SL/TP", from_entry = "long" , limit = long_profit_level , stop = long_stop_level , alert_message = "Long exit")
if (operation == 2 or operation == 3)
strategy.entry("short", strategy.short, when=shortCond and timeCond, alert_message="Short")
strategy.exit("SL/TP", from_entry = "short", limit = short_profit_level , stop = short_stop_level , alert_message = "Short exit")
if time > i_endTime
strategy.close_all(comment = "close all", alert_message = "close all")
plot(showlines and strategy.position_size <= 0 ? na : long_stop_level, color=color.red, style=plot.style_linebr, linewidth = 2)
plot(showlines and strategy.position_size <= 0 ? na : long_profit_level, color=color.lime, style=plot.style_linebr, linewidth = 2)
plot(showlines and strategy.position_size >= 0 ? na : short_stop_level, color=color.red, style=plot.style_linebr, linewidth = 2)
plot(showlines and strategy.position_size >= 0 ? na : short_profit_level, color=color.lime, style=plot.style_linebr, linewidth = 2)
//}