Specification
//@version=5
strategy("sabihkhan632 SMC Bias Strategy",process_orders_on_close = true
, overlay = true
, max_labels_count = 500
, max_lines_count = 500
, max_boxes_count = 500
, max_bars_back = 500
)
gr_str2="Profit Loss Settings"
slType=input.string("Swing","Stop Loss Type",["Swing","Fixed%"],group=gr_str2)
leftr=input(5,"Swing Candle: Left",group=gr_str2,inline = 'ssl')
rightr=input(5,"Right",group=gr_str2,inline = 'ssl')
fixedSLPCT=input(1.0,"Fixed% SL",group = gr_str2)
tpRR=input(1.5,"Take Profit RR",group=gr_str2)
isMoveSL=input(true,"Move SL to BE",group = gr_str2)
//SMC{
//Constants
color TRANSP_CSS = #ffffff00
//Tooltips
string MODE_TOOLTIP = 'Allows to display historical Structure or only the recent ones'
string STYLE_TOOLTIP = 'Indicator color theme'
string COLOR_CANDLES_TOOLTIP = 'Display additional candles with a color reflecting the current trend detected by structure'
string SHOW_INTERNAL = 'Display internal market structure'
string CONFLUENCE_FILTER = 'Filter non significant internal structure breakouts'
string SHOW_SWING = 'Display swing market Structure'
string SHOW_SWING_POINTS = 'Display swing point as labels on the chart'
string SHOW_SWHL_POINTS = 'Highlight most recent strong and weak high/low points on the chart'
string INTERNAL_OB = 'Display internal order blocks on the chart\n\nNumber of internal order blocks to display on the chart'
string SWING_OB = 'Display swing order blocks on the chart\n\nNumber of internal swing blocks to display on the chart'
string FILTER_OB = 'Method used to filter out volatile order blocks \n\nIt is recommended to use the cumulative mean range method when a low amount of data is available'
string SHOW_EQHL = 'Display equal highs and equal lows on the chart'
string EQHL_BARS = 'Number of bars used to confirm equal highs and equal lows'
string EQHL_THRESHOLD = 'Sensitivity threshold in a range (0, 1) used for the detection of equal highs & lows\n\nLower values will return fewer but more pertinent results'
string SHOW_FVG = 'Display fair values gaps on the chart'
string AUTO_FVG = 'Filter out non significant fair value gaps'
string FVG_TF = 'Fair value gaps timeframe'
string EXTEND_FVG = 'Determine how many bars to extend the Fair Value Gap boxes on chart'
string PED_ZONES = 'Display premium, discount, and equilibrium zones on chart'
//Settings
//General
mode = input.string('Historical'
, options = ['Historical', 'Present']
, group = 'Smart Money Concepts'
, tooltip = MODE_TOOLTIP)
style = input.string('Colored'
, options = ['Colored', 'Monochrome']
, group = 'Smart Money Concepts'
, tooltip = STYLE_TOOLTIP)
show_trend = input(false, 'Color Candles'
, group = 'Smart Money Concepts'
, tooltip = COLOR_CANDLES_TOOLTIP)
//Internal Structure
show_internals = input(true, 'Show Internal Structure'
, group = 'Real Time Internal Structure'
, tooltip = SHOW_INTERNAL)
show_ibull = input.string('All', 'Bullish Structure'
, options = ['All', 'BOS', 'CHoCH']
, inline = 'ibull'
, group = 'Real Time Internal Structure')
swing_ibull_css = input(#089981, ''
, inline = 'ibull'
, group = 'Real Time Internal Structure')
//Bear Structure
show_ibear = input.string('All', 'Bearish Structure'
, options = ['All', 'BOS', 'CHoCH']
, inline = 'ibear'
, group = 'Real Time Internal Structure')
swing_ibear_css = input(#f23645, ''
, inline = 'ibear'
, group = 'Real Time Internal Structure')
ifilter_confluence = input(false, 'Confluence Filter'
, group = 'Real Time Internal Structure'
, tooltip = CONFLUENCE_FILTER)
internal_structure_size = input.string('Tiny', 'Internal Label Size'
, options = ['Tiny', 'Small', 'Normal']
, group = 'Real Time Internal Structure')
//Swing Structure
show_Structure = input(true, 'Show Swing Structure'
, group = 'Real Time Swing Structure'
, tooltip = SHOW_SWING)
//Bull Structure
show_bull = input.string('All', 'Bullish Structure'
, options = ['All', 'BOS', 'CHoCH']
, inline = 'bull'
, group = 'Real Time Swing Structure')
swing_bull_css = input(#089981, ''
, inline = 'bull'
, group = 'Real Time Swing Structure')
//Bear Structure
show_bear = input.string('All', 'Bearish Structure'
, options = ['All', 'BOS', 'CHoCH']
, inline = 'bear'
, group = 'Real Time Swing Structure')
swing_bear_css = input(#f23645, ''
, inline = 'bear'
, group = 'Real Time Swing Structure')
swing_structure_size = input.string('Small', 'Swing Label Size'
, options = ['Tiny', 'Small', 'Normal']
, group = 'Real Time Swing Structure')
//Swings
show_swings = input(false, 'Show Swings Points'
, inline = 'swings'
, group = 'Real Time Swing Structure'
, tooltip = SHOW_SWING_POINTS)
length = input.int(50, ''
, minval = 10
, inline = 'swings'
, group = 'Real Time Swing Structure')
show_hl_swings = input(true, 'Show Strong/Weak High/Low'
, group = 'Real Time Swing Structure'
, tooltip = SHOW_SWHL_POINTS)
//Order Blocks
show_iob = input(true, 'Internal Order Blocks'
, inline = 'iob'
, group = 'Order Blocks'
, tooltip = INTERNAL_OB)
iob_showlast = input.int(5, ''
, minval = 1
, inline = 'iob'
, group = 'Order Blocks')
show_ob = input(false, 'Swing Order Blocks'
, inline = 'ob'
, group = 'Order Blocks'
, tooltip = SWING_OB)
ob_showlast = input.int(5, ''
, minval = 1
, inline = 'ob'
, group = 'Order Blocks')
ob_filter = input.string('Atr', 'Order Block Filter'
, options = ['Atr', 'Cumulative Mean Range']
, group = 'Order Blocks'
, tooltip = FILTER_OB)
ibull_ob_css = input.color(color.new(#3179f5, 80), 'Internal Bullish OB'
, group = 'Order Blocks')
ibear_ob_css = input.color(color.new(#f77c80, 80), 'Internal Bearish OB'
, group = 'Order Blocks')
bull_ob_css = input.color(color.new(#1848cc, 80), 'Bullish OB'
, group = 'Order Blocks')
bear_ob_css = input.color(color.new(#b22833, 80), 'Bearish OB'
, group = 'Order Blocks')
//EQH/EQL
show_eq = input(true, 'Equal High/Low'
, group = 'EQH/EQL'
, tooltip = SHOW_EQHL)
eq_len = input.int(3, 'Bars Confirmation'
, minval = 1
, group = 'EQH/EQL'
, tooltip = EQHL_BARS)
eq_threshold = input.float(0.1, 'Threshold'
, minval = 0
, maxval = 0.5
, step = 0.1
, group = 'EQH/EQL'
, tooltip = EQHL_THRESHOLD)
eq_size = input.string('Tiny', 'Label Size'
, options = ['Tiny', 'Small', 'Normal']
, group = 'EQH/EQL')
//Fair Value Gaps
show_fvg = input(false, 'Fair Value Gaps'
, group = 'Fair Value Gaps'
, tooltip = SHOW_FVG)
fvg_auto = input(true, "Auto Threshold"
, group = 'Fair Value Gaps'
, tooltip = AUTO_FVG)
fvg_tf = input.timeframe('', "Timeframe"
, group = 'Fair Value Gaps'
, tooltip = FVG_TF)
bull_fvg_css = input.color(color.new(#00ff68, 70), 'Bullish FVG'
, group = 'Fair Value Gaps')
bear_fvg_css = input.color(color.new(#ff0008, 70), 'Bearish FVG'
, group = 'Fair Value Gaps')
fvg_extend = input.int(1, "Extend FVG"
, minval = 0
, group = 'Fair Value Gaps'
, tooltip = EXTEND_FVG)
//Previous day/week high/low
//Daily
show_pdhl = input(false, 'Daily'
, inline = 'daily'
, group = 'Highs & Lows MTF')
pdhl_style = input.string('⎯⎯⎯', ''
, options = ['⎯⎯⎯', '----', '····']
, inline = 'daily'
, group = 'Highs & Lows MTF')
pdhl_css = input(#2157f3, ''
, inline = 'daily'
, group = 'Highs & Lows MTF')
//Weekly
show_pwhl = input(false, 'Weekly'
, inline = 'weekly'
, group = 'Highs & Lows MTF')
pwhl_style = input.string('⎯⎯⎯', ''
, options = ['⎯⎯⎯', '----', '····']
, inline = 'weekly'
, group = 'Highs & Lows MTF')
pwhl_css = input(#2157f3, ''
, inline = 'weekly'
, group = 'Highs & Lows MTF')
//Monthly
show_pmhl = input(false, 'Monthly'
, inline = 'monthly'
, group = 'Highs & Lows MTF')
pmhl_style = input.string('⎯⎯⎯', ''
, options = ['⎯⎯⎯', '----', '····']
, inline = 'monthly'
, group = 'Highs & Lows MTF')
pmhl_css = input(#2157f3, ''
, inline = 'monthly'
, group = 'Highs & Lows MTF')
//Premium/Discount zones
show_sd = input(false, 'Premium/Discount Zones'
, group = 'Premium & Discount Zones'
, tooltip = PED_ZONES)
premium_css = input.color(#f23645, 'Premium Zone'
, group = 'Premium & Discount Zones')
eq_css = input.color(#b2b5be, 'Equilibrium Zone'
, group = 'Premium & Discount Zones')
discount_css = input.color(#089981, 'Discount Zone'
, group = 'Premium & Discount Zones')
//Functions
n = bar_index
atr = ta.atr(200)
cmean_range = ta.cum(high - low) / n
//HL Output function
hl() => [high, low]
//Get ohlc values function
get_ohlc()=> [close[1], open[1], high, low, high[2], low[2]]
//Display Structure function
display_Structure(x, y, txt, css, dashed, down, lbl_size)=>
structure_line = line.new(x, y, n, y
, color = css
, style = dashed ? line.style_dashed : line.style_solid)
structure_lbl = label.new(int(math.avg(x, n)), y, txt
, color = TRANSP_CSS
, textcolor = css
, style = down ? label.style_label_down : label.style_label_up
, size = lbl_size)
if mode == 'Present'
line.delete(structure_line[1])
label.delete(structure_lbl[1])
//Swings detection/measurements
swings(len)=>
var os = 0
upper = ta.highest(len)
lower = ta.lowest(len)
os := high[len] > upper ? 0 : low[len] < lower ? 1 : os[1]
top = os == 0 and os[1] != 0 ? high[len] : 0
btm = os == 1 and os[1] != 1 ? low[len] : 0
[top, btm]
//Order block coordinates function
ob_coord(use_max, loc, target_top, target_btm, target_left, target_type)=>
min = 99999999.
max = 0.
idx = 1
ob_threshold = ob_filter == 'Atr' ? atr : cmean_range
//Search for highest/lowest high within the structure interval and get range
if use_max
for i = 1 to (n - loc)-1
if (high[i] - low[i]) < ob_threshold[i] * 2
max := math.max(high[i], max)
min := max == high[i] ? low[i] : min
idx := max == high[i] ? i : idx
else
for i = 1 to (n - loc)-1
if (high[i] - low[i]) < ob_threshold[i] * 2
min := math.min(low[i], min)
max := min == low[i] ? high[i] : max
idx := min == low[i] ? i : idx
Responded
1
Rating
Projects
220
80%
Arbitration
18
33%
/
44%
Overdue
10
5%
Working
Published: 24 articles, 1882 codes
2
Rating
Projects
41
20%
Arbitration
9
11%
/
89%
Overdue
5
12%
Free
3
Rating
Projects
19
11%
Arbitration
1
0%
/
100%
Overdue
5
26%
Free
4
Rating
Projects
187
43%
Arbitration
8
0%
/
50%
Overdue
10
5%
Working
Published: 3 codes
Similar orders
This IMO is as simple as it gets EA ... Buy when price is above VWAP ... Sell when it is below ... Using the MA as a SL I say develop because it is never as straightforward as first imagined ... hopefully it all goes with plan A However if there is need for a plan B or C we can renegotiate the time and budget Happy to listen to your wealth of experience to create a better EA
⚙ Renko EA Entry Logic (Simplified & Professional) 🔹 Buy Entry EA opens a Buy when Fast MA crosses above Slow MA , signaling an uptrend. 🔹 Sell Entry EA opens a Sell when Fast MA crosses below Slow MA , signaling a downtrend. 🔹 Close on Next Entry (if enabled) If CloseOnNextEntry = true : • Closes opposite trade before opening a new one • Ensures only one active trade at a time 🔹 Trend Filter (if enabled) EA
Hello All, I need a developer who can help me to modify my existing expert advisor with below requirements : 1. I have already a mql4 file and I want to modified it with some new certain filters or conditions 2. I will add more filters conditions which I will tell you later for the selected developer. 3. Once it’s done so you must share the modified mql4 to me and I will do back test many times to make sure whether
Update la un indicator existent
30+ USD
Buna tuturor developerilor romani de pe aici, Am un indicator care functioneaza destul de bine insa cum intotdeauna este loc de mai bine as avea nevoie de niste update uri pentru el. In principiu as vrea sa fie adaugat 2 indicatori noi in logica existenta, primul este CCI al doilea este Accelerator Oscillator. Primul ar trebui sa functioneze in TF current, iar al doilea in TF curent + un TF mai mare. Mai multe
En Yellowbit.co, una startup enfocada en el trading algorítmico, abrimos convocatoria para sumar al equipo a un desarrollador con experiencia en MQL5 y pasión por los mercados financieros. 🧠 ¿Qué buscamos? • Mínimo 3 años programando en MQL5 • Buen dominio de algoritmos y estructuras de datos • Nociones sólidas de trading y validación de estrategias • Comunicación clara y buena lógica para resolver problemas
Dear programmers, I am using a famous MT4 / MT5 copier called FX Blue. It supports external filters to control the copier / receiver. I need someone to program a external filter, so the receiver can be turned off or on, if there are trades or no trades. So for example. I run 3 different receivers with 3 different magic number (001,002,003). Receiver with magic number 002 received a trade. As long as this trade is
News filter For MT4
30+ USD
Hello All, I need News Filter For MT4. Input Parameters:- 1. News Filter ON/OFF 2. Stop Trade Before 3. Start Trade After 4. Low News ON/OFF 5.Medium News ON/OFF 6. High News ON/OFF 7. Number of News Show On Chart Example if user enter = 1 than only 1 Latest Upcoming News Show Get News Data From This Website Only : https://www.mql5.com/en/economic-calendar If News Filter is OFF than show NEWS FILTER IS OFF if
I Want a EA which take trade in my mention zone
30 - 40 USD
I Want a EA which take trade in my mention zone with TP, SL , BE & Trail Options for Example i will mention when gold reach Gold 3330 Price and its make a reversal candle then EA take trade regards
Webhook integration
30+ USD
hello i have a problem i want toautomatize trading, i have a good indicator in tradingview and i want automatize with wundertrading. but for now the signal don't go and i want to solve the problem. I can make trade with binance or other exchange. we can solve by put a webhook that directly insert order in binance? or we can make a webhook that send order to wundertrading, that after, send order to binance. For me is
I want to a professional developer who is expert in creating the EA using Heikin Ashi candles. I am already having a simple trading view strategy, and just want to convert it to MT4 bot for auto execution of orders. Option for Changing SL and TP percentage in MT4 required. All other is mentioned in my simple strategy. [attached in txt file] Note: 1. The developer should back test the strategy on MT4 before accepting
Project information
Budget
50+ USD
For the developer
45
USD
Deadline
from 2 to 4 day(s)