Vamos construir um robô simples para Metatrader 5, para usar com Mini Índice / Mini Dòlar e Forex, para usar na Bovespa,B3 e corretoras Forex.
Requisitos do Robô
- Entrar no final da Vela (candle) e tentar lucro no tamanho da vela entre (Open e Close )
- Definir Stop Loss usando 2 vezes o tamanho medindo entre Open e Close do ultimo fechamento
Código Fonte deste robô
// Projeto: Alvo no tamanho da última vela
#include <Trade\Trade.mqh>
CTrade trade;
#define MBid SymbolInfoDouble(_Symbol,SYMBOL_BID)
#define MAsk SymbolInfoDouble(_Symbol,SYMBOL_ASK)
input double InpLote = 1.0; // Lote usado
input int InpMin = 50; // Considerar somnete vela com tamanho mínimo
//+——————————————————————+
// Inicializacao do robÔ
//+——————————————————————+
int OnInit()
{return(INIT_SUCCEEDED);
}//+——————————————————————+
// Terminando robÔ
//+——————————————————————+
void OnDeinit(const int reason)
{
//—
}//+——————————————————————+
// processo em cada tick recebido da corretora
//+——————————————————————+
void OnTick()
{
//—
// Lendo dados do mercado
MqlRates rates[ 2 ];
if( CopyRates(_Symbol,_Period,0,2,rates) !=2 ) { Print(“ERRO Ao copiar informações Rates”); return; }
if( rates[ 1 ].tick_volume == 1 ) // Este o tick indica inicio da vela
{
Print(“*** INICIANDO CANDLE ***”);
if ( PositionsTotal() == 0 ) // Se na tem posição aberta
{
int tamCandleAnt = MathAbs( rates[ 0 ].close – rates[ 0 ].open );Print(“TAMANHO CANDLE ANTERIOR: “+tamCandleAnt);
if ( tamCandleAnt >= InpMin ) // Se tamanho minimo do candle anterior é aceitavel
{if ( rates[ 0 ].close > rates[ 0 ].open )
{
double sl = ( MBid – tamCandleAnt * Point() * 2 );
double tp = ( MAsk + tamCandleAnt * Point() );trade.Buy( InpLote, _Symbol, MAsk, sl, tp, “Up” ); // Abrir comprado
Comment(“Posicao abertta em :”+MAsk );
}
if ( rates[ 0 ].close < rates[ 0 ].open )
{
double sl = ( MAsk + tamCandleAnt * Point() * 2 );
double tp = ( MBid – tamCandleAnt * Point() );trade.Sell( InpLote, _Symbol, MAsk, sl, tp, “Down” ); // Abrir Vendido
Comment(“Posicao abertta em :”+MBid );
}
}
}
}
}
Para usar este robô, basta cliar no ícone EDITOR DE LINGUAGEM METAQUOTES, e então abrir um novo arquivo na pasta EXPERTS e colocar este conteudo,após isto,basta compilar que ele vai aparecer como robô no Metatrader.
Robô testado no dia 04/01/2021:
Data do teste: 04/01/2021
TimeFrame: 5 Minutos
Ativo: Mini Indice da B3