![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
você já testou este EA ?
Olá,
Na minha pressa de lhe dar algo para trabalhar, eu perdi algo óbvio. Por favor, modifique sua linha do código que se parece com esta
if(OrderSymbol()==Symbol()||OrderMagicNumber()==MagicNumber)
para
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
Desculpe, foi um lapso. Teria sido uma confusão quando você começou a negociar várias moedas com o mesmo EA e o mesmo Magicnumber.![](https://c.mql5.com/forextsd/smiles/embaressed_smile.png)
De qualquer forma, estou feliz que você esteja indo bem. Bom trabalho e você merece todo o crédito.![](https://c.mql5.com/forextsd/smiles/smile.png)
Olá,
Na minha pressa de lhe dar algo para trabalhar, eu perdi algo óbvio. Por favor, modifique sua linha do código que se parece com esta
if(OrderSymbol()==Symbol()||OrderMagicNumber()==MagicNumber)
para
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
Desculpe, foi um lapso. Teria sido uma confusão quando você começou a negociar várias moedas com o mesmo EA e o mesmo Magicnumber.![](https://c.mql5.com/forextsd/smiles/embaressed_smile.png)
De qualquer forma, estou feliz que você esteja indo bem. Bom trabalho e você merece todo o crédito.que me deixou curioso, mas eu fui com ele...tudo está bem que termina bem...correções concluídas. agora eu posso ver se posso atualizar os GGs![](https://c.mql5.com/forextsd/smiles/regular_smile.png)
GGlongs Build 1.05
Lá isso é melhor.
Graças ao Maji mais uma vez por me orientar através do aprimoramento dos métodos de contagem de pedidos múltiplos e os problemas de manipulação/modificação de pedidos múltiplos, etc.
Isto usa uma nova função de parada móvel, bem como uma nova função de contagem através da passagem.
Eu também trabalhei no Signal_2 que é o que fez a miniatura gráfica anexada abaixo. Este é o principal sinal de Tendência. Eu ainda não trabalhei sobre o sinal de contra-tendência_1 ainda. Mas o sinal_2 é aceitável com estas configurações para redistribuição no gráfico GBP/USD 5m.
Ao testar a versão anterior dos GGlongs, esta manhã, não consegui inserir um sinal claro de compra. Descobri, ao olhar a lógica do sinal na v1.01, que eu realmente tinha tudo misturado pior do que eu pensava. de qualquer forma, o problema resolvido...v1.05 deve ser testado para frente muito melhor agora do que a v1.01. Vou colocar o v1.05 no teste de avanço agora ao lado do v2.11 GGs que ainda não recebeu nenhuma dessas novas características.
Eu noto no gráfico inalterado onde não está modificando nada... não está entrando numa nova série nos calcanhares da última série como sempre fez antes... Eu me pergunto por quê??? Como as mudanças que eu fiz poderiam fazer isso?
Descobri que isso foi porque estraguei a lógica do sinal... mistério resolvido.
estou confuso....
Isto é o que está funcionando bem na GGl.....
{
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)
continue;
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
if(TrailingStopMode && TrailingStop > 0) {
if(Bid - OrderOpenPrice() > Point * TrailingStop || OrderOpenPrice() - Bid >= 0) {
if(OrderStopLoss() < Bid - Point * TrailingStop || OrderStopLoss() == 0) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); //etc.
}//for
}
}
}
} [/PHP]
so....
why doesn't this work in the GGs???
[PHP]int ModifyTrades()
{
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)
continue;
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
if(TrailingStopMode && TrailingStop > 0) {
if((OrderOpenPrice() - Ask) > (Point * TrailingStop || Ask - OrderOpenPrice() >= 0)) {
if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); //etc.
}//for
}
}
}
}como você pode ver no relatório anexo não há nenhuma "modificação" acontecendo...
...venha a pensar nisso....Eu nunca vi NENHUMA atividade de modificação de parada de rastreio em NENHUMA das versões dos relatórios da GG!! O que é isso??? ![](https://c.mql5.com/forextsd/smiles/cry_smile.png)
Meu próximo desafio de codificação...
Quero acrescentar apoio e resistência à lógica da minha EA....
Isto funciona bem para devolver um valor para a maior alta de um número especificado de barras...
double HIGH = High;
double LOW = Low[Lowest (NULL, 0, MODE_LOW, SupportBarsBack, LStartBack)];Ao focar nos GGs. Noto que em cada 145 barras no gráfico de 30 m. há uma maior alta seguida por três sinais de venda de contra-tendência. Eu defino um sinal de contra-tendência de venda como toda vez que o 5ema cruza de acima para abaixo do 18ema que ocorre acima do 150ema. Portanto, o padrão que vejo é que há uma nova alta seguida de sinais de venda.
Observo ainda que o primeiro sinal de venda após uma nova alta não é muito produtivo. O segundo é geralmente mais gratificante e o terceiro etc. é onde ocorrem os movimentos maiores.
Portanto...
Como agora posso gerar sinais sob medida para cada situação, quero personalizar os sinais para executar nestas diferentes ocorrências, tudo em relação à nova alta ou à mais alta do atual período de 145bar.
Os sinais que eu posso lidar com a personalização...
O desafio será localizar o sinal de venda da contra-tendência em relação à maior alta do período atual de 145bar, e contar quantas vezes esse sinal já aconteceu desde a maior alta desse período.
Não tenho certeza de como contar as ocorrências do sinal. Quero dizer, posso contar no gráfico, mas como faço para que o código faça a contagem?
como posso determinar quantas barras de volta na matriz a partir do momento em que recebo o sinal transversal médio móvel de que a maior alta ocorreu?
ok eu vejo como obter o máximo e mínimo de array...isto me dá o número de barra em que o valor ocorre, mas me dá em termos de um número de barra no gráfico...
se eu conseguisse obter o número da barra onde o cruzamento médio móvel acontece, eu poderia subtrair as duas para ver quantas barras de volta o suporte ou a resistência é da ocurência do sinal...
como obter o número da barra do gráfico quando ocorre o sinal da média móvel da cruz?
double HIGH = High;
double LOW = Low[Lowest (NULL, 0, MODE_LOW, SupportBarsBack, LStartBack)];
//support and resistance location
int Hloc = ArrayMaximum(High);
int Lloc = ArrayMinimum(Low);
.
.
.
Print("Order Number: ",OrderTicket() ," ",ResistanceBarsBack," bars back resistance : ",HIGH," @bar",Hloc," & ",SupportBarsBack," bars back support : ",LOW," @bar",Lloc);
[/PHP]
this is what this code is giving me...
[PHP]2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 20 bars back resistance : 1.9284 @bar109 & 20 bars back support : 1.9204 @bar205
2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9223
2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: open #6 sell 0.05 GBPUSD at 1.9223 sl: 1.9270 tp: 1.9118 ok
2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: open #5 sell 0.05 GBPUSD at 1.9223 sl: 1.9270 tp: 1.9118 ok
2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 20 bars back resistance : 1.9224 @bar44 & 20 bars back support : 1.9114 @bar49
2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9146
2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: open #4 sell 0.05 GBPUSD at 1.9146 sl: 1.9193 tp: 1.9041 ok
2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: open #3 sell 0.05 GBPUSD at 1.9146 sl: 1.9193 tp: 1.9041 ok
2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 20 bars back resistance : 1.9186 @bar100 & 20 bars back support : 1.908 @bar15
2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9121
2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: open #2 sell 0.05 GBPUSD at 1.9121 sl: 1.9168 tp: 1.9016 ok
2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: open #1 sell 0.05 GBPUSD at 1.9121 sl: 1.9168 tp: 1.9016 ok
como faço para dar sentido a esses números de barra?
pelo menos as barras de apoio parecem um pouco seqüenciais 15,49,205
o que se passa com as barras de resistência? 100,44,109??? pelo que vale a pena ver no gráfico, a primeira barra de resistência é na verdade a primeira do conjunto de 20 valores e não 100. Como 1=100??
então na verdade as duas primeiras ordens corresponderam ao número de barras para suporte de 15 barras antes da ordem e se as 100 significavam 1 então a resistência ocorreu na 1ª barra da matriz de 20 barras.