Ajuda na codificação - página 406

 
elfural:
Prezados mrtools e mladen

Alguém pode ajudar? Tom Demark Moving Average é um indicador chave dentro da minha estratégia, entretanto, um alarme seria muito útil para quando uma nova prateleira é indicada; eu ficaria muito grato se um alarme pudesse ser codificado no indicador. Aguardo com expectativa a sua gentil assistência.

Muito obrigado

Elfural, adicionou um alerta à versão que você postou, e deseja mostrar-lhe uma versão corrigida pela Mladen que você pode estar interessado a partir daqui: https: //www.mql5.com/en/forum/178551/page2 apenas para o caso de ter adicionado alertas a essa versão também.

 

Olá, pessoal,

Preciso de ajuda para codificar este indicador. É um grande indicador, embora atrase 4-5 velas. Por favor, me ajude.

grail_indic.ex4

Arquivos anexados:
 
mrtools:
Elfural, adicionou um alerta à versão que você postou, e quer mostrar a você uma versão corrigida pela Mladen que você pode estar interessado a partir daqui: https: //www.mql5.com/en/forum/178551/page2 apenas no caso de ter adicionado alertas a essa versão também.

Agora ele faz exatamente o que eu precisava.

Muito obrigado por sua grande ajuda.

 

1 comércio por sinal.Olá pró-codificadores MQL,

Será que alguém poderia me ajudar? Eu gostaria de implementar "um comércio por sinal".

em minha EA. Se a EA atingir sua meta de lucro, pode muito bem ser que a EA abra

outro comércio na mesma direção de tendência. Isto pode levar a um comércio que se perde porque

o sinal está prestes a mudar (por favor, veja as fotos da tela em anexo).

Qual seria a melhor maneira para eu implementar a funcionalidade"uma negociação por sinal"?

É claro que eu poderia aumentar a meta de lucro para evitar que a EA abra outro comércio,

mas esta provavelmente não é a melhor maneira.

Eu tentei implementar isto, mas, o código compila e dá um aviso:

" Verifique a precedência do operador para possíveis erros; use parênteses para esclarecer a precedência".

Qual pode ser a melhor maneira de implementar este recurso?Agradecemos antecipadamente!

extern int maxshorttrades = 1;

maxlongtrades int externos = 1;

//+--------------------------+

//| ORDER Logic / Indicadores |

//+--------------------------+

if(openOrders<=0)

{

duplo CCIFilter = iCCI(NULL,0,CCIPeriod,CCIMethod,0);

double trendc = iCustom(Symbol(),0, "Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trendp = iCustom(Symbol(),0, "Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

//+-----+

//| COMPRAR |

//+-----+

para (i=OrdensTotal()-1;i>=0; i--)

if(OrderType()==OP_BUY<maxlongtrades) break; // Verificar Posição e Longtrades.

{

if(trendc!=trendp)

{

if(trendc===1 && CCIFilter<-80) // código para compra

OpenBuy();

return(0);

}

openOrders++;

}

//+------+

//| SELL |

//+------+

para (i=OrdensTotal()-1;i>=0; i--)

if(OrderType()==OP_SELL<maxshorttrades) break; // Verificar Posição e Shorttrades.

{

if(trendc===-1 && CCIFilter>80) // código para venda

{

OpenSell();

return(0);

}

openOrders++;

}

}

//+-----------------+

//| Fechar Posições |

//+-----------------+

verificação nula CheckForClose()

{

RefreshRates();

duplo CCIFilter_c = iCCI(NULL,0,CCIPeriod,CCIMethod,0);

double trendc_c = iCustom(Symbol(),0, "Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trendp_c = iCustom(Symbol(),0, "Hull moving average 2 strict nmc", "", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

for(int i=0;i<OrdensTotal(); i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) break;

if(OrderMagicNumber()!= MAGIC) continua;

if(OrderSymbol() != s_symbol) continue;

//+-----------+

//| Fechar COMPRA |

//+-----------+

if(trendc_c!=trendp_c) // Verificar tendência

{

if(OrderType()==OP_BUY)

{

if(trendc_c==-1 && CCIFilter_c>80) // SELL e filtro CCI?

{

bool buyClose=OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,clCloseCloseBuy);

if(buyClose==false)

{

int ErrorCode = GetLastError();

string ErrDesc = ErrorDescription(ErrorCode);

string ErrAlert= StringConcatenate("Fechar Pedido de Compra - Erro ",ErrorCode,": ",ErrorDesc);

if(ShowAlerts == true) Alert(ErrAlert);

string ErrLog=StringConcatenate("Bid: ",MarketInfo(s_symbol,MODE_BID)", muitos: ",OrderLots()"," Ticket: ",OrderTicket());

Print(ErrLog);

}

pausa; }

}

}

Arquivos anexados:
signal1.jpg  19 kb
 

Olá!

Alguém poderia me ajudar com o indicador Linear Price Linear? Estou tentando fazer uma versão alterada do mesmo que subtraia o alto do baixo. Se a baixa é maior que a alta ou se a alta é igual ao preço aberto e, portanto, zero (porque não há alta) então a saída deve ser um valor negativo (a linha no indicador deve disparar abaixo do nível 0,00) Agora mesmo permanece um número positivo não importa se a parte alta do castiçal é maior que a parte baixa do castiçal ou não.

Aqui está a versão normal e o indicador de diferença defeituosa.linear_price_bar.zip

linear_price_bartestdiff.mq4

Agradecemos antecipadamente

Arquivos anexados:
 
tfi_markets:

1 comércio por sinal.Olá MQL pró-codificadores,

eu me pergunto se alguém poderia me ajudar.

Eu gostaria de implementar "uma negociação por sinal"

em minha EA.

Se a EA atingir sua meta de lucro, pode ser que a EA abra outro

comércio na mesma direção de tendência

.

Isto pode levar a um comércio em perda porque o

sinal está prestes a mudar (por favor, veja as fotos na tela em anexo).

Qual seria a melhor maneira de eu implementar a funcionalidade "um comércio por sinal"?

eu poderia, é claro, aumentar a meta de lucro para evitar que o EA abra outro comércio,

mas esta provavelmente não é a melhor maneira

.

Obrigado de antemão!

tente isto :

bool Result;

int openedOrders = 0;

for (i=OrdersTotal()-1; i>=0; i--)

{

Result = OrderSelect(i, SELECT_BY_POS,MODE_TRADES);

if (OrderSymbol() != Symbol()) continue;

if (OrderMagicNumber() != MagicNumber) continue;

openedOrders++;

}

if (openedOrders <= 0)

{ .....

 
mrcodix:
Olá!

Alguém poderia me ajudar com o indicador Linear Price Linear? Estou tentando fazer uma versão alterada do mesmo que subtraia o alto do baixo. Se a baixa for maior que a alta ou se a alta for igual ao preço aberto e, portanto, zero (porque não há alta) então a saída deve ser um valor negativo (a linha no indicador deve disparar abaixo do nível 0,00) Agora mesmo permanece um número positivo não importa se a parte alta do castiçal é maior que a parte baixa do castiçal ou não.

Aqui está a versão normal e o indicador de diferença defeituosa.linear_price_bar.zip

linear_price_bartestdiff.mq4

Agradecemos antecipadamente

mrcodix

Baixo nunca pode ser maior a partir do alto da mesma barra

 

Sim eu entendo, mas o que eu gostaria de plotar em meu indicador é a diferença entre ALTO para ABERTO e BAIXO para ABERTO. Se o número absoluto de baixo para abrir for maior do que o número absoluto de alto para abrir, então eu gostaria que a diferença entre esses 2 fosse negativa para que seja traçada sob a linha zero. Então, como faço para que a saída de (Alto - aberto)-(Baixo - aberto) seja negativa quando o último é maior que o primeiro.

Com os melhores cumprimentos

 

Eu já tentei isto

for(i=0; i<Bars; i++)

{

BarH = HighOpen;

BarL = Low-Open;

BarC = Fechado-Aberto;

if(BarC>0) UpDays += 1;

caso contrário if(BarC<0) DownDays +=1;

caso contrário if(BarC==0) NeutralDays +=1;

if(BarL > BarH) ExtMapBuffer7 = 0-(BarH-BarL);

senão se (BarL < BarH) ExtMapBuffer7 =(BarH-BarL);

A saída ainda assim é um número positivo! por favor, ajude.

 
mrcodix:
Sim eu entendo, mas o que eu gostaria de plotar em meu indicador é a diferença entre ALTO para ABERTO e BAIXO para ABERTO. Se o número absoluto de baixo para abrir for maior do que o número absoluto de alto para abrir, então eu gostaria que a diferença entre esses 2 fosse negativa para que seja traçada sob a linha zero. Então, como faço para que a saída de (Alto - aberto)-(Baixo - aberto) seja negativa quando o último for maior que o primeiro?

Não tenho certeza do que você está tentando fazer. Talvez isto ?

Arquivos anexados:
Razão: