Termos de Referência
Gostaria de criar um EA baseado no indicador listado abaixo de tal forma que a entrada na compra seja realizada quando a média ficar verde e a entrada na venda seja realizada quando a média ficar vermelha. Em estando comprado ou vendido, quero que o EA inverta a posição caso a média sinalize venda, se eu estiver comprado, ou sinalize compra, se eu estiver vendido. Preciso também que o EA permita entrada de compra e/ou venda com opção de se colocar automaticamente Stop Loss e Stop Gain. Preciso também da opção de se delimitar diariamente a hora e minuto de início e a hora e minuto final de operação diária do EA. Segue abaixo o código do indicador: //+------------------------------------------------------------------+ //| tabajara2.mq5 | //| Copyright 2018, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Patrick Corrêa Muniz" #property version "1.01" #property indicator_chart_window #property indicator_buffers 7 #property indicator_plots 2 //--- plot media #property indicator_label1 "media" #property indicator_type1 DRAW_COLOR_LINE #property indicator_color1 clrRed,clrForestGreen,clrYellow,C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0' #property indicator_style1 STYLE_SOLID #property indicator_width1 2 //--- plot candles #property indicator_label2 "candles" #property indicator_type2 DRAW_COLOR_CANDLES #property indicator_color2 clrRed,clrForestGreen,clrBlack,clrGray,C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0' #property indicator_style2 STYLE_SOLID #property indicator_width2 1 //--- indicator buffers double mediaBuffer[]; double mediaColors[]; double candlesOpenBuffer[]; double candlesHighBuffer[]; double candlesLowBuffer[]; double candlesCloseBuffer[]; double candlesColors[]; double mediavalue[]; int mediaHandle; input int PeriodoMedia=20; input ENUM_MA_METHOD TipoMedia=MODE_SMA; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,mediaBuffer,INDICATOR_DATA); SetIndexBuffer(1,mediaColors,INDICATOR_COLOR_INDEX); SetIndexBuffer(2,candlesOpenBuffer,INDICATOR_DATA); SetIndexBuffer(3,candlesHighBuffer,INDICATOR_DATA); SetIndexBuffer(4,candlesLowBuffer,INDICATOR_DATA); SetIndexBuffer(5,candlesCloseBuffer,INDICATOR_DATA); SetIndexBuffer(6,candlesColors,INDICATOR_COLOR_INDEX); mediaHandle=iMA(_Symbol,_Period,PeriodoMedia,0,TipoMedia,PRICE_CLOSE); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int start; if(prev_calculated==0) { start=1; }else{ start=prev_calculated-1; } CopyBuffer(mediaHandle,0,0,rates_total,mediaBuffer); CopyBuffer(mediaHandle,0,0,rates_total,mediavalue); for(int i=start; i<rates_total; i++) { DefineColorMedia(mediavalue,i,close); DefineColorCandle(mediavalue,i,close,open,high,low); } return(rates_total); } //+------------------------------------------------------------------+ //|Colors //| 0 = Red //| 1 = Green //| 2 = yellow | //+------------------------------------------------------------------+ void DefineColorMedia(double &mediavalue[],int index,const double &close[]) { bool fechamentoMaiorQueMediaeMediaAscendente=(close[index]>mediavalue[index] && mediavalue[index]>mediavalue[index-1]); bool fechamentoMenorQueMediaeMediaDescendente=(close[index]<mediavalue[index] && mediavalue[index]<mediavalue[index-1]); if(fechamentoMaiorQueMediaeMediaAscendente) { mediaColors[index]=1; }else if(fechamentoMenorQueMediaeMediaDescendente) { mediaColors[index]=0; }else{ mediaColors[index]=2; } } //+------------------------------------------------------------------+ //|Colors //|0 = Red //|1 = Green //|2 = Black //|3 = Gray | //+------------------------------------------------------------------+ void DefineColorCandle(double &mediavalue[],int index,const double &close[],const double &open[],const double &high[],const double &low[]) { DefineBuffersCandle(index,close,open,high,low); bool candleDeForcaMediaAscendente=close[index]>close[index-1] && close[index]>mediavalue[index] && mediavalue[index]>mediavalue[index-1]; bool candleDeCorrecaoMediaAscendente=close[index]<close[index-1] && close[index]>mediavalue[index] && mediavalue[index]>mediavalue[index-1]; bool candleDeForcaMediaDescendente=close[index]<close[index-1] && close[index]<mediavalue[index] && mediavalue[index]<mediavalue[index-1]; bool candleDeCorrecaoMediaDescendente=close[index]>close[index-1] && close[index]<mediavalue[index] && mediavalue[index]<mediavalue[index-1]; if(candleDeForcaMediaAscendente) { candlesColors[index]=1; }else if(candleDeCorrecaoMediaAscendente){ candlesColors[index]=2; }else if(candleDeForcaMediaDescendente){ candlesColors[index]=0; }else if(candleDeCorrecaoMediaDescendente){ candlesColors[index]=3; } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void DefineBuffersCandle(int index,const double &close[],const double &open[],const double &high[],const double &low[]) { candlesOpenBuffer[index] = open[index]; candlesHighBuffer[index] = high[index]; candlesLowBuffer[index]=low[index]; candlesCloseBuffer[index]=close[index]; } //+------------------------------------------------------------------+
Respondido
1
Classificação
Projetos
80
13%
Arbitragem
11
0%
/
91%
Expirado
51
64%
Livre
2
Classificação
Projetos
3261
67%
Arbitragem
77
48%
/
14%
Expirado
341
10%
Livre
Publicou: 1 código
3
Classificação
Projetos
523
39%
Arbitragem
29
59%
/
3%
Expirado
55
11%
Trabalhando
Publicou: 11 códigos
4
Classificação
Projetos
942
47%
Arbitragem
303
59%
/
25%
Expirado
125
13%
Livre
5
Classificação
Projetos
205
26%
Arbitragem
12
25%
/
58%
Expirado
39
19%
Livre
6
Classificação
Projetos
2820
62%
Arbitragem
118
46%
/
25%
Expirado
427
15%
Trabalhando
7
Classificação
Projetos
330
35%
Arbitragem
64
13%
/
56%
Expirado
86
26%
Livre
8
Classificação
Projetos
16
0%
Arbitragem
9
0%
/
89%
Expirado
8
50%
Livre
9
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
Pedidos semelhantes
EA com base em indicadores
80 - 100 USD
Smart Retest and Reversal EA SRR EA O EA funcionará em todos os ativos no time frame desejado pelo usuário. INDICADORES 1) O EA irá utilizar os seguintes indicadores para operar, todos gratuitos: 1.1) "Area of interest MT5" 1.2) "Price Retest MT5" 1.3) "Price Reversal Predictor" 1.4) "Easy Buy Sell Signal" GATILHOS 2) Uma vez colocados os indicadores no gráfico, na configuração padrão, o EA poderá fazer dois tipos de
JB-1
30 - 50 USD
Olá! gostaria de um orçamento para desenvolver um robô para mercado forex com: regra de coloração; Cruzamento de duas médias moveis tillson; confirmação no macd; com quantidade de operações diarias que eu possa controlar o horário para operar
I need a programmer who can take a ready-made and free BOT that I downloaded for MT5 and do the same and make it work on any currency pair, especially the Brazilian index. -- Preciso de um programador que pegue um BOT já pronto e grátis que baixei para MT5 e faça igual e faça funcionar em qualquer par de moedas, principalmente no índice brasileiro
Procuro programador para ajustes em EA
30 - 50 USD
Procuro programador para fazer ajustes em EA que já tenho, basicamente seriam ajustes no contador de mantingale que não está funcionando direito e em algumas entradas que entram antes do fechamento do candle
Olá, comunidade! Estou procurando um programador experiente em MQL5 para me ajudar a desenvolver um robô do zero , baseado no comportamento de um expert advisor (EA) que utilizo atualmente. Tenho acesso a dados de execução do robô em backtest, bem como diversos exemplos do seu funcionamento na prática (ordens abertas, horários, SL/TP, tipos de entrada, etc.). A ideia é reproduzir a lógica e comportamento observados
Eu já utilizo um robô na plataforma BA. É um indicador com automação baseado no Canal de Keltner, onde o box quando vai pra fora do canal ele indica que absorveu fora, ele aguarda o box que fecha para dentro do canal e indica que absorveu dentro, caso o próximo box feche para dentro ele confirma a compra ou venda. Além disso, preciso de opção de apenas comprar ou apenas vender; e outra com as duas opções de compra e
EA de Parada em Média Móvel
30 - 100 USD
Estratégia com código aberto : • Sinal de negociação média móvel de 200: Após o último preço de negociação(se disponível) ficar igual(será necessário verificar último last price para verificar sentido) ou ficar maior(sinal de compra) ou ficar menor(sinal de venda) que a média móvel de 200 abrir uma ordem a mercado no sentido do sinal. Deverá ser realizado no máximo mais 3 entradas caso tenha atingido o Take Profit 1
Informações sobre o projeto
Orçamento
30 - 200 USD
Desenvolvedor
27
- 180
USD
Prazo
de 1 para 30 dias