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

MQL4 Indicateurs Experts

Spécifications

Добрый день.

Необходимо переписать существующий код, применяемый с 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 





Répondu

1
Développeur 1
Évaluation
(204)
Projets
209
28%
Arbitrage
0
En retard
3
1%
Gratuit
2
Développeur 2
Évaluation
(564)
Projets
933
47%
Arbitrage
302
59% / 25%
En retard
125
13%
Chargé
Commandes similaires
Hi Developer, I would like to create the indicator based for Mt4 on the investing.com data https://www.investing.com/currencies/eur-usd-technical. Indicator must show and read all the timeframe in order to get the real time result. Indicator also have selection to select each time frame. Indicator must work at 5 major currencies and gold as well. it will show at MT4 as below Buy = green Sell = red neutral = grey
I need to make EA (Expert Advisor) and would appreciate it if you could provide your most competitive quote. Please let me know your best price for completing these changes, as I’m looking to get this done promptly and effectively. Thank you
I need a programmer for converting a MetaTrader indicator into ea for TradeLocker. Additionally, I would like to have a new EA built in TradeLocker that mirrors the logic of the original MetaTrader, including the specific rules and conditions I need. Please contact me only if you have prior experience converting scripts from MetaTrader to TradeLocker
I need to make several modifications to an EA (Expert Advisor) and would appreciate it if you could provide your most competitive quote for these edits. Please let me know your best price for completing these changes, as I’m looking to get this done promptly and effectively. Thank you
hello here am looking for someone that can assist me in removing validation form my demo file and if anyone is interested dm the for more details i will be waiting to get any reply by some on that can assist me with this
A green point should be added at the Low point of candlesticks in the oversold zone—it is the L point. If there is at least one L point between two H points, search for a LL point in the interval between two H points. The candlestick with the lowest Low price will be the LL point. Generally, the LL point is not necessarily an L point. Search for candlesticks with the lowest Low price. If there is at least one H point
Trading robots are programs, which operate according to underlying algorithms. An algorithm is a set of actions that need to be performed in response to certain events. For example, the most common task in algo trading is the identification of the "New bar" event. When the event occurs, the robot checks the emergence of trading signals and acts accordingly. Before you decide to program or order a trading robot, you
RRB 50 - 400 USD
The overbought zone is determined as candlesticks, at which the indicator value Value > Lmax (Lmax=-20). The oversold zone is determined as candlesticks, at which the indicator value Value < Lmin (Lmin=-80). The values of Lmax and Lmin should be included in indicator parameters. A yellow point should be added at the High point of candlesticks in the overbought zone—it is the H point. A green point should be added at
At bot 30+ USD
Help me to trade create orders for me and analyze the markets and decide when is a good time to buy or sell. Determine which pairs are best to use to trade with and indicate trading signals to me
Fair Value Gap Scanner 30 - 100 USD
Hi, Greetings. Can somebody revert with an offer to code a FVG Scanner across Forex Pairs / Time Frame Selection / Alert please in order to support a Trading Strategy where entries are considered with the market direction confluence such as a Half Trend / Semafor Indicator. Look forward to hear back. Kind Regards. Anton

Informations sur le projet

Budget
30 - 150 USD
Pour le développeur
27 - 135 USD
Délais
de 2 à 21 jour(s)