.....
Quando for postar codigo use Alt+S para ficar melhor visivel seu codigo.
Variáveis declaradas no input são do tipo constantes e não pode sem alteradas no decorrer do programa. Alternativa crie uma variável que receba o valor desse input e use a variável ao invés do input.
Tente com o botão direito do mouse sobre o seu gráfico habilitar o Livro de Ofertas(Book).
Com a Seta para cima você compra com a seta para baixo você vende.
Ou pelos botões Vender ou Comprar.
Habilite o Volume de 1 para mini dólar e mini índice.
Quando for postar codigo use Alt+S para ficar melhor visivel seu codigo.
Variáveis declaradas no input são do tipo constantes e não pode sem alteradas no decorrer do programa. Alternativa crie uma variável que receba o valor desse input e use a variável ao invés do input.
Valeu pela, dica, na proxima vou usar o Alt+S e usar o topico correto, rsrsrs, my, bad, então acabei mudando algumas coisa para deixar o input sem precisar mudar.
Obrigado
Boa noite. Eu gostaria de saber se no MT5 existe a possibilidade de se colocar o stop gain fixado? Exemplo 25 pontos.
Antonio,
Você deve estar de sacanagem né? além de você postar em duplicidade em várias postagens a mesma coisa aqui no fórum ainda manda mensagem no privado para este tipo de assunto?
Brincadeira viu...

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Pessoal começei agora com programação, provavelmente essa é uma duvida basica, mas:
Quando tento compilar o meu codigo, ele me retorna que 'NivelA' - constant cannot be modified, porem para mim eu tinha setado o NivelA como uma variavel:
#include <Trade\Trade.mqh>
CTrade trade;
MqlRates rates[];
double openY,highY,lowY,closeY,last;
MqlDateTime diaAtual;
string tendencia;
input ulong magicNum = 123456;//Numero magico
input ulong desvPts = 5;//Desvio
input ENUM_ORDER_TYPE_FILLING preenchimento = ORDER_FILLING_RETURN;//preenchimento da ordem
input double lote = 5.0;//Volume
input double TrigerTS = 5;//Ativacao do Tralling Stop
input double StepTS = 2;//Passo do Tralling Stop
input double StopIni = 5;//Stop inicial
input int horaInicioAbertura = 10;//Hora de Inicio de Abertura de Posições
input int minutoInicioAbertura = 30;//Minuto de Inicio de Abertura de Pisoções
input int horaFimAbertura = 16;//Hora de Encerramento de Abertura de Posições
input int minutoFimAbertura = 45;//Minuto de Encerramento de Abertura de Posições
input int horaInicioFechamento = 17;//Hora de Inicio de Fechamento de Posições
input int minutoInicioFechamento = 20;//Minuto de Inicio de Fechamento de Posições
double PRC;//Preço normalizado
double STL;//StopLoss normalizado
double TKP;//TakeProfit normalizado
double smaArray[];
int smaHandle;
bool posAberta;
bool ordPendente;
bool beAtivo;
MqlTick ultimoTick;
MqlDateTime horaAtual;
input double NivelA = 1.005;
input double MNivelA = -0.995;
input double NivelB = 1.01;
input double MNivelB = -0.99;
input double NivelC = 1.015;
input double MNivelC = -0.985;
input double NivelD = 1.02;
input double MNivelD = -0.98;
input double NivelE = 1.025;
input double MNivelE = -0.975;
int OnInit()
{
trade.SetTypeFilling(preenchimento);
trade.SetDeviationInPoints(desvPts);
trade.SetExpertMagicNumber(magicNum);
if(horaInicioAbertura > horaFimAbertura || horaFimAbertura > horaInicioFechamento)
{
Alert("Inconsistência de Horários de Negociação!");
return(INIT_FAILED);
}
if(horaInicioAbertura == horaFimAbertura && minutoInicioAbertura >= minutoFimAbertura)
{
Alert("Inconsistência de Horários de Negociação!");
return(INIT_FAILED);
}
if(horaFimAbertura == horaInicioFechamento && minutoFimAbertura >= minutoInicioFechamento)
{
Alert("Inconsistência de Horários de Negociação!");
return(INIT_FAILED);
}
ArraySetAsSeries(rates,true);
return(INIT_SUCCEEDED);
}
void OnTick()
{
TimeToStruct(TimeCurrent(), horaAtual);
Comment("Hora Atual: ", horaAtual.hour, "\nMinuto Atual: ", horaAtual.min);
if(CopyRates(_Symbol,PERIOD_D1,0,3,rates)==3)
{
openY=rates[1].open;
highY=rates[1].high;
lowY=rates[1].low;
closeY=rates[1].close;
};
last = SymbolInfoDouble(_Symbol, SYMBOL_LAST);
if(rates[1].close>rates[2].close)
{
tendencia = "A";
if(ultimoTick.last = (NivelA *= closeY))
{
Comment("ok");
}
}
else if(rates[1].close<rates[2].close)
{
tendencia = "B";
}
}
Se alguem puder ajudar e se tiverem material para ser estudado.
Grato,