Доработка и создание советника

MQL4 Indicators Experts

Specification

Добрый день.

Необходимо переписать существующий код, применяемый с TradingView и создать автоматического бота (советника) для платформы Metatraider 4.

Задание по коду:

1) Условия для входа будут такими же, как и в Стратегии, только выход из сделки будет автоматически при условии +0,20 пунктов.
2) Тайм-фрейм - 3м
3) SL - отсутствует
4) Манименджмент 5% от депо
5) Использоваться будет на криптовалютном рынке


Код стратегии:



//примечание: для распределения 1 оператора по нескольким строкам требуется 1 apce + 1 tab | 
многострочная функция — 1 вкладка 


//Рекомендуемые тикеры: SPY (D), QQQ (D) и большие индексы, AAPL (4H) 



// @version=5 


 стратегия ( 

«Davin's 10/200MA Pullback on SPY Strategy v2.0» 

 , 


     overlay= 

true 

 , 


     initial_capital= 

10000 

 , 


     default_qty_type=strategy.percent_of_equity, 


     default_qty_value= 

10 

 , 

// 10% капитала на каждую сделку 


      Commission_type=strategy.commission.cash_per_contract, 


     Commission_value = 

0.1 

 ) 

//Вставьте курс вашего брокера, IB 0,005USD или многоуровневый 



//Лучшие параметры 


// SPY D 


// Стоп-лосс 0,15 


// комиссия 0,005 USD при использовании Interactive Brokers 


// Выход при более низком закрытии 


// Купить больше, когда x% вниз --> 14% 


// НЕ ВКЛЮЧАТЬ стоп-условие с использованием пересечения MA 



// Получение пользовательского ввода 


 i_ma1 = 

input 

 . 

int 

 (title= 

"Длина MA 1" 

 , defval= 

200 

 , step= 

10 

 , group= 

"Параметры стратегии" 

 , tooltip= 

"Долгосрочная MA 200" 

 ) 


i_ma2 = 

input 

 . 

инт 

(название = 

«Длина скользящей средней 2» 

 , defval = 

10 

 , шаг = 

10 

 , группа = 

«Параметры стратегии» 

 , всплывающая подсказка = 

«Краткосрочная скользящая средняя 10» 

 ) 


i_ma3 = 

input 

 . 

int 

 (title= 

"Длина MA 3" 

 , defval= 

50 

 , step= 

1 

 , group= 

"Параметры стратегии" 

 , tooltip= 

"MA for crossover signal`" 

 ) 


i_stopPercent = 

input 

 . 

float 

 (title= 

"Процент стоп-лосса" 

 , defval= 

0,15 

 , step= 

0,01 

 , group= 

" 


"Жесткий стоп-лосс 10%" 

 ) 


i_startTime = 

input 

 .time(title= 

"Начальный фильтр" 

 , defval=timestamp( 

"01 января 2013 13:30 +0000" 

 ), group= 

"Временной фильтр" 

 , tooltip= 

"Дата начала и время начала" 

 ) 


i_endTime = 

input 

 .time(title= 

"Конец фильтра" 

 , defval=timestamp( 

"01 января 2099 19:30 +0000" 

 ), group= 

"Фильтр времени" 

 , tooltip= 

"Дата окончания и время до стоп" 

 ) 


i_lowerClose = 

ввод 

 . 

bool 

 (title= 

"Выход при нижнем закрытии" 

 , 



«Параметры стратегии» 

 , tooltip= 

«Подождите закрытия ниже после 10SMA выше, прежде чем выйти» 

 ) 

// оптимизация стратегии выхода, логический тип создает входные данные типа 


 галочки i_contrarianBuyTheDip = 

input 

 . 

bool 

 (title= 

"Покупайте всякий раз, когда просадка превышает x%" 

 , defval= 

true 

 , group= 

"Параметры стратегии" 

 , tooltip= 

"Покупайте при просадке! Всякий раз, когда просадка SPY составляет x% или более" 

 ) 


i_contrarianTrigger = 

input 

 . 

int 

 (title= 

"Запустить % падения, чтобы купить падение" 

 , defval= 

14 

 , step= 

1 

 , group= 

" 

, tooltip= 

"% падения, чтобы спровоцировать противоположный Buy the Dip!" 

) 


//14% лучше для SPY 1D 


//20% лучше для AMZN 1D 


 i_stopByCrossover_MA2_3 = 

input 

 . 

bool 

 (title= 

"Включать условие стопа при пересечении MA" 

 , defval= 

false 

 , group= 

"Параметры стратегии" 

 , tooltip= 

"Продавать при пересечении MA2/1" 

 ) 



// Получаем значения индикатора 


 ma1 = ta.sma(close, i_ma1) 

//параметр 1 


 ma2 = ta.sma(close,i_ma2) 

//параметр 2 


 ma3 = ta.sma(close,i_ma3) 

//параметр 3 


 ma_9 = ta.ema(close, 

9 

 ) 

//параметр 2 


 ma_20 = та.эма (близко, 

20 

 ) 

//param 3 



// Проверить фильтр(ы) 


 f_dateFilter = time >+ i_startTime и time <= i_endTime 

//убедиться, что введенные даты находятся в допустимом диапазоне 



// Самая высокая цена за предыдущие 52 дня: https://www. Tradingcode.net/tradingview/наибольшее-максимальное-значение/#:~:text=()%20versus%20ta.-,highest(),max()%20and%20ta. 


наивысшее52 = ta.highest(high, 

52 

 ) 


total_change = ((highest52 - close[ 

0 

 ]) / наивысшее52) * 

100 



// Проверяем условия покупки/продажи 


 var 

float 

 buyPrice = 

0  

// инициализируем цену покупки, она изменится, когда мы введем торговля ; 
float = десятичное число тип данных 0.0 


buyCondition = (close > ma1 и close < ma2 и Strategy.position_size == 

0 

 и f_dateFilter) или (strategy.position_size == 

0 

 и i_contrarianBuyTheDip == 

true 

 и total_change > i_contrarianTrigger и f_dateFilter) 

// выше 200sma, ниже краткосрочного ma (откат) + избегайте формирования пирамиды позиций 


 sellCondition = close > ma2 and Strategy.position_size > 

0 

 и (не i_lowerClose или close < low[ 

1 

 ])   

//проверка, торгуем ли мы уже + закрытие выше 10MA; 


// третье условие: ЛИБО i_lowerClose не включен ИЛИ цена закрытия должна быть < LOW предыдущей свечи [1] 



 stopDistance = Strategy.position_size > 

0 

? 
((buyPrice - close)/close) : нет данных 

// проверить, если в сделке > расчет % отбрасывает расстояние от точки входа, если нет 


 данных stopPrice = Strategy.position_size > 

0 

 ? 
(buyPrice - (buyPrice * i_stopPercent)) : нет данных 

// рассчитать цену SL, если в сделке, если нет, то нет 


 данных stopCondition = (strategy.position_size > 

0 

 и stopDistance > i_stopPercent) или (strategy.position_size > 

0 

 и (i_stopByCrossover_MA2_3== 

true 

 ) и ma3 < ma1)) 




// Входим в позиции 


, если 

 buyCondition 


    Strategy.entry(id= 

"Long" 

 , direction=strategy. 

long 

 ) 

//длинные, только 

    


если 

 buyCondition[ 

1 

 ] 

// если buyCondition истинно, предыдущая свеча 


     buyPrice := open 

// цена входа = текущая цена открытия бара 



// выход из позиции 


, если 

 sellCondition или stopCondition 


    Strategy.close(id= 

"Long" 

 , comment = 

"Exit" 

 + (stopCondition ? 

"Stop loss=true" 

 : 

"" 

 )) 

// если условие? 
"Значение для истинного" : "значение для ложного" 


     buyPrice := na 

//сброс buyPrice 



// График 


 plot(buyPrice, 

color 

 = 

color 

 .lime, style=plot.style_linebr) 


plot(stopPrice, 

color 

 = 

color 

 .red, style= plot.style_linebr, 


) 


plot(ma1, 

цвет 

 = 

цвет 

 .синий) 

//defval=200 


 plot(ma2, 

цвет 

 = 

цвет 

 .white) 

//defval=10 


 plot(ma3, 

цвет 

 = 

цвет 

 .yellow) 

// defval=50 





Responded

1
Developer 1
Rating
(247)
Projects
253
30%
Arbitration
0
Overdue
3
1%
Free
Published: 2 codes
2
Developer 2
Rating
(574)
Projects
945
47%
Arbitration
309
58% / 27%
Overdue
125
13%
Free
Similar orders
I would like an experienced developer to work with. I have an existing EA I would like to modify. The EA works well on demo account but for some reasons, is not profitable on live account. I want an experienced developer to optimise it for a live account. Note: I only have a trial version of the EA, I do not have the source code
I am looking for an experienced MT4 Expert Advisor developer to help backtest and optimize an existing EA for prop firm trading . The EA currently trades Gold (XAUUSD) on M1/M5 , and the goal is to make it low-risk, stable, and prop-firm friendly , while also identifying a more aggressive preset for evaluation phases
I am looking for an experienced MQL5 developer to build a professional MT5 software (indicator or semi-automated EA) for metals and major forex pairs. 📌 PLATFORM & MARKETS Platform: MetaTrader 5 Instruments: XAUUSD (Gold vs USD) XAGUSD (Silver vs USD) EURUSD GBPUSD USDJPY Trading styles: Scalping Intraday / short-term swing 🎯 MAIN OBJECTIVE I do NOT want an aggressive fully automated robot. I want a
I am seeking an experienced freelance marketing and algorithmic trading specialist to develop a user-friendly automated trading bot for the Pocket Option platform. The system should feature a simple and secure interface that allows direct login using my existing credentials. The bot will be designed to operate exclusively on multiple OTC currency pairs (a minimum of 10, such as EUR/USD OTC, GBP/JPY OTC, and similar
I am looking for someone who has or who can modify the Margin Trader EA by MaryJane preferably the MT5 version by making it pyramid using a fixed lot size addition(preferably 1st trade lot size) instead of using all the margin available to define the lotsize
Hi Dev, I need a custom indicator/dashboard system built for MT4. I will send the reference .ex4 or .mq4 source files after you accept the job. IMPORTANT REQUIREMENTS: External Inputs: All values (Periods, Deviations, Colors, Timeframes) must be "External Variables" so I can change them manually. Visual Replica: The final chart must look EXACTLY like the attached screenshots. Timeframe Flexibility: The system must
HAJOSKI 30+ USD
BUY ALERT Supertrend turns Bullish Last time xSupertrend was bearish, there is a retracement on BBstops Last time XSupertrend was bearish, Price was < or = to MA1 Instrument is in trend (STEP MA and STEP MA 2 are both Bullish) SELL ALERT Supertrend turns Bearish Last time xSupertrend was bullish, there is a retracement on BBstops Last time XSupertrend was bullish, Price was < or = to MA1 STEP MA1 and STEP MA 2 are
I want a order block indicator mt5 which will give signals alerts.. Bearish order block blue bullish red .. with highs and lows reversal........ it should give arrows or dots for entry or something... and exit level... I show what I need in the picture
I want to check if this indicator is repainting or not Whick mean the results of back testing is legit or not if anyone can help me to review it kindly to well to contact me i will be happy to work and go on long term work with anyone thanks
1.Sinyal Perdagangan : Sinyal beli: garis MACD utama memotong garis sinyal ke atas (macd_current>signal_current && macd_previous<signal_previous). Sinyal jual: garis MACD utama memotong garis sinyal ke bawah (macd_current<signal_current && macd_previous>signal_previous). Gambar di bawah menunjukkan kasus beli dan jual. 2. Posisi ditutup pada sinyal yang berlawanan: Posisi beli ditutup pada sinyal jual, dan posisi

Project information

Budget
30 - 150 USD
Deadline
from 2 to 21 day(s)