Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Espero que esta tela mostre exatamente o que eu quero :)
Se você estiver usando HighLowCandle > 0, então ela está ausente em uma vela fechada.
Defina o UseBarDirection para true e verifique então
Sim, eu o tenho em configurações. Existem minhas configurações que testei
Meybe em código, há algo errado. Você poderia verificar lá dentro?
Existe alguma forma simples de acessar os dados indicadores MT5 para uma exibição em gráficos. Sei que inicialmente quando o MT5 saiu pela primeira vez o código era bastante complicado para apenas um indicador simples e estou esperançoso que com a última versão do MT5 algo possa ter mudado?
Por exemplo, se eu quiser mostrar uma cruz de MA na exibição do objeto do gráfico com o MT4 que eu uso
double slow_MA = iMA(Symbol(),0,100,0,MA_MODE,MA_PRICE,0);
double fast_MA = iMA(Symbol(),0,35,0,MA_MODE,MA_PRICE,0);
se (ma_fast > ma_slow){ col = clrLime;}
if (ma_fast < ma_slow) {col = clrRed;}
else {col = clrGray;}
existe algum equivalente simples no MT5? ou tenho que escrever linhas de código indefinidas para acessar estas informações?
Olá cja
Primeiro para agradecer por sua visita de volta ao TSD em 2017, depois Feliz ano novo para você, pois você é muito raro visitar o TSD, mas muito velho, membro sênior e especialista :)
cumprimentos
Estou tentando mudar esta rotina de Trailing com Step.
Preciso sair de uma parada e não da entrada de compra/venda.
por exemplo: (operação de compra)
StopLoss: 250 (em pontos)
Traling :150 (em pontos)
TralingStep: 50 (em pontos)
BUY Entrance=> 1000
StopLoss=>750 (=1000-250)
Primeira mudança de preço) Preço mudou para: 1150
(Não preciso disto... ;-( )
Trailing is moving my stoploss to "buy_entrance" =>1000
(Mas preciso disto)
Trailing should move my stoploss to => 800 (=StopLoss+Trailingstep)
Second Price Change) Preço movido para: 1150 1300
Trailing show deve ser movido para => 950 (=StopLoss+Trailingstep)
o código atual usa o trailing and trailing step mas eu preciso modificá-lo...
quando (preço movido) o trailing in points é alcançado e ele usa o trailing step para mover o stop loss mas o código atual
move o stoploss para o ponto de entrada da operação (e eu não quero isso)
Eu preciso:
quando COMPRAR é aberto: se o trilho for alcançado, o passo do trilho deve ser subtraído do verdadeiro stoploss. (NewStopLoss = LastStoploss - TrailingStep)
quando a VENDA é aberta: se o rastro for alcançado , a etapa de rastro deve ser adicionada a partir do stoploss real. (NewStopLoss = LastStoploss +TrailingStep)
#include <Trade/SymbolInfo.mqh>
#include <Trade/PositionInfo.mqh>
CTrade Trade;
CSymbolInfo Sym;
CPositionInfo Pos;
int Trailing = 150;
int TrailingStep = 25;
void fSimpleTrailingStep(){ //mt5
if(Trailing<=0){
return;
}
if(!Pos.Select(_Symbol)){
return;
}
if(!Sym.RefreshRates()){
return;
}
double nsl,tmsl,psl,newstop;
switch(Pos.PositionType()){
case POSITION_TYPE_BUY:
nsl=Sym.NormalizePrice(Sym.Bid()-_Point*Trailing);
if(nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
//if(nsl>Sym.NormalizePrice(Pos.StopLoss())){
if(nsl>=Sym.NormalizePrice(Pos.StopLoss()+_Point*TrailingStep)){ //////////////
//tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
if(nsl<tmsl){
//Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
newstop=Sym.NormalizePrice(Pos.StopLoss()+_Point*TrailingStep);
Trade.PositionModify(_Symbol,newstop,Pos.TakeProfit());
Print ("(BUY) Trailing :"+Pos.StopLoss());
}
}
}
break;
case POSITION_TYPE_SELL:
nsl=Sym.NormalizePrice(Sym.Ask()+_Point*Trailing);
//if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())){
if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())-_Point*TrailingStep){ //////////////
psl=Sym.NormalizePrice(Pos.StopLoss());
if(nsl<psl || psl==0){
tmsl=Sym.NormalizePrice(Sym.Ask()+_Point*Sym.StopsLevel());
if(nsl>tmsl){
newstop=Sym.NormalizePrice(Pos.StopLoss()-_Point*TrailingStep);
//Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
Trade.PositionModify(_Symbol,newstop,Pos.TakeProfit());
Print ("(SELL) Trailing :"+Pos.StopLoss());
}
}
}
break;
}
}
Estou tentando mudar esta rotina de Trailing com Step.
Preciso sair de uma parada e não da entrada de compra/venda.
por exemplo: (operação de compra)
StopLoss: 250 (em pontos)
Traling :150 (em pontos)
TralingStep: 50 (em pontos)
===========
COMPRAR Entrada=> 1000
StopLoss=>750 (=1000-250)
================
Primeira mudança de preço) Preço mudou para: 1150
(Eu não preciso disto... ;-( )
Trailing is moving my stoploss to "buy_entrance" =>1000
(Mas eu preciso disto)
O trailing deve mover meu stoploss para => 800 (=StopLoss+Trailingstep)
Segunda Alteração de Preço) Preço mudou para: 1300
Trailing show ser movido para=> 950 (=StopLoss+Trailingstep)
o código atual usa o passo de fuga e o passo de fuga, mas preciso modificá-lo...
quando (preço movido) o trailing em pontos é alcançado e ele usa o trailing step para mover o stop loss mas o código real
mova o stoploss para o ponto de entrada da operação (e eu não quero isso)
Eu preciso:
quando COMPRAR é aberto: se a trilha for alcançada, a etapa de trilha deve ser subtraída da perda de carga real. (NewStopLoss = LastStoploss - TrailingStep)
quando a VENDA é aberta: se a trilha for alcançada, a etapa de trilha deve ser adicionada a partir do stoploss real. (NewStopLoss = LastStoploss +TrailingStep)
#include <Trade/SymbolInfo.mqh>
#include <Trade/PositionInfo.mqh>
CTrade Trade;
CSymbolInfo Sym;
CPositionInfo Pos;
int Trailing = 150;
int TrailingStep = 25;
void fSimpleTrailingStep(){ //mt5
if(Trailing<=0){
return;
}
if(!Pos.Select(_Symbol)){
return;
}
if(!Sym.RefreshRates()){
return;
}
double nsl,tmsl,psl,newstop;
switch(Pos.PositionType()){
case POSITION_TYPE_BUY:
nsl=Sym.NormalizePrice(Sym.Bid()-_Point*Trailing);
if(nsl>=Sym.NormalizePrice(Pos.PriceOpen())){
//if(nsl>Sym.NormalizePrice(Pos.StopLoss())){
if(nsl>=Sym.NormalizePrice(Pos.StopLoss()+_Point*TrailingStep)){ //////////////
//tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
tmsl=Sym.NormalizePrice(Sym.Bid()-_Point*Sym.StopsLevel());
if(nsl<tmsl){
//Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
newstop=Sym.NormalizePrice(Pos.StopLoss()+_Point*TrailingStep);
Trade.PositionModify(_Symbol,newstop,Pos.TakeProfit());
Print ("(BUY) Trailing :"+Pos.StopLoss());
}
}
}
break;
case POSITION_TYPE_SELL:
nsl=Sym.NormalizePrice(Sym.Ask()+_Point*Trailing);
//if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())){
if(nsl<=Sym.NormalizePrice(Pos.PriceOpen())-_Point*TrailingStep){ //////////////
psl=Sym.NormalizePrice(Pos.StopLoss());
if(nsl<psl || psl==0){
tmsl=Sym.NormalizePrice(Sym.Ask()+_Point*Sym.StopsLevel());
if(nsl>tmsl){
newstop=Sym.NormalizePrice(Pos.StopLoss()-_Point*TrailingStep);
//Trade.PositionModify(_Symbol,nsl,Pos.TakeProfit());
Trade.PositionModify(_Symbol,newstop,Pos.TakeProfit());
Print ("(SELL) Trailing :"+Pos.StopLoss());
}
}
}
break;
}
}
Caríssimos MLADEN
Timmy e eu estamos tentando jogar (copiar/colar) com uma simples EA com venda/compra básica sobre mudança de tendência, baseada em "médias - mtf - alertas 8,7" , já que ambos zeramos em questões de codificação,plz ajuda e guia,como codificar (icustom) para esta média ver.
com respeito a
double Averages_trend_current = iCustom(NULL,0,"averages - mtf - alerts 8.7",PERIOD_CURRENT,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse);
double Averages_trend_previous = iCustom(NULL,0,"averages - mtf - alerts 8.7",PERIOD_CURRENT,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse+1);
Caríssimos MLADEN
Timmy e eu estamos tentando jogar (copiar/colar) com uma simples EA com venda/compra básica sobre mudança de tendência, baseada em "médias - mtf - alertas 8,7" , já que ambos zeramos em questões de codificação,plz ajuda e guia,como codificar (icustom) para esta média ver.
com respeito a
double Averages_trend_current = iCustom(NULL,0,"averages - mtf - alerts 8.7",PERIOD_CURRENT,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse);
double Averages_trend_previous = iCustom(NULL,0,"averages - mtf - alerts 8.7",PERIOD_CURRENT,AveragePeriod,AveragePrice,AverageMethod,DoubleSmoothedAverage,AdaptiveAverage,FilterPeriod,FilterOn,BarToUse+1);
Algo está errado com os amortecedores, usei amortecedores: 2 para comprar e ambos amortecedores 3 e 4 para vender, mas tudo aciona o tempo todo, tentei usar apenas o amortecedor 2 para comprar e o amortecedor 3 para vender, mas a mesma coisa aconteceu.
Nada de errado com os amortecedores. Usar buffer 9 : 1 para tendência para cima, -1 para tendência para baixo
Prezado Sr. Mladen,
Eu preciso de um indicador histograma para minha estratégia comercial, neste momento eu uso o indicador XB4 e o indicador de estratégia Bandit. mas eles não têm alerta e notificação enviados por e-mail ou para o meu andróide MT4.
você tem um indicador XB4d ndicator modificado que tem alerta enviar e-mail e notificação que envia para o telefone celular androide. se o histograma mudar de cor azul para vermelho, ou vermelho para azul na primeira barra.
e o histograma de tendência do indicador do sistema Bandid, que muda de cor de azul para vermelho, ou vermelho para azul, primeira cor de tendência de mudança.
poderia me ajudar sobre este indicador, Sr. Mladen.
cumprimentos,
Samuel