//@version=4 //بسم الله الرحمن الرحيم strategy("ERDOGAN IS SHARP 1M", overlay=true, pyramiding=1,initial_capital = 1000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0) UseStrategy= input(true) strat_dir_input = input(title="Strategy Direction", defval="all", options=["long", "short", "all"]) strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all strategy.risk.allow_entry_in(strat_dir_value) risk = input(100, title = "Lot Risk Percent", type = input.float, step = 0.1, minval = 0.1, maxval = 100) leverage = input(1, defval = 1, minval = 1, maxval = 500, title = "leverage") stoploss=input(title=" stop loss", defval=0.1, minval=0.0001) /////////// Periods = input(title="ATR Period", type=input.integer, defval=10) src = input(close, title="Source") Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0) changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true) showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=true) highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true) atr2 = sma(tr, Periods) atr= changeATR ? atr(Periods) : atr2 up=src-(Multiplier*atr) up1 = nz(up[1],up) up := close[1] > up1 ? max(up,up1) : up dn=src+(Multiplier*atr) dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green) buySignal = trend == 1 and trend[1] == -1 dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red) sellSignal = trend == -1 and trend[1] == 1 mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0) longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white alertcondition(buySignal, title="SuperTrend Buy", message="SuperTrend Buy!") alertcondition(sellSignal, title="SuperTrend Sell", message="SuperTrend Sell!") changeCond = trend != trend[1] bullishtrend = trend == 1 ? up : na bearishtrend = trend == 1 ? na : dn /////////// Price = close Length = input(20) Mult = input(1.5) Basis = sma(Price, Length) StdDev = Mult * stdev(Price, Length) Upper = Basis + StdDev Lower = Basis - StdDev ADX_Length = input(50) TrueRange = max(max(high - low, abs(high - nz(close[1]))), abs(low - nz(close[1]))) DirectionalMovementPlus = high - nz(high[1]) > nz(low[1]) - low ? max(high - nz(high[1]), 0) : 0 DirectionalMovementMinus = nz(low[1]) - low > high - nz(high[1]) ? max(nz(low[1]) - low, 0) : 0 SmoothedTrueRange = 0.0 SmoothedTrueRange := nz(SmoothedTrueRange[1]) - nz(SmoothedTrueRange[1]) / ADX_Length + TrueRange SmoothedDirectionalMovementPlus = 0.0 SmoothedDirectionalMovementPlus := nz(SmoothedDirectionalMovementPlus[1]) - nz(SmoothedDirectionalMovementPlus[1]) / ADX_Length + DirectionalMovementPlus SmoothedDirectionalMovementMinus = 0.0 SmoothedDirectionalMovementMinus := nz(SmoothedDirectionalMovementMinus[1]) - nz(SmoothedDirectionalMovementMinus[1]) / ADX_Length + DirectionalMovementMinus DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100 DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100 DX = abs(DIPlus - DIMinus) / (DIPlus + DIMinus) * 100 SmoothedADX1 = ema(DX, input(6)) SmoothedADX2 = ema(DX, input(12)) Condition1 = crossover(Price, Lower) and SmoothedADX1 < SmoothedADX2 Condition2 = crossunder(Price, Upper) and SmoothedADX1 < SmoothedADX2 ////////////////////////////////////////////////////////////////////////////////////////////////// ge(value, precision) => round(value * (pow(10, precision))) / pow(10, precision) c = ge((strategy.equity * leverage / open) * (risk / 100), 4) xlong= bullishtrend and Condition1 xshort= bearishtrend and Condition2 isLong = (strategy.position_size > 0) isShort = (strategy.position_size < 0) longAlert = "long tradesymbol=EURUSD tradeid=erdoganissharp risk=0.5 sl=118" shortAlert = "short tradesymbol=EURUSD tradeid=erdoganissharp risk=0.5 sl=118" if UseStrategy and xlong and not isShort strategy.entry("Long", strategy.long, c, alert_message=longAlert) if UseStrategy and xshort and not isLong strategy.entry("Short", strategy.short, c, alert_message=shortAlert) q1=input(title=" qty_percent1", defval=25, minval=1) //ALDIĞIMIZIN YÜZDE KAÇI BU TAKE PROFİT SEVİYESİNDE SATILSIN q2=input(title=" qty_percent2", defval=25, minval=1) //ALDIĞIMIZIN YÜZDE KAÇI BU TAKE PROFİT SEVİYESİNDE SATILSIN q3=input(title=" qty_percent3", defval=25, minval=1) //ALDIĞIMIZIN YÜZDE KAÇI BU TAKE PROFİT SEVİYESİNDE SATILSIN tp1=input(title=" Take profit1", defval=0.025, minval=0.0001) //ALDIĞIMIZI YÜZDE KAÇ KAR İLE SATALIM tp2=input(title=" Take profit2", defval=0.05, minval=0.0001) //ALDIĞIMIZI YÜZDE KAÇ KAR İLE SATALIM tp3=input(title=" Take profit3", defval=0.075, minval=0.0001) //ALDIĞIMIZI YÜZDE KAÇ KAR İLE SATALIM tp4=input(title=" Take profit4", defval=0.1, minval=0.0001) //ALDIĞIMIZI YÜZDE KAÇ KAR İLE SATALIM closepart = "closepart tradeid=erdoganissharp part=0.25" //MT5'e giden percentage burasi manuel degistirmek gerekiyor per(pcnt) => strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na) los = per(stoploss) strategy.exit("lx1", "Long" ,qty_percent = q1, profit = per(tp1), loss = los, alert_message=closepart) //KAR AL 1 strategy.exit("lx2","Long" ,qty_percent = q2, profit = per(tp2), loss = los, alert_message=closepart) //KAR AL 2 strategy.exit("lx3", "Long",qty_percent = q3, profit = per(tp3), loss = los, alert_message=closepart) //KAR AL 3 strategy.exit("lx4","Long" ,profit = per(tp4), loss = los, alert_message="closelong tradesymbol=EURUSD") //KAR AL 4 strategy.exit("sx1", "Short" ,qty_percent = q1, profit = per(tp1), loss = los, alert_message=closepart) //KAR AL 1 strategy.exit("sx2","Short" ,qty_percent = q2, profit = per(tp2), loss = los, alert_message=closepart) //KAR AL 2 strategy.exit("sx3", "Short",qty_percent = q3, profit = per(tp3), loss = los, alert_message=closepart) //KAR AL 3 strategy.exit("sx4","Short" ,profit = per(tp4), loss = los, alert_message="closeshort tradesymbol=EURUSD") //KAR AL 4