Trabajo finalizado
Plazo de ejecución 2 horas
Comentario del Cliente
Exceptional! This programmer's brilliance shone through despite my myriad questions. His phenomenal work and patience were unmatched. A true top-notch professional—look no further for expertise!"
Tarea técnica
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © BobRivera990
//@version=4
study(title = "Trend Type Indicator by BobRivera990", overlay = false)
//==========================================================================[Inputs]==========================================================================
useAtr = input(true, title = "Use ATR to detect Sideways Movements") // Use Average True Range (ATR) to detect Sideways Movements
atrLen = input(14, minval = 1, title = "ATR Length") // length of the Average True Range (ATR) used to detect Sideways Movements
atrMaType = input("SMA", options = ["SMA", "EMA"],
title = "ATR Moving Average Type") // Type of the moving average of the ATR used to detect Sideways Movements
atrMaLen = input(20, minval = 1, title = "ATR MA Length") // length of the moving average of the ATR used to detect Sideways Movements
useAdx = input(true, title = "Use ADX to detect Sideways Movements") // Use Average Directional Index (ADX) to detect Sideways Movements
adxLen = input(14, minval = 1, maxval = 50, title = "ADX Smoothing") // length of the Average Directional Index (ADX) used to detect Sideways Movements
diLen = input(14, minval = 1, title = "DI Length") // length of the Plus and Minus Directional Indicators (+DI & -DI) used to determine the direction of the trend
adxLim = input(25, minval = 1, title = "ADX Limit") // A level of ADX used as the boundary between Trend Market and Sideways Market
smooth = input(3, minval = 1, maxval = 5, title = "Smoothing Factor") // Factor used for smoothing the oscillator
lag = input(8, minval = 0, maxval = 15, title = "Lag") // lag used to match indicator and chart
//============================================================================================================================================================
//===================================================================[Initial Calculations]===================================================================
atr = atr(atrLen) // Calculate the Average True Range (ATR)
atrMa = atrMaType == "EMA" ? ema(atr, atrMaLen) : sma(atr, atrMaLen) // Calculate the moving average of the ATR
up = change(high) // Calculate parameter related to ADX, +DI and -DI
down = -change(low) // Calculate parameter related to ADX, +DI and -DI
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) // Calculate parameter related to ADX, +DI and -DI
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) // Calculate parameter related to ADX, +DI and -DI
trur = rma(tr, diLen) // Calculate parameter related to ADX, +DI and -DI
plus = fixnan(100 * rma(plusDM, diLen) / trur) // Calculate Plus Directional Indicator (+DI)
minus = fixnan(100 * rma(minusDM, diLen) / trur) // Calculate Minus Directional Indicator (-DI)
sum = plus + minus // Calculate parameter related to ADX
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxLen) // Calculate Average Directional Index (ADX)
//============================================================================================================================================================
//========================================================================[Conditions]========================================================================
cndNa = na(atr) or na(adx) or na(plus) or na(minus) or na(atrMaLen) // Conditions for lack of sufficient data for calculations
cndSidwayss1 = useAtr and atr <= atrMa // Sideways Movement condition (based on ATR)
cndSidwayss2 = useAdx and adx <= adxLim // Sideways Movement condition (based on ADX)
cndSidways = cndSidwayss1 or cndSidwayss2 // General Sideways Movement condition
cndUp = plus > minus // uptrend condition
cndDown = minus >= plus // downtrend condition
trendType = cndNa ? na : cndSidways ? 0 : cndUp ? 2 : -2 // Determine the type of trend
smoothType = na(trendType) ? na : round(sma(trendType, smooth) / 2) * 2 // Calculate the smoothed trend type oscillator
//============================================================================================================================================================
//=========================================================================[Drawing]==========================================================================
colGreen30 = color.new(color.green, 30) // Define the color used in the drawings
colGreen90 = color.new(color.green, 90) // Define the color used in the drawings
colGray = color.new(color.gray, 20) // Define the color used in the drawings
colWhite90 = color.new(color.white, 90) // Define the color used in the drawings
colRed30 = color.new(color.red, 30) // Define the color used in the drawings
colRed90 = color.new(color.red, 90) // Define the color used in the drawings
band3 = plot(+3, title = "Band_3", color=color.black) // Draw the upper limit of the uptrend area
band2 = plot(+1, title = "Band_2", color=color.black) // Draw the boundary between Sideways and Uptrend areas
band1 = plot(-1, title = "Band_1", color=color.black) // Draw the boundary between Sideways and Downtrend areas
band0 = plot(-3, title = "Band_0", color=color.black) // Draw the lower limit of the downtrend area
fill(band2, band3, title = "Uptrend area", color = colGreen90) // Highlight the Uptrend area
fill(band1, band2, title = "Sideways area", color = colWhite90) // Highlight the Sideways area
fill(band0, band1, title = "Downtrend area", color = colRed90) // Highlight the Downtrend area
var label lblUp = na
label.delete(lblUp)
lblUp := label.new(x = time, y = 2, text = "UP",
color = color.new(color.green, 100), textcolor = color.black,
style = label.style_label_left, xloc = xloc.bar_time,
yloc = yloc.price, size=size.normal, textalign = text.align_left) // Show Uptrend area label
var label lblSideways = na
label.delete(lblSideways)
lblSideways := label.new(x = time, y = 0, text = "SIDEWAYS",
color = color.new(color.green, 100), textcolor = color.black,
style = label.style_label_left, xloc = xloc.bar_time,
yloc = yloc.price, size = size.normal, textalign = text.align_left) // Show Sideways area label
var label lblDown = na
label.delete(lblDown)
lblDown := label.new(x = time, y = -2, text = "DOWN",
color = color.new(color.green, 100), textcolor = color.black,
style = label.style_label_left, xloc = xloc.bar_time,
yloc = yloc.price, size = size.normal, textalign = text.align_left) // Show Downtrend area label
var label lblCurrentType = na
label.delete(lblCurrentType)
lblCurrentType := label.new(x = time, y = smoothType,
color = color.new(color.blue, 30), style = label.style_label_right,
xloc = xloc.bar_time, yloc = yloc.price, size = size.small) // Show the latest status label
trendCol = smoothType == 2 ? colGreen30 : smoothType == 0 ? colGray : colRed30 // Determine the color of the oscillator in different conditions
plot(smoothType, title = "Trend Type Oscillator", color = trendCol,
linewidth = 3, offset = -lag, style = plot.style_stepline) // Draw the trend type oscillator
Han respondido
1
Evaluación
Proyectos
31
32%
Arbitraje
8
50%
/
25%
Caducado
3
10%
Trabaja
2
Evaluación
Proyectos
373
72%
Arbitraje
19
32%
/
47%
Caducado
14
4%
Libre
Ha publicado: 14 ejemplos
3
Evaluación
Proyectos
945
47%
Arbitraje
309
58%
/
27%
Caducado
125
13%
Libre
4
Evaluación
Proyectos
10
10%
Arbitraje
9
0%
/
89%
Caducado
1
10%
Libre
Solicitudes similares
EA developer with stregegy builder required
50 - 100 USD
Looking for an experienced MQL5 developer to design and develop a custom Expert Advisor (EA) for MetaTrader 5. The purpose of this EA is not just automated trading, but also to help me better structure, test, and refine my personal trading strategy
Freeallfree
400 - 800 USD
Professional MT5 EA – XAUUSD I need a professional Expert Advisor for MT5 (MQL5) to trade XAUUSD only. This is not a random scalping bot. The EA must trade only high-probability liquidity breakouts during active sessions and avoid ranging or low-volatility markets. Symbol: XAUUSD Timeframe: M15 (optional H1 confirmation) Session filter (Dubai GMT+4): Trade only London and New York sessions Adjustable session times No
EURUSD Day scalping
30+ USD
Hi Developers, I am looking for a EA based on EURUSD where EA is taking multiple trades in a day with small profits in each trade. Looking for some EA based on HFT trading, scalping
Fix and Add risk management all
50 - 300 USD
My EA has serious problems and needs full improvement and optimization. Problems: No Stop Loss and Take Profit No risk management system High drawdown and losses Opens multiple trades at same entry (overtrading) No maximum trades per day limit No maximum open trades per symbol No trailing stop Poor entry logic and weak signals Trades open very late (after many days) No equity protection system No daily loss limit No
Hi, I need a simple MT5 EA. Based on my simple trading strategy I'm going to discuss with you If you have experience in this kindly bid for this project Thanks
An Expert KBFX
30+ USD
Fill orders first execution and real time trading, my strategy is that wait for clean confirmation before entering the market and fill orders for a snappier entrance,then execute trade after making profit on the position
MosesRobot
100+ USD
"I am looking for an expert developer to build a custom Forex Expert Advisor based on my specific strategy. Requirements: Full Source Code (.mq5) must be delivered. I retain 100% Intellectual Property and ownership of the bot. Must include a Risk Management module (Fixed Lot or % of balance). Must include a Trailing Stop and Break-even feature. Bot must be compatible with the MT5 Strategy Tester for 99% quality
Modification of EA and Addition of New Trade Logic and Features Currently, the EA is opening trades correctly but in addition, there are times when it is opening the trades wrongly. The EA is based on an indicator (only the .ex5 file is available). A new trigger logic also needs to be added, along with new closing conditions. This project must NOT use any DLL and must be submitted in 1 day (max 2 days) The EA will be
I am in need of a buy stop sell stop EA that is developed already and profitable in live market for SCALPING XAUUSD. Note: Profitable in LIVE MARKET. It should have god risk management and low drawdown. If you have one developed, pls reply. The developer will need to send a demo so I can test myself
Automated trading system
150 - 250 USD
Anyone I need my own bot with my own licenses keys I will pay up please the bot must make good profit and I will pay up good money just hope it helps me
Información sobre el proyecto
Presupuesto
30+ USD
Plazo límite de ejecución
de 1 día(s)