TRADING SIGNAL FREE
СтатистикаDisclaimer ; I am not SEBI registered analyst and advisor. This channel charts here I share 100% for educational purposes only. We do not provide any recommendations. Always consult a financial advisor before investing. @Pikatarun. For for this
- Последний пост
- 15 авг.
- Последнее чтение
- ещё не заходили
- Постов за неделю
- 18
- Всего постов
- 19
- Тип
- открытый
- Язык
- английский
- В каталоге с
- 15 авг.
- 1/24сутки в ленте
- 22
- 1/48двое суток
- 25
- 1/72трое суток
- 27
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
Happy independence day to all of you 📈
без подписи
lossBox := box.new(left = bar_index, top = lossTop, right = lineEnd, bottom = lossBottom, bgcolor = lossFillColor, border_width = 0) // ═══════════════════════════════════════ // TP/SL HIT STATUS & TICK UPDATES // ═══════════════════════════════════════ if tradeDir == 1 if useTp1 and high >= tradeTp1 and not tp1Hit tp1Hit := true if not na(lineTp1) line.set_color(lineTp1, color.green) line.set_style(lineTp1, line.style_solid) if not na(lbTp1) label.set_text(lbTp1, 'TP1 ✓') label.set_color(lbTp1, color.new(color.green, 40)) if useTp2 and high >= tradeTp2 and not tp2Hit tp2Hit := true if not na(lineTp2) line.set_color(lineTp2, color.green) line.set_style(lineTp2, line.style_solid) if not na(lbTp2) label.set_text(lbTp2, 'TP2 ✓') label.set_color(lbTp2, color.new(color.green, 40)) if useTp3 and high >= tradeTp3 and not tp3Hit tp3Hit := true if not na(lineTp3) line.set_color(lineTp3, color.green) line.set_style(lineTp3, line.style_solid) if not na(lbTp3) label.set_text(lbTp3, 'TP3 ✓') label.set_color(lbTp3, color.new(color.green, 40)) if low <= tradeSl and not slHit slHit := true line.set_color(lineSL, color.red) label.set_text(lbSL, 'SL ✕') label.set_color(lbSL, color.new(color.red, 40)) if tradeDir == -1 if useTp1 and low <= tradeTp1 and not tp1Hit tp1Hit := true if not na(lineTp1) line.set_color(lineTp1, color.green) line.set_style(lineTp1, line.style_solid) if not na(lbTp1) label.set_text(lbTp1, 'TP1 ✓') label.set_color(lbTp1, color.new(color.green, 40)) if useTp2 and low <= tradeTp2 and not tp2Hit tp2Hit := true if not na(lineTp2) line.set_color(lineTp2, color.green) line.set_style(lineTp2, line.style_solid) if not na(lbTp2) label.set_text(lbTp2, 'TP2 ✓') label.set_color(lbTp2, color.new(color.green, 40)) if useTp3 and low <= tradeTp3 and not tp3Hit tp3Hit := true if not na(lineTp3) line.set_color(lineTp3, color.green) line.set_style(lineTp3, line.style_solid) if not na(lbTp3) label.set_text(lbTp3, 'TP3 ✓') label.set_color(lbTp3, color.new(color.green, 40)) if high >= tradeSl and not slHit slHit := true line.set_color(lineSL, color.red) label.set_text(lbSL, 'SL ✕') label.set_color(lbSL, color.new(color.red, 40)) // ═══════════════════════════════════════ // AUTO EXPAND LINES // ═══════════════════════════════════════ tradeFinished = (useTp3 ? tp3Hit : (useTp2 ? tp2Hit : (useTp1 ? tp1Hit : false))) or slHit if tradeDir != 0 and not na(lineEntry) dynamicEnd = tradeFinished ? line.get_x2(lineEntry) : bar_index + labelOffset line.set_x2(lineEntry, dynamicEnd) line.set_x2(lineSL, dynamicEnd) if not na(lineTp1) line.set_x2(lineTp1, dynamicEnd) if not na(lineTp2) line.set_x2(lineTp2, dynamicEnd) if not na(lineTp3) line.set_x2(lineTp3, dynamicEnd) labelPos = dynamicEnd + 2 label.set_x(lbEntry, labelPos) label.set_x(lbSL, labelPos) if not na(lbTp1) label.set_x(lbTp1, labelPos) if not na(lbTp2) label.set_x(lbTp2, labelPos) if not na(lbTp3) label.set_x(lbTp3, labelPos) box.set_right(profitBox, dynamicEnd) box.set_right(lossBox, dynamicEnd) alertcondition(buySignal, title='Buy Signal', message='KN Buy Signal') alertcondition(sellSignal, title='Sell Signal', message='KN Sell Signal')
if useTp2 strategy.exit("TP2_Buy", "Buy", qty_percent = useTp3 ? 50 : 100, limit = tradeTp2, stop = tradeSl) if useTp3 strategy.exit("TP3_Buy", "Buy", limit = tradeTp3, stop = tradeSl) if not useTp1 and not useTp2 and not useTp3 strategy.exit("SL_Buy", "Buy", stop = tradeSl) // ═══════════════════════════════════════ // SELL EXECUTION & EXITS // ═══════════════════════════════════════ if sellSignal risk = atrVal * slAtrMult tradeDir := -1 tradeEntry := close tradeSl := close + risk tradeTp1 := close - risk * rr1 tradeTp2 := close - risk * rr2 tradeTp3 := close - risk * rr3 tradeStartBar := bar_index tp1Hit := false tp2Hit := false tp3Hit := false slHit := false strategy.entry("Sell", strategy.short) if useTp1 strategy.exit("TP1_Sell", "Sell", qty_percent = (useTp2 or useTp3) ? 33 : 100, limit = tradeTp1, stop = tradeSl) if useTp2 strategy.exit("TP2_Sell", "Sell", qty_percent = useTp3 ? 50 : 100, limit = tradeTp2, stop = tradeSl) if useTp3 strategy.exit("TP3_Sell", "Sell", limit = tradeTp3, stop = tradeSl) if not useTp1 and not useTp2 and not useTp3 strategy.exit("SL_Sell", "Sell", stop = tradeSl) // ═══════════════════════════════════════ // CREATE OBJECTS (VISUALS) // ═══════════════════════════════════════ if showRisk if (buySignal or sellSignal) line.delete(lineEntry) line.delete(lineSL) line.delete(lineTp1) line.delete(lineTp2) line.delete(lineTp3) label.delete(lbEntry) label.delete(lbSL) label.delete(lbTp1) label.delete(lbTp2) label.delete(lbTp3) box.delete(profitBox) box.delete(lossBox) lineEnd = bar_index + labelOffset labelPos = lineEnd + 2 lineEntry := line.new(bar_index, tradeEntry, lineEnd, tradeEntry, color=color.gray, width=2) lineSL := line.new(bar_index, tradeSl, lineEnd, tradeSl, color=slColor, width=2) lineTp1 := useTp1 ? line.new(bar_index, tradeTp1, lineEnd, tradeTp1, color=tpColor, width=1, style=line.style_dashed) : na lineTp2 := useTp2 ? line.new(bar_index, tradeTp2, lineEnd, tradeTp2, color=tpColor, width=1, style=line.style_dashed) : na lineTp3 := useTp3 ? line.new(bar_index, tradeTp3, lineEnd, tradeTp3, color=tpColor, width=2) : na lbEntry := label.new(labelPos, tradeEntry, 'ENTRY ' + str.tostring(tradeEntry, format.mintick), style = label.style_label_left, color = color.new(color.gray, 30), textcolor = color.white) lbSL := label.new(labelPos, tradeSl, 'SL ' + str.tostring(tradeSl, format.mintick), style = label.style_label_left, color = color.new(slColor, 40), textcolor = color.white) if useTp1 lbTp1 := label.new(labelPos, tradeTp1, 'TP1 ' + str.tostring(tradeTp1, format.mintick), style = label.style_label_left, color = color.new(tpColor, 40), textcolor = color.white) if useTp2 lbTp2 := label.new(labelPos, tradeTp2, 'TP2 ' + str.tostring(tradeTp2, format.mintick), style = label.style_label_left, color = color.new(tpColor, 40), textcolor = color.white) if useTp3 lbTp3 := label.new(labelPos, tradeTp3, 'TP3 ' + str.tostring(tradeTp3, format.mintick), style = label.style_label_left, color = color.new(tpColor, 40), textcolor = color.white) boxTopTarget = useTp3 ? tradeTp3 : (useTp2 ? tradeTp2 : (useTp1 ? tradeTp1 : tradeEntry)) profitTop = tradeDir == 1 ? boxTopTarget : tradeEntry profitBottom = tradeDir == 1 ? tradeEntry : boxTopTarget profitBox := box.new(left = bar_index, top = profitTop, right = lineEnd, bottom = profitBottom, bgcolor = profitFillColor, border_width = 0) lossTop = tradeDir == 1 ? tradeEntry : tradeSl lossBottom = tradeDir == 1 ? tradeSl : tradeEntry
//@version=6 strategy('KN - Smart TP SL Strategy (Toggle & Visuals)', overlay = true, max_labels_count = 500, max_lines_count = 500, initial_capital = 1000000, default_qty_type = strategy.cash, default_qty_value = 100000) // ═══════════════════════════════════════ // INPUTS // ═══════════════════════════════════════ emaFastLen = input.int(5, 'Fast EMA', minval = 1) emaSlowLen = input.int(13, 'Slow EMA', minval = 1) atrLen = input.int(14, 'ATR Period', minval = 1) slAtrMult = input.float(1.5, 'SL ATR Multiplier', step = 0.1) // TARGET CHECKBOXES (TP TOGGLES) useTp1 = input.bool(true, 'Enable TP1') rr1 = input.float(1.0, 'TP1 RR', step = 0.1) useTp2 = input.bool(true, 'Enable TP2') rr2 = input.float(2.0, 'TP2 RR', step = 0.1) useTp3 = input.bool(true, 'Enable TP3') rr3 = input.float(3.0, 'TP3 RR', step = 0.1) showRisk = input.bool(true, 'Show TP/SL') labelOffset = input.int(15, 'Initial Line Length', minval = 5) showOnlyLatest = input.bool(true, 'Show Only Latest Signal') // COLORS bullColor = input.color(color.lime, 'Buy Color') bearColor = input.color(color.red, 'Sell Color') tpColor = input.color(color.aqua, 'TP Color') slColor = input.color(color.orange, 'SL Color') profitFillColor = input.color(color.new(color.green, 85), 'Profit Fill') lossFillColor = input.color(color.new(color.red, 85), 'Loss Fill') // ═══════════════════════════════════════ // EMA SIGNAL // ═══════════════════════════════════════ emaFast = ta.ema(close, emaFastLen) emaSlow = ta.ema(close, emaSlowLen) atrVal = ta.atr(atrLen) buySignal = ta.crossover(emaFast, emaSlow) sellSignal = ta.crossunder(emaFast, emaSlow) plot(emaFast, color = color.green, title = 'EMA Fast') plot(emaSlow, color = color.red, title = 'EMA Slow') // ═══════════════════════════════════════ // SIGNAL LABELS // ═══════════════════════════════════════ var label buyLbl = na var label sellLbl = na if buySignal if showOnlyLatest and not na(buyLbl) label.delete(buyLbl) buyLbl := label.new(bar_index, low, "BUY", style = label.style_label_up, color = bullColor, textcolor = color.white, size = size.small) if sellSignal if showOnlyLatest and not na(sellLbl) label.delete(sellLbl) sellLbl := label.new(bar_index, high, "SELL", style = label.style_label_down, color = bearColor, textcolor = color.white, size = size.small) // ═══════════════════════════════════════ // TRADE VARIABLES // ═══════════════════════════════════════ var int tradeDir = 0 var float tradeEntry = na var float tradeSl = na var float tradeTp1 = na var float tradeTp2 = na var float tradeTp3 = na var bool tp1Hit = false var bool tp2Hit = false var bool tp3Hit = false var bool slHit = false var int tradeStartBar = na // LINES var line lineEntry = na var line lineSL = na var line lineTp1 = na var line lineTp2 = na var line lineTp3 = na // LABELS var label lbEntry = na var label lbSL = na var label lbTp1 = na var label lbTp2 = na var label lbTp3 = na // BOXES var box profitBox = na var box lossBox = na // ═══════════════════════════════════════ // BUY EXECUTION & EXITS // ═══════════════════════════════════════ if buySignal risk = atrVal * slAtrMult tradeDir := 1 tradeEntry := close tradeSl := close - risk tradeTp1 := close + risk * rr1 tradeTp2 := close + risk * rr2 tradeTp3 := close + risk * rr3 tradeStartBar := bar_index tp1Hit := false tp2Hit := false tp3Hit := false slHit := false strategy.entry("Buy", strategy.long) if useTp1 strategy.exit("TP1_Buy", "Buy", qty_percent = (useTp2 or useTp3) ? 33 : 100, limit = tradeTp1, stop = tradeSl)
без подписи