(IMBA) ALGO ST With Strategies
(IMBA) ALGO ST With Strategies
com/RxGJ6uyV
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0
at https://mozilla.org/MPL/2.0/
// © kakupakat_trading
//https://www.tradingview.com/x/JH4EXhWw/
// This is a modification made by kakupakat_trading. All available strategies have
been added for this indicator.
// Please note that these are not investment advice. This tool is only meant to
assist in making trading decisions,
// and it is recommended to perform additional analysis before executing any
trades.
// Please pay special attention that no stop loss or trailing stop features are
used in this script.
// This is just a contribution to the official IMBA community.
// ........:::::::::: Please note that all strategies added used a
risk of 5%. ::::::::::........
//Original script here:
https://es.tradingview.com/script/xW8hYdbL-imba-lance-algo/
//Author: IMBA_TRADER | https://t.me/imba_crypto_admin
//Original IMBA Community: https://t.me/imba_p_chat
// For more free resources or idea exchange, visit:
https://t.me/kakupakat_trading_oficial
// Test channel for Cornix with Universal Strategy Stoploss from trendline at 2%:
https://t.me/cornix_groups_19_bot?start=group_invite-
8fea4effe71e4c0b88728e3a4469c8e7
// Please do not be a hater! I don't understand why there are so many haters in the
original community.
// If you start to cause trouble, you will be blocked. I don't have time for that.
// ........:::::::::: 80 Strategies
added ::::::::::........
// Note: Use this script at your own risk. Not financial advice.
// ====================
// Version Control
// ====================
// This is a beta version of the strategies implemented by Kakupakat Trading.
// Version: V1
// Date: 2024-10-07
// If you wish to collaborate, feel free to send
your configuration to: https://t.me/kakupakat_trading_admin
//FUNCTIONS
Label(Info, YP_Type = 1) =>
if Info != ""
YPrice = switch YP_Type
1 => low * 0.99
2 => strategy.position_size
3 => strategy.netprofit
=> 0.0
type Trade
int start_bar_index = 0
string side
float market_order_comission
float limit_order_comission
float entry_price
bool entry_hit = false
float sl_price
float tp1_price
float tp1_percent_fix
float tp2_price
float tp2_percent_fix
float tp3_price
float tp3_percent_fix
float tp4_price
float tp4_percent_fix
float break_even_price
bool sl_hit = false
bool tp1_hit = false
bool tp2_hit = false
bool tp3_hit = false
bool tp4_hit = false
float position_size_left = 100
float risk_percent
bool is_closed = false
float close_price = 0
bool can_break_even = false
bool force_closed = false
float profit = 0
float risk_reward
line entry_line
line stoploss_line
line target1_line
line target2_line
line target3_line
line target4_line
if trade.side == "LONG"
if low <= trade.entry_price and not trade.entry_hit
trade.start_bar_index := bar_index
trade.entry_hit := true
entry_hit_label := label.new(trade.start_bar_index, trade.entry_price,
str.tostring("ENTRY HIT"), style = label.style_label_right)
trade_info_label := label.new(bar_index, high, "Trade info:" +
"\nEntry: " + str.tostring(trade.entry_price) +
"\nTp1: " + str.tostring(trade.tp1_price) +
"\nTp2: " + str.tostring(trade.tp2_price) +
"\nTp3:" + str.tostring(trade.tp3_price) +
"\nTp4: " + str.tostring(trade.tp4_price) +
"\nSl: " + str.tostring(trade.sl_price))
// BE ENTRY HIT
if trade.can_break_even and trade.entry_hit
if low <= trade.entry_price and not (close >= open) and bar_index !=
trade.start_bar_index
trade.is_closed := true
be_hit_label := label.new(bar_index, trade.entry_price,
str.tostring("BE HIT"), style = label.style_label_left)
Label("BE HIT at LONG")
// SL HIT
if low <= trade.sl_price and not trade.can_break_even and trade.entry_hit
and bar_index != trade.start_bar_index
trade.sl_hit := true
trade.is_closed := true
profit += -trade.risk_percent * trade.position_size_left / 100
sl_hit_label := label.new(bar_index, trade.sl_price,
str.tostring("SL HIT ") + str.tostring(profit, "#.##") + "%", color =
color.red, style = label.style_label_left)
Label("SL HIT at LONG")
else // SHORT
if high >= trade.entry_price and not trade.entry_hit
trade.start_bar_index := bar_index
trade.entry_hit := true
entry_hit_label := label.new(trade.start_bar_index, trade.entry_price,
str.tostring("ENTRY HIT"), style = label.style_label_right)
trade_info_label := label.new(bar_index, high, "Trade info:" +
"\nEntry: " + str.tostring(trade.entry_price) +
"\nTp1: " + str.tostring(trade.tp1_price) +
"\nTp2: " + str.tostring(trade.tp2_price) +
"\nTp3:" + str.tostring(trade.tp3_price) +
"\nTp4: " + str.tostring(trade.tp4_price) +
"\nSl: " + str.tostring(trade.sl_price))
// BE ENTRY HIT
if trade.can_break_even and trade.entry_hit
if high >= trade.entry_price and not (close <= open) and bar_index !=
trade.start_bar_index
trade.is_closed := true
be_hit_label := label.new(bar_index, trade.entry_price,
str.tostring("BE HIT"), style = label.style_label_left)
Label("BE HIT at SHORT")
// SL HIT
if high >= trade.sl_price and not trade.can_break_even and trade.entry_hit
and bar_index != trade.start_bar_index
trade.sl_hit := true
trade.is_closed := true
profit += -trade.risk_percent * trade.position_size_left / 100
sl_hit_label := label.new(bar_index, trade.sl_price, str.tostring("SL
HIT ") +
str.tostring(profit, "#.##") + "%", color = color.red, style =
label.style_label_left)
Label("SL HIT at SHORT")
trade.profit += profit
if not show_labels
label.delete(entry_hit_label)
label.delete(tp1_hit_label)
label.delete(tp2_hit_label)
label.delete(tp3_hit_label)
label.delete(tp4_hit_label)
label.delete(sl_hit_label)
label.delete(be_hit_label)
label.delete(trade_info_label)
if not trade.sl_hit
if trade.side == "SHORT"
trade.is_closed := true
trade.close_price := close
else // LONG
trade.is_closed := true
trade.close_price := close
if not show_labels
label.delete(trade_closed_label)
trade.profit += profit
//30m News!
"AGLD/USDT" =>
strategy_settings.sensitivity := 22
strategy_settings.risk_percent := 5
strategy_settings.break_even_target := "WITHOUT"
strategy_settings.tp1_percent := 1.5
strategy_settings.tp1_percent_fix := 40
strategy_settings.tp2_percent := 3.9
strategy_settings.tp2_percent_fix := 30
strategy_settings.tp3_percent := 10.2
strategy_settings.tp3_percent_fix := 20
strategy_settings.tp4_percent := 14.3
strategy_settings.tp4_percent_fix := 10
strategy_settings.fixed_stop := false
strategy_settings.sl_percent := 0.0
"ARB/USDT" =>
strategy_settings.sensitivity := 16.75
strategy_settings.risk_percent := 5
strategy_settings.break_even_target := "WITHOUT"
strategy_settings.tp1_percent := 1.5
strategy_settings.tp1_percent_fix := 40
strategy_settings.tp2_percent := 3.9
strategy_settings.tp2_percent_fix := 30
strategy_settings.tp3_percent := 10.2
strategy_settings.tp3_percent_fix := 20
strategy_settings.tp4_percent := 14.3
strategy_settings.tp4_percent_fix := 10
strategy_settings.fixed_stop := false
strategy_settings.sl_percent := 0.0
//5m News!
// STRATS
string STRATEGIES = "STRATEGIES"
string POSITION = "POSITION"
string ENTRY = "ENTRY"
string TAKE_PROFITS = "TAKE PROFITS"
string STOP_LOSS = "STOPLOSS"
string rsi_group = "RSI"
string main_group = "MAIN"
string info_panel_group = "INFOPANELS"
string dev_settings = "DEVELOPER MODE"
int fibo_lines_transparend = 60
int fill_best_transparend = 95
int fill_worst_transparend = 98
tp_sl_entry_transparent = 30
color tp_color = color.new(color.green, tp_sl_entry_transparent)
color entry_color = color.rgb(120, 123, 134, tp_sl_entry_transparent)
color sl_color = color.new(color.red, tp_sl_entry_transparent)
line_style = line.style_dotted
//Author: IMBA_TRADER
//Original IMBA Community: https://t.me/imba_p_chat
// For more free resources or idea exchange, visit:
https://t.me/kakupakat_trading_oficial
// Please do not be a hater! I don't understand why there are so many haters in the
original community.
// If you start to cause trouble, you will be blocked. I don't have time for that.
//---------------------------------------------------
SETTINGS----------------------------------------------------------\\
var float sensitivity = 18
float risk_percent = 1
string break_even_target = "2"
float tp1_percent = 0
float tp1_percent_fix = 0
float tp2_percent = 0
float tp2_percent_fix = 0
float tp3_percent = 0
float tp3_percent_fix = 0
float tp4_percent = 0
float tp4_percent_fix = 0
bool fixed_stop = false
float sl_percent = 0
"1000PEPE/USDT 5m",
"MEW/USDT 5m",
"NEIRO/USDT 5m",
"SAGA/USDT 5m",
"WOO/USDT 5m",
"FIO/USDT 5m",
"DIA/USDT 5m",
"ETHW/USDT 5m",
"WIF/USDT 5m",
"ORBS/USDT 5m",
"BANANA/USDT 5m",
"OM/USDT 5m",
"UXLINK/USDT 5m",
"LOOM/USDT 5m",
"LUNA2/USDT 5m",
" ",
"GRT/USDT 30m",
"GALA/USDT 30m",
"AGLD/USDT 30m",
"ARB/USDT 30m",
"ATOM/USDT 30m",
"AR/USDT 30m",
"ANKR/USDT 30m",
"BAND/USDT 30m",
"ALPHA/USDT 30m",
"BNX/USDT 30m",
"CHZ/USDT 30m",
"CAKE/USDT 30m",
"1INCH/USDT 30m",
"IOST/USDT 30m",
"DOT/USDT 30m",
"BEL/USDT 30m",
"CFX/USDT 30m",
"BAT/USDT 30m",
"APT/USDT 30m",
"AXS/USDT 30m",
"ALGO/USDT 30m",
"FLM/USDT 30m",
"ETC/USDT 30m",
"DYDX/USDT 30m",
"ALICE/USDT 30m",
"FIL/USDT 30m",
"AUDIO/USDT 30m",
"BAKE/USDT 30m",
"EGLD/USDT 30m",
"EOS/USDT 30m",
"CELR/USDT 30m",
"CRV/USDT 30m",
"BAL/USDT 30m",
"COTI/USDT 30m",
"BLUR/USDT 30m",
"ADA/USDT 30m",
"ASTR/USDT 30m",
"1000FLOKI/USDT 30m",
"CHR/USDT 30m",
"ENS/USDT 30m",
"GMX/USDT 30m",
"INJ/USDT 30m",
"ARK/USDT 30m",
"TIA/USDT 30m",
"SUI/USDT 30m",
"L3/USDT 30m",
"LISTA/USDT 30m",
"REEF/USDT 30m",
"PEOPLE/USDT 30m",
"OMG/USDT 30m",
"MYRO/USDT 30m",
"MKR/USDT 30m",
"LQTY/USDT 30m",
"PHB/USDT 30m",
"OM/USDT 30m",
"APE/USDT 30m",
"1000SHIB/USDT 30m",
"1000RATS/USDT 30m",
"GAS/USDT 30m",
"FLOW/USDT 30m"
],tooltip = tooltip_strategy_input_en + "\n\n" + tooltip_strategy_input_ru)
//Changes made by kakupakat_trading comgunner!
// MAIN
//Author: IMBA_TRADER
//Original IMBA Community: https://t.me/imba_p_chat
// For more free resources or idea exchange, visit:
https://t.me/kakupakat_trading_oficial
// Please do not be a hater! I don't understand why there are so many haters in the
original community.
// If you start to cause trouble, you will be blocked. I don't have time for that.
sensitivity_input = input.float(title = 'Sensitive', step = 0.1, defval = 18)
start_date_input = input.time(defval = timestamp("2 January 2024"), title = "Start
calculating date")
// POSITION
show_tp_enty_sl = input.bool(defval = true, title = "Show", group = POSITION,
inline = "2.1")
fill_positions = input.bool(defval = true, title = "Fill", group = POSITION, inline
= "2.1")
risk_percent_input = input.float(title = "Risk %", step = 1, defval = 3, group =
POSITION,
tooltip = "EN:\nMaximum allowable loss % of the deposit per 1 trade\nRU:\
nМаксимально допустимая потеря % от депозита на 1 сделку")
break_even_target_input = input.string(title = "BE target", options =
["WITHOUT","1","2","3"], defval = "WITHOUT", group = POSITION)
initial_deposit_input = input.float(title = "Initial deposit", defval = 1000, step
= 100, group = POSITION)
Watermark = table.new(position.bottom_center, 1, 4, border_width=5)
table.cell(Watermark, 0, 0, text= "MODIFIED BY\n KAKUPAKAT - TRADING",
text_color=color.rgb(240, 237, 241, 80), text_size=size.large)
// STOPLOSS
fixed_stop_input = input.bool(defval = false, title = "Fixed stoploss %", group =
STOP_LOSS,
tooltip = "EN:\nIf choosed: stoploss will be calculated manually \nIf NOT
choosed: stoploss will be calculated automatic\n" +
"RU:\nЕсли выбрано: стоп будет рассчитываться вручную \nЕсли НЕ выбрано: стоп
будет рассчитываться автоматически")
sl_percent_input = input.float(title="SL %", step = 0.1, defval=0.00, group =
STOP_LOSS)
// TAKE PROFITS
tp1_percent_input = input.float(title="TP 1", step = 0.05, defval=1.5, minval = 0,
group = TAKE_PROFITS, inline = "2.2")
tp1_percent_fix_input = input.float(title = "Fix %", step = 5, defval=40, group =
TAKE_PROFITS, inline = "2.2")
tp2_percent_input = input.float(title="TP 2", step = 0.05, defval=3.00, minval = 0,
group = TAKE_PROFITS, inline = "2.3")
tp2_percent_fix_input = input.float(title = "Fix %", step = 5, defval=30, group =
TAKE_PROFITS, inline = "2.3")
tp3_percent_input = input.float(title="TP 3", step = 0.05, defval=4.50, minval = 0,
group = TAKE_PROFITS, inline = "2.4")
tp3_percent_fix_input = input.float(title = "Fix %", step = 5, defval=20, group =
TAKE_PROFITS, inline = "2.4")
tp4_percent_input = input.float(title="TP 4", step = 0.05, defval=6.5, minval = 0,
group = TAKE_PROFITS, inline = "2.5")
tp4_percent_fix_input = input.float(title = "Fix %", step = 5, defval=10, group =
TAKE_PROFITS, inline = "2.5")
// RSI
show_rsi = input.bool(defval = false, title = "Show", group = rsi_group, inline =
"3.1")
len = input(title="Length", defval=14, group = rsi_group, inline = "3.2")
overbought = input(title="Overbought", defval=78, group = rsi_group, inline =
"3.3")
oversold = input(title="Oversold", defval=22, group = rsi_group, inline = "3.3")
// INFO PANEL
show_profit_panel = input.bool(defval = true, title = "Show profit panel", group =
info_panel_group)
show_strategy_panel = input.bool(defval = true, title = "Show strategy panel",
group = info_panel_group)
show_old_panel = input.bool(defval = false, title = "Show old panel", group =
info_panel_group)
// DEV
show_dev_labels = input.bool(defval = false, title = "Show", group = dev_settings,
tooltip = "Shows all possible events")
//-----------------------------------------------GLOBAL
VARIABLES------------------------------------------------------\\
var float total_profit = 0.0
var int trade_count = 0
var int profit_trades = 0
var int loss_trades = 0
var int loss_streak = 0
var int loss_in_a_row = 0
var int win_streak = 0
var int wins_in_a_row = 0
var int first_trade_date = na
var Trade trade = na
var bool is_long_trend_started = false
var bool is_short_trend_started = false
var bool is_trend_change = na
var bool is_long_trend = false
var bool is_short_trend = false
var bool can_long = false
var bool can_short = false
//-----------------------------------------------------
MAIN------------------------------------------------------------\\
strategy_s := strategy_input == "MANUAL" ? Strategy_settings.new(sensitivity_input,
risk_percent_input,
break_even_target_input, tp1_percent_input, tp1_percent_fix_input,
tp2_percent_input, tp2_percent_fix_input,
tp3_percent_input, tp3_percent_fix_input, tp4_percent_input,
tp4_percent_fix_input, fixed_stop_input, sl_percent_input) :
selector(strategy_input)
sensitivity := strategy_s.sensitivity
risk_percent := strategy_s.risk_percent
break_even_target := strategy_s.break_even_target
tp1_percent := strategy_s.tp1_percent
tp1_percent_fix := strategy_s.tp1_percent_fix
tp2_percent := strategy_s.tp2_percent
tp2_percent_fix := strategy_s.tp2_percent_fix
tp3_percent := strategy_s.tp3_percent
tp3_percent_fix := strategy_s.tp3_percent_fix
tp4_percent := strategy_s.tp4_percent
tp4_percent_fix := strategy_s.tp4_percent_fix
fixed_stop := strategy_s.fixed_stop
sl_percent := strategy_s.sl_percent
sensitivity *= 10
tp1_percent /= 100
tp2_percent /= 100
tp3_percent /= 100
tp4_percent /= 100
tp1_percent_fix /= 100
tp2_percent_fix /= 100
tp3_percent_fix /= 100
tp4_percent_fix /= 100
sl_percent /= 100
if can_long
is_long_trend := true
is_short_trend := false
is_long_trend_started := is_long_trend_started ? false : true
else if can_short
is_short_trend := true
is_long_trend := false
is_short_trend_started := is_short_trend_started ? false : true
else
is_trend_change := false
can_long := false
can_short := false
is_short_trend_started := false
is_long_trend_started := false
// LOGIC
varip string Trade_ID = ""
varip GPos_Long = 0
varip GPos_Short = 0
varip GLast_Entry_Bar = 0
Get_Flat_Signal() =>
var sign_mes = str.format('"name": "[IMBL] Flat Signal", "positionSide":
"flat", "symbol": "{0}", "secret": "{1}"',
syminfo.ticker, Finandy_Secret)
Send_Alert_Close_All() =>
sign_mes = Get_Flat_Signal()
alert(sign_mes, alert.freq_all)
Send_Alert_Entry() =>
sign_mes = "My Alert at ENTRY."
alert(sign_mes, alert.freq_all)
if not na(trade)
calc_profit(trade, show_dev_labels)
if trade.is_closed
strategy.close_all(str.format("Condition {0}", Trade_ID)) // "Closed by
condition." Get_Flat_Signal()
Send_Alert_Close_All()
if not trade.is_closed
label.set_x(entry_label, bar_index - 3)
label.set_text(entry_label, str.tostring(trade.side == "LONG" ? "🔰" : "🔰")
+ str.tostring(trade.entry_price))
label.set_x(sl_label, bar_index - 3)
label.set_text(sl_label, "⛔" + str.tostring(trade.sl_price))
label.set_x(tp1_label, bar_index - 3)
1 1️⃣ label.set_text(tp1_label, str.tostring(trade.tp1_hit ? "" : "1 ") +
str.tostring(trade.tp1_price))
label.set_x(tp2_label, bar_index - 3)
2️⃣
label.set_text(tp2_label, str.tostring(trade.tp2_hit ? "" : " ") +
str.tostring(trade.tp2_price))
label.set_x(tp3_label, bar_index - 3)
3️⃣
label.set_text(tp3_label, str.tostring(trade.tp3_hit ? "" : " ") +
str.tostring(trade.tp3_price))
label.set_x(tp4_label, bar_index - 3)
4️⃣
label.set_text(tp4_label, str.tostring(trade.tp4_hit ? "" : " ") +
str.tostring(trade.tp4_price))
lable_at_signal.set_x(int(math.avg(bar_index, trade.start_bar_index)))
sign = trade.profit >= 0 ? "+" : na
lable_at_signal.set_text(sign + str.tostring(trade.profit, "#.##") + "%")
lable_at_signal.set_color(trade.profit >= 0 ? #2f8779 : #c54250)
// FILLING
if fill_positions
if trade.tp1_hit
linefill.new(entry_line, tp1_line, color = color.new(color.green, 85))
if trade.tp2_hit
linefill.new(tp1_line, tp2_line, color = color.new(color.green, 85))
if trade.tp3_hit
linefill.new(tp2_line, tp3_line, color = color.new(color.green, 85))
if trade.tp4_hit
linefill.new(tp3_line, tp4_line, color = color.new(color.green, 85))
if trade.sl_hit
linefill.new(sl_line, entry_line, color = color.new(color.red, 85))
if trade.force_closed
close_line := line.new(x1=trade.start_bar_index, y1=trade.close_price,
x2=bar_index, y2=trade.close_price, color=color.white, style =
line_style, width = 2)
if trade.profit <= 0
linefill.new(close_line, entry_line, color = color.new(color.red,
85))
if trade.is_closed
dep := (trade.profit / 100 * dep) + dep
label.delete(entry_label)
label.delete(sl_label)
label.delete(tp1_label)
label.delete(tp2_label)
label.delete(tp3_label)
label.delete(tp4_label)
total_profit += trade.profit
trade_count += 1
if trade.profit >= 0
profit_trades += 1
wins_in_a_row += 1
loss_in_a_row := 0
win_streak := wins_in_a_row > win_streak ? wins_in_a_row : win_streak
else
loss_trades += 1
loss_in_a_row += 1
wins_in_a_row := 0
loss_streak := loss_in_a_row > loss_streak ? loss_in_a_row :
loss_streak
trade := na
trade.sl_price := math.round_to_mintick(can_long ?
fixed_stop ? trade.entry_price * (1 - sl_percent) : fib_786 * (1 -
sl_percent) :
fixed_stop ? trade.entry_price * (1 + sl_percent) : fib_236 * (1 +
sl_percent))
trade.risk_percent := risk_percent
trade.risk_reward := calc_rr(trade.entry_price, trade.sl_price,
trade.tp4_price)
trade.start_bar_index := bar_index
GLast_Entry_Bar := bar_index
tqty = strategy.default_entry_qty(close)
CLog := str.format("qty: {0}", tqty)
// Send_Alert_Entry()
if can_long
GPos_Long := GPos_Long + 1
long_id = str.format("L_{0}", GPos_Long)
Trade_ID := long_id
alert_mes_long = str.format('"Direction": "long", "Pair": "{0}", "Text":
"my entry long"', syminfo.ticker)
alert_mes_long_r = '{' + alert_mes_long + '}'
if can_short
GPos_Short := GPos_Short + 1
short_id = str.format("S_{0}", GPos_Short)
Trade_ID := short_id
alert_mes_short = str.format('"Direction": "short", "Pair": "{0}", "Text":
"my entry short"', syminfo.ticker)
alert_mes_short_r = '{' + alert_mes_short + '}'
// Label(CLog)
// alert_message = "\n{\n" + " \"side\": \"" + str.tostring(trade.side) +
// "\",\n \"entry\": \"" + str.tostring(trade.entry_price) +
// "\",\n \"tp1\": \"" + str.tostring(trade.tp1_price) +
// "\",\n \"tp2\": \"" + str.tostring(trade.tp2_price) +
// "\",\n \"tp3\": \"" + str.tostring(trade.tp3_price) +
// "\",\n \"tp4\": \"" + str.tostring(trade.tp4_price) +
// "\",\n \"winrate\": \"" + str.tostring(RoundUp(profit_trades /
trade_count * 100, 2)) + "%" +
// "\",\n \"strategy\": \"" + strategy_input +
// "\",\n \"beTargetTrigger\": \"" + break_even_target +
// "\",\n \"stop\": \"" + str.tostring(trade.sl_price) + "\"\n}\n"
// alert(alert_message, alert.freq_once_per_bar_close)
if show_tp_enty_sl
entry_line := line.new(x1=trade.start_bar_index, y1=trade.entry_price,
x2=bar_index, y2=trade.entry_price, color=entry_color, style = line.style_solid,
width = 2)
entry_label := label.new(bar_index, trade.entry_price,
str.tostring(trade.entry_price), style = label.style_label_left, color =
color.rgb(255, 255, 255, 100), textcolor = color.gray)
sl_line := line.new(x1=trade.start_bar_index, y1=trade.sl_price,
x2=bar_index, y2=trade.sl_price, color=sl_color, style = line_style, width = 2)
sl_label := label.new(bar_index, trade.sl_price,
str.tostring(trade.sl_price), style = label.style_label_left, color =
color.rgb(255, 255, 255, 100), textcolor = color.red)
tp1_line := line.new(x1=trade.start_bar_index, y1=trade.tp1_price,
x2=bar_index, y2=trade.tp1_price, color=tp_color, style = line_style, width = 2)
tp1_label := label.new(bar_index, trade.tp1_price,
str.tostring(trade.tp1_price), style = label.style_label_left, color =
color.rgb(255, 255, 255, 100), textcolor = color.green)
tp2_line := line.new(x1=trade.start_bar_index, y1=trade.tp2_price,
x2=bar_index, y2=trade.tp2_price, color=tp_color, style = line_style, width = 2)
tp2_label := label.new(bar_index, trade.tp2_price,
str.tostring(trade.tp2_price), style = label.style_label_left, color =
color.rgb(255, 255, 255, 100), textcolor = color.green)
tp3_line := line.new(x1=trade.start_bar_index, y1=trade.tp3_price,
x2=bar_index, y2=trade.tp3_price, color=tp_color, style = line_style, width = 2)
tp3_label := label.new(bar_index, trade.tp3_price,
str.tostring(trade.tp3_price), style = label.style_label_left, color =
color.rgb(255, 255, 255, 100), textcolor = color.green)
tp4_line := line.new(x1=trade.start_bar_index, y1=trade.tp4_price,
x2=bar_index, y2=trade.tp4_price, color=tp_color, style = line_style, width = 2)
tp4_label := label.new(bar_index, trade.tp4_price,
str.tostring(trade.tp4_price), style = label.style_label_left, color =
color.rgb(255, 255, 255, 100), textcolor = color.green)
lable_at_signal := label.new(bar_index, is_long_trend ? trade.tp4_price *
1.004 : trade.tp4_price * 0.996, "", style = label.style_label_center, textcolor =
color.white)
//------------------------------------------------------
RSI------------------------------------------------------------\\
rsi_value = ta.rsi(close, len)
is_overbought = rsi_value >= overbought
is_oversold = rsi_value <= oversold
plotshape(is_overbought and show_rsi ? high : na, color=color.red,
style=shape.cross, size=size.tiny, location=location.abovebar)
plotshape(is_oversold and show_rsi ? low : na, color=color.green,
style=shape.cross, size=size.tiny, location=location.belowbar)
//Author: IMBA_TRADER
//Original IMBA Community: https://t.me/imba_p_chat
// For more free resources or idea exchange, visit:
https://t.me/kakupakat_trading_oficial
// Please do not be a hater! I don't understand why there are so many haters in the
original community.
// If you start to cause trouble, you will be blocked. I don't have time for that.
//-----------------------------------------------------
PANELS------------------------------------------------------------\\
lim = "-------------------------------------------------------"
high_idk = "╔════════════════════════════╗"
low_idk = "╚════════════════════════════╝"
panel_str1 = high_idk + "\n" + "[IMBA] ALGO" + "\n" + low_idk
panel_str13 = "First signal: " + str.format("{0,date,hh:mm} {0,date,long}",
first_trade_date) + "\n" + lim
panel_str14 = "Signal closed: " + str.tostring(trade_count) + " " +
"Winrate: " + str.tostring(RoundUp(profit_trades / trade_count * 100, 2)) + "%"
panel_str15 = "Profit signals: " + str.tostring(profit_trades) + " " +
"Loss signals: " + str.tostring(trade_count - profit_trades)
panel_str16 = "Win streak: " + str.tostring(win_streak) + " " +
"Loss streak: " + str.tostring(loss_streak) + "\n" + lim
panel_str17 = "💰 Profit: " + str.tostring(total_profit, "#.##") + "% 💰"
panel_last = "╚════════════════════════════╝"
panel_str_arr = array.from(panel_str1, panel_str13, panel_str14, panel_str15,
panel_str16, panel_str17, panel_last)
if show_old_panel
label l = label.new(bar_index + 20, close, text=array.join(panel_str_arr, "\
n"), color=color.rgb(0, 0, 0, 87), style=label.style_label_left,
textcolor=#2f8779,textalign=text.align_center)
label.delete(l[1])