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
ican usar lwma então se eu quiser que o período seja 30 no casco o que devo colocar na tabela dois ma ou apenas um com o quanto o período não sou bom em matemática e muito obrigado ao homem pelo seu esforço
zoroxzyad
Você não pode usar apenas a média móvel. Você deve usar a fórmula do correio antes de
Algum manual para o novo metatrader 4 ainda?
Ou será que eles alguma vez farão um?
Qualquer manual para o novo metatrader 4 ainda?ou eles alguma vez farão um?
Que eu saiba, não. Suponho que haverá alguns (em algum momento de desenvolvimento)
Mladen, anexado é um indicador que você modificou para exibir sinais cruzados no gráfico principal.
Este código é da nova versão...
arrDn[CB] = EMPTY_VALUE;
state[CB] = state[CB+1];
if (TrendBuffer[CB]>LoBuffer[CB]) state[CB] = 1;
if (TrendBuffer[CB]<LoBuffer[CB]) state[CB] = -1;
if (state[CB]!=state[CB+1])
{
if (state[CB]== 1) arrUp[CB] = Low[CB] -iATR(NULL,0,10,CB)/2.0;
if (state[CB]==-1) arrDn[CB] = High[CB]+iATR(NULL,0,10,CB)/2.0;
}Existe uma maneira fácil de explicar como este código insere os sinais?
Obrigado.
Mladen, anexado é um indicador que você modificou para exibir sinais cruzados no gráfico principal.
Este código é da nova versão...
arrDn[CB] = EMPTY_VALUE;
state[CB] = state[CB+1];
if (TrendBuffer[CB]>LoBuffer[CB]) state[CB] = 1;
if (TrendBuffer[CB]<LoBuffer[CB]) state[CB] = -1;
if (state[CB]!=state[CB+1])
{
if (state[CB]== 1) arrUp[CB] = Low[CB] -iATR(NULL,0,10,CB)/2.0;
if (state[CB]==-1) arrDn[CB] = High[CB]+iATR(NULL,0,10,CB)/2.0;
}Existe uma maneira fácil de explicar como este código insere os sinais?
Obrigado.Michael
Procura uma cruz de valores em dois amortecedores: TrendBuffer e LoBuffer. Marca qual é o estado atual dos dois : se TrendBuffer > LoBuffer define o estado como 1 e se TrendBuffer < LoBuffer define o estado como -1.
Agora, quando o estado da barra atual é diferente do estado da barra anterior, isso significa que há uma cruz. E então ele desenha e seta no gráfico
Também professor problemático novamente, por favor coloque este indicador convertido em indicadores MT4, obrigado!
colorbars_hlc.mq5
Michael
Ele está procurando uma cruz de valores em dois amortecedores: TrendBuffer e LoBuffer. Marca qual é o estado atual dos dois : se TrendBuffer > LoBuffer define o estado como 1 e se TrendBuffer < LoBuffer define o estado como -1.
Agora, quando o estado da barra atual é diferente do estado da barra anterior, isso significa que há uma cruz. E então ela desenha e seta no gráficoOK, isso explica o TrendBuffer e LoBuffer.
Mas como funcionam o arrUp e o arrDn?
Por que os sinais aparecem em certas velas, e não em todas as velas.
Obrigado novamente.
OK, isso explica a TrendBuffer e LoBuffer.
Mas como funcionam o arrUp e o arrDn?
Por que os sinais aparecem em certas velas, e não em todas as velas.
Mais uma vez, obrigado.michael
imagine uma seqüência como esta (1 quando TrendBuffer > LoBuffer, -1 quando TrendBuffer < LoBuffer)
11111111-1-1-1-1-1-1-1-111111111
As flechas devem ser desenhadas somente quando 1 se torna -1 ou quando -1 se torna 1 (quando o "estado" muda). É por isso que existe uma linha que verifica isso (esta linha : se (estado[CB] !=estado[CB+1]) ). Portanto, quando o estado muda, a seta é desenhada, caso contrário, a seta não precisa ser desenhada de forma alguma
Hey mladen,
Espero que você tenha tempo tão perto do final do ano.
O código abaixo tem relação com a última pergunta feita a mim. Ele segue 0,8 pips para um pedido após o objetivo de 2 pips a mais.
Mas como posso mudá-lo para que ele verifique todos os pedidos e trilhas para eles individualmente?
Muito obrigado! Ótimo trabalho que você faz aqui.
int start()
{
//----
if (OrdersTotal() == 0) {
isStopLoss = false;
}
for(int i=0; i<=OrdersTotal(); i++) {
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) {
continue;
}
if(OrdersTotal() == 0) {
continue;
}
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(isStopLoss == true) {
if(OrderType() == OP_BUY) {
if(iClose(Symbol(), 0, 0) >= (OrderOpenPrice()+inProfitStopLoss*Point)) { // Zieht bei 2.0 Pips nach! - 200 = 2.0 Pips
if(isTrailing == true) {
if(iClose(Symbol(), 0, 0) >= (lastStopLoss+trailingStop)) {
OrderModify(OrderTicket(), OrderOpenPrice(), (lastStopLoss+trailingStop), 0,0,0);
lastStopLoss = OrderStopLoss();
//isTrailing = true;
continue;
}
}
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+inProfitStopLoss*Point,0,0,0);
if(OrderStopLoss() >= OrderOpenPrice()) {
isTrailing = true;
}
lastStopLoss = OrderStopLoss();
}
} else if(OrderType() == OP_SELL) {
if(iClose(Symbol(), 0, 0) <= (OrderOpenPrice()-inProfitStopLoss*Point)) {
if(isTrailing == true) {
if(iClose(Symbol(), 0, 0) <= (lastStopLoss-trailingStop)) {
OrderModify(OrderTicket(), OrderOpenPrice(), (lastStopLoss-trailingStop), 0,0,0);
lastStopLoss = OrderStopLoss();
//isTrailing = true;
continue;
}
}
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-inProfitStopLoss*Point,0,0,0); // 200 ursprünglich
if(OrderStopLoss() <= OrderOpenPrice()) {
isTrailing = true;
}
lastStopLoss = OrderStopLoss();
}
}
lastStopLoss = OrderStopLoss();
continue;
}
if(OrderType() == OP_BUY) {
isStopLoss = true;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-initialStopLoss*Point,0,0,0);
} else if(OrderType() == OP_SELL) {
isStopLoss = true;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+initialStopLoss*Point,0,0,0);
}
lastStopLoss = OrderStopLoss();
}
//----
return(0);
}Hey mladen,
Espero que você tenha tempo tão perto do final do ano.
O código abaixo tem relação com a última pergunta feita a mim. Ele segue 0,8 pips para um pedido após o objetivo de 2 pips a mais.
Mas como posso mudá-lo para que ele verifique todos os pedidos e trilhas para eles individualmente?
Muito obrigado! Ótimo trabalho que você faz aqui.
int start()
{
//----
if (OrdersTotal() == 0) {
isStopLoss = false;
}
for(int i=0; i<=OrdersTotal(); i++) {
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) {
continue;
}
if(OrdersTotal() == 0) {
continue;
}
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(isStopLoss == true) {
if(OrderType() == OP_BUY) {
if(iClose(Symbol(), 0, 0) >= (OrderOpenPrice()+inProfitStopLoss*Point)) { // Zieht bei 2.0 Pips nach! - 200 = 2.0 Pips
if(isTrailing == true) {
if(iClose(Symbol(), 0, 0) >= (lastStopLoss+trailingStop)) {
OrderModify(OrderTicket(), OrderOpenPrice(), (lastStopLoss+trailingStop), 0,0,0);
lastStopLoss = OrderStopLoss();
//isTrailing = true;
continue;
}
}
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+inProfitStopLoss*Point,0,0,0);
if(OrderStopLoss() >= OrderOpenPrice()) {
isTrailing = true;
}
lastStopLoss = OrderStopLoss();
}
} else if(OrderType() == OP_SELL) {
if(iClose(Symbol(), 0, 0) <= (OrderOpenPrice()-inProfitStopLoss*Point)) {
if(isTrailing == true) {
if(iClose(Symbol(), 0, 0) <= (lastStopLoss-trailingStop)) {
OrderModify(OrderTicket(), OrderOpenPrice(), (lastStopLoss-trailingStop), 0,0,0);
lastStopLoss = OrderStopLoss();
//isTrailing = true;
continue;
}
}
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-inProfitStopLoss*Point,0,0,0); // 200 ursprünglich
if(OrderStopLoss() <= OrderOpenPrice()) {
isTrailing = true;
}
lastStopLoss = OrderStopLoss();
}
}
lastStopLoss = OrderStopLoss();
continue;
}
if(OrderType() == OP_BUY) {
isStopLoss = true;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-initialStopLoss*Point,0,0,0);
} else if(OrderType() == OP_SELL) {
isStopLoss = true;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+initialStopLoss*Point,0,0,0);
}
lastStopLoss = OrderStopLoss();
}
//----
return(0);
}arroganzmaschine
Verifique a forma como as paradas de arrasto são gerenciadas na EA a partir deste post: https: //www.mql5.com/en/forum/181334. Acho que ela pode ajudá-lo, pois tem todos os elementos (incluindo a verificação de erros) necessários para lidar com a perda das paradas de reboque.