Ajuda na codificação - página 504

 
candyman752:
esta pobre alma precisa de sua ajuda

Ok. Eu acrescentei de volta a parte das condições de fechamento(anexada). Os erros que aparecem quando o original é compilado é o mesmo que o meu ajustado. Agora de volta às perguntas originais: consegui escrever o código de forma a preencher as condições que estabeleci quando comecei a postar meu pedido sobre isto. Que é comprado no RSI 6 Stoch 16.3.3 EMA 5 acima do nível ema50 acima de 70 e vendido quando

rsi 6 stoch16.3.3 ema5below ema50 nível abaixo de 30. também poderia interpretar as condições de fechamento para mim. o que fiz para corrigir o arquivo foi abrir os arquivos no meta editor e depois fazer com que a tela mostrasse de um lado um arquivo e outro arquivo , de forma azulejada, ao lado dele e apenas ia linha por linha para ver quais linhas estavam faltando ou diferentes. Eu não posso codificar, mas posso tentar decifrar o que alguém fez e por bom senso mudar uma coisa ou duas. você é uma estrela mileaden

Arquivos anexados:
 
candyman752:
Ok. Eu acrescentei de volta a parte das condições de fechamento(anexada). Os erros que aparecem quando o original é compilado é o mesmo que o meu ajustado. Agora de volta às perguntas originais: consegui escrever o código de forma a preencher as condições que estabeleci quando comecei a postar meu pedido sobre isto. O que é comprar no RSI 6 Stoch 16.3.3 EMA 5 acima do nível ema50 acima de 70 e vender quandorsi 6 stoch16.3.3 ema5below nível ema50 abaixo de 30. também poderia interpretar as condições de fechamento para mim. o que fiz para corrigir o arquivo foi abrir os arquivos no meta editor e depois fiz a tela mostrar um arquivo de um lado e outro arquivo, de forma azulejada, ao lado dele e simplesmente fui linha por linha para ver quais linhas estavam faltando ou diferentes. Eu não posso codificar, mas posso tentar decifrar o que alguém fez e por bom senso mudar uma coisa ou duas. você é uma estrela mileaden

doceiro752

Teste a EA. Esses são avisos de compilação, não erros. Independentemente dessas advertências, a EA deve funcionar

 
mladen:
candyman752Teste o EA. Esses são avisos de compilação, não erros. Independentemente dessas advertências, o EA deve funcionar

presumo que seu silêncio ao confirmar é a confirmação de que consegui codificá-lo para fazer o seguinte:RSI 6 stoch 16-3-3 / 5EMA 50EMA.over comprado nível 70 oversold nível 30. Deve comprar quando 5ema se move acima de 50 ema e rsi e stoch estão acima de 70 e deve vender quando 5 ema está abaixo de 50ema e rsi e stoch estão abaixo de 30.

 

Olá madlen, deixe-me colocar meu pedido de outra forma

na EA original, as condições de compra ou venda eram

if(EMA5aEMA10&&RSI1>RSILevel&&&STOS<STOM&&&STOS<Overbought&&&STOM<Overbought)SBUY="true";

if(EMA5a>EMA10a&&&EMA5<EMA10&&&RSI1STOM&&&STOS>Vendido&&&STOM>Vendido)SSEL="true";

Eu então alterei o código da seguinte forma:

if(EMA5aEMA50&&RSI1>RSILevelb&&STOSOverbought&&&STOM>Overbought)SBUY="true";

if(EMA5a>EMA50a&&EMA5<EMA50&&RSI1STOM&&&STOS<Oversold&&&STOM<Oversold)SSEL="true";

RSI levelb=70 RSI levels=30 overbought=70 overbought=70 oversold=30.

A mudança que fiz no código corresponde às condições que declarei anteriormente. comprar quando 5ema rsi acima de 5ema rsi acima de 70 stochastic acima de 70 e vice-versa

 
candyman752:
presumo que seu silêncio ao confirmar é a confirmação de que consegui codificá-lo para fazer o seguinte:RSI 6 stoch 16-3-3 / 5EMA 50EMA.over comprado nível 70 oversold nível 30. Deve comprar quando 5ema se move acima de 50 ema e rsi e stoch estão acima de 70 e deve vender quando 5 ema está abaixo de 50ema e rsi e stoch estão abaixo de 30.

doceiro752

O que eu disse é que a lista que o compilador mostra após a compilação contém apenas avisos que não estão afetando a execução da EA (qualquer EA). Eu não verifiquei a lógica nem testei a EA. É por isso que eu disse que você tem que testá-la.

No que diz respeito ao código, ele vai funcionar. Cabe ao seu trabalho afiná-lo e ajustá-lo quando ele precisar de ajustes.

codificação feliz

 

Codificadores,

Estou tendo alguns problemas com o seguinte código.

Durante muito tempo, estou usando 2 indicadores como filtro. Eles mostram a tendência em um histograma na segunda janela.

Eu tentei criar um terceiro indicador que combina ambos os indicadores em um histograma.

Infelizmente não funciona, chamei ambos os indicadores com a função iCustom e uso o buffer correto. Mas o histograma fica em branco.

Para encontrar o problema, substituí as funções iCustom por uma função iMA. Naquele momento o código funcionou e o histograma mostrou as cores corretas . Portanto, tem algo a ver com as funções do iCustom ou com as declarações do if.

Espero que alguém possa me ajudar.

Obrigado de antemão.

#property copyright ""#property link ""

#property version "1.00"

#property strict

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 LimeGreen

#property indicator_color2 Red

#property indicator_width1 3

#property indicator_width2 3

#property indicator_minimum 0

#property indicator_maximum 1

double Groen[];

double Rood[];

double zibo1g[],zibo1r[],zibo2g[],zibo2r[];

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

//| Custom indicator initialization function |

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

int OnInit()

{

SetIndexBuffer(0,Groen);

SetIndexStyle(0,DRAW_HISTOGRAM);

SetIndexLabel(0,"Groen");

SetIndexBuffer(1,Rood);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexLabel(1,"Rood");

IndicatorShortName("Zibo Combo");

return(INIT_SUCCEEDED);

}

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

//| Custom indicator iteration function |

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

int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[])

{

int counted_bars=IndicatorCounted();

int limit=Bars-counted_bars;

double dResult = 1;

for(int i=0; i<limit; i++){

zibo1g=iCustom(NULL,0,"zibo1",0,i); //green histogram

zibo1r=iCustom(NULL,0,"zibo1",1,i); //red histogram

zibo2g=iCustom(NULL,0,"zibo2",0,i); //green histogram

zibo2r=iCustom(NULL,0,"zibo2",1,i); //red histogram

if(zibo1g != EMPTY_VALUE && zibo2g != EMPTY_VALUE)

Groen = dResult;

else if(zibo1r != EMPTY_VALUE && zibo2r != EMPTY_VALUE)

Rood = dResult;

}

return(rates_total);

}
 

m1-red.mq4

Olá a todos. Preciso de ajuda para fixar este indicador ... na prática preciso adicionar um (MA de 20 períodos) com a mesma função que o existente, e eliminar as caixas de cores, não utilizadas

Eu sempre peço perdão pelo meu inglês ruim

Arquivos anexados:
m1-red.mq4  3 kb
 
xtractalpha:
Codificadores,

Estou tendo alguns problemas com o seguinte código.

Durante muito tempo, estou usando 2 indicadores como filtro. Eles mostram a tendência em um histograma na segunda janela.

Eu tentei criar um terceiro indicador que combina ambos os indicadores em um histograma.

Infelizmente não funciona, chamei ambos os indicadores com a função iCustom e uso o buffer correto. Mas o histograma fica em branco.

Para encontrar o problema, substituí as funções iCustom por uma função iMA. Naquele momento o código funcionou e o histograma mostrou as cores corretas . Portanto, tem algo a ver com as funções do iCustom ou com as declarações do if.

Espero que alguém possa me ajudar.

Obrigado de antemão.

#property copyright ""#property link ""

#property version "1.00"

#property strict

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 LimeGreen

#property indicator_color2 Red

#property indicator_width1 3

#property indicator_width2 3

#property indicator_minimum 0

#property indicator_maximum 1

double Groen[];

double Rood[];

double zibo1g[],zibo1r[],zibo2g[],zibo2r[];

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

//| Custom indicator initialization function |

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

int OnInit()

{

SetIndexBuffer(0,Groen);

SetIndexStyle(0,DRAW_HISTOGRAM);

SetIndexLabel(0,"Groen");

SetIndexBuffer(1,Rood);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexLabel(1,"Rood");

IndicatorShortName("Zibo Combo");

return(INIT_SUCCEEDED);

}

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

//| Custom indicator iteration function |

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

int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[])

{

int counted_bars=IndicatorCounted();

int limit=Bars-counted_bars;

double dResult = 1;

for(int i=0; i<limit; i++){

zibo1g=iCustom(NULL,0,"zibo1",0,i); //green histogram

zibo1r=iCustom(NULL,0,"zibo1",1,i); //red histogram

zibo2g=iCustom(NULL,0,"zibo2",0,i); //green histogram

zibo2r=iCustom(NULL,0,"zibo2",1,i); //red histogram

if(zibo1g != EMPTY_VALUE && zibo2g != EMPTY_VALUE)

Groen = dResult;

else if(zibo1r != EMPTY_VALUE && zibo2r != EMPTY_VALUE)

Rood = dResult;

}

return(rates_total);

}

Suas matrizes zibo1g[],zibo1r[],zibo2g[] e zibo2r[] são sempre matrizes de tamanho zero (elas nunca são inicializadas - redimensionadas para elementos de barra)

É melhor declará-los como amortecedores adicionais se você não estiver familiarizado com arrays em mql

 
morenokosta:
m1-red.mq4

Olá a todos. Preciso de ajuda para fixar este indicador ... na prática preciso adicionar um (MA de 20 períodos) com a mesma função que o existente, e eliminar as caixas de cores, não utilizadas

Eu sempre peço perdão por meu inglês ruim

Não há caixas coloridas na que você anexou. Enfim, tente isto: m1-red_1.mq4

Arquivos anexados:
m1-red_1.mq4  3 kb
 

Obrigado a Mladen por estar sempre disponível.

no post anterior eu estava me perguntando se era possível adicionar outro MA de 20 períodos com a mesma fórmula