Ajuda na codificação - página 333

 

Apenas uma observação :

Código como este :

DayLow = iff(dia de mês != dia de mês[1], baixo, min(baixo, nz(DayLow[1]))

Meios : DayLow é um mínimo de um dia atual ou um dia anterior mais baixo )mesmo para os altos). Agora, parece inofensivo quando descrito, mas se você pensar no que significa "o dia anterior mais baixo", logo entenderá que está levando em conta todas as barras do gráfico. Esse é o mesmo erro que alguns indicadores de passos tiveram, que Mark Jurik fez em seu cálculo de um dos estocásticos (eu então o chamei de "estocástico de comprimento infinito") e alguns outros indicadores têm ... e isso leva a duas coisas: deformação dos dados calculados (baixos e altos são sempre apenas mais baixos ou apenas mais altos, nunca o inverso) e finalmente repintura (quando você muda os quadros de tempo ou símbolos, algumas barras que antes eram as mais antigas são perdidas, e que podem influenciar o resultado final)

 

Fiz uma tentativa. Não tenho muito tempo agora, portanto, sinta-se livre para corrigi-lo.

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

//| Magarto |

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

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DimGray

double all4[];

double ma[];

double maslopeB[];

double candleOver[];

double bothElder[];

int init()

{

IndicatorBuffers(5);

SetIndexBuffer(0,all4);

SetIndexBuffer(1,ma);

SetIndexBuffer(2,maslopeB);

SetIndexBuffer(3,candleOver);

SetIndexBuffer(4,bothElder);

IndicatorShortName("Magarto");

return(0);

}

int deinit()

{

return(0);

}

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

//| |

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

int start()

{

int counted_bars = IndicatorCounted();

int i,limit;

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit = MathMin(Bars-counted_bars,Bars-1);

for(i=limit; i>=0; i--)

{

ma = iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,i);

double maslope = ma - ma;

if(maslope < 0) maslopeB = -1;

else if(maslope > 0) maslopeB = 1;

else maslopeB = 0;

if(((Open + Close + High + Low) / 4) > ma) candleOver = 1; else candleOver = -1;

double xMA = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i);

double DayLow = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayLow = iLow(NULL,PERIOD_D1,i);

else DayLow = MathMin(iLow(NULL,PERIOD_D1,i),iLow(NULL,PERIOD_D1,i+1));

double bearpower = DayLow - xMA;

double DayHigh = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayHigh = iHigh(NULL,PERIOD_D1,i);

else DayHigh = MathMax(iHigh(NULL,PERIOD_D1,i),iHigh(NULL,PERIOD_D1,i+1));

double bullpower = DayHigh - xMA;

if (bearpower > 0 && bullpower > 0) bothElder = 1;

else if(bearpower < 0 && bullpower < 0) bothElder = -1;

else bothElder = 0;

all4 = maslopeB + candleOver + bothElder;

}

return(0);

}

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

//| |

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

 

Oi, eu só queria perguntar uma coisa que está em minha mente há muito tempo sobre indicadores de múltiplos períodos de tempo.

Olhe para a foto: Este é um gráfico de barras de variação de 6 pinos de dow jones com indicador blau ergodic, eu realcei o momento daquele sinal de venda. Ele ocorre no final daquela vela. Esta vela se abre às 14,43 e se fecha às 14,57.

Tracei o indicador no gráfico de barras de variação 2 pip, com os mesmos ajustes, apontando-o no gráfico de barras de variação 6 pip.

Ele mostra o início do sinal de venda quando a vela de 6 pip chart ainda não está fechada. Eu sei que este é o comportamento do indicador NORMAL mtf, não poderia ser de outra forma.

Meu objetivo é apenas criar mais 2 cores, rosa claro para sinais de venda e verde claro para sinais de compra quando a vela de tf mais alta ainda não está fechada.

Portanto, deveria ser assim:

Minha pergunta é: é possível fazer isso? Como devo abordar a coisa?

obrigado

Arquivos anexados:
my.jpg  114 kb
2_pip.jpg  102 kb
6_pip.jpg  87 kb
 
thefxpros:
Oi, eu só queria perguntar uma coisa que está em minha mente há muito tempo sobre indicadores de múltiplos períodos de tempo.

Olhe para a foto: Este é um gráfico de barras de variação de 6 pip jones com indicador blau ergodic, eu realcei o momento daquele sinal de venda. Ele ocorre no final daquela vela. Esta vela se abre às 14,43 e se fecha às 14,57.

Tracei o indicador no gráfico de barras de variação 2 pip, com os mesmos ajustes, apontando-o no gráfico de barras de variação 6 pip.

Ele mostra o início do sinal de venda quando a vela de 6 pip chart ainda não está fechada. Eu sei que este é o comportamento do indicador NORMAL mtf, não poderia ser de outra forma.

Meu objetivo é apenas criar mais 2 cores, rosa claro para sinais de venda e verde claro para sinais de compra quando a vela de tf mais alta ainda não está fechada.

Portanto, deveria ser assim:

Minha pergunta é: é possível fazer isso? Como devo abordar a coisa?

obrigado

Pode ser feito - basta adicionar mais 2 amortecedores para a barra atual

 
assassin:
Fui enviado o primeiro link para isto

se você passou para a função com o cursor, você verá o que é

como este

mladen:
Apenas uma observação :

Código como este :

DayLow = iff(dia de mês != dia de mês[1], baixo, min(baixo, nz(DayLow[1]))

Meios : DayLow é um mínimo de um dia atual ou um dia anterior mais baixo )mesmo para os altos). Agora, parece inofensivo quando descrito, mas se você pensar no que significa "o dia anterior mais baixo", logo entenderá que está levando em conta todas as barras do gráfico. Esse é o mesmo erro que alguns indicadores de passos tiveram, que Mark Jurik fez em seu cálculo de um dos estocásticos (eu então o chamei de "estocástico de comprimento infinito") e alguns outros indicadores têm ... e isso leva a duas coisas: deformação dos dados calculados (baixos e altos são sempre apenas mais baixos ou apenas mais altos, nunca o inverso) e finalmente repintura (quando você muda os quadros de tempo ou símbolos, algumas barras que antes eram as mais antigas são perdidas, e que podem influenciar o resultado final)
herói:
Eu tentei. Não tenho muito tempo agora, portanto, sinta-se à vontade para corrigi-lo.

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

//| Magarto |

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

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DimGray

double all4[];

double ma[];

double maslopeB[];

double candleOver[];

double bothElder[];

int init()

{

IndicatorBuffers(5);

SetIndexBuffer(0,all4);

SetIndexBuffer(1,ma);

SetIndexBuffer(2,maslopeB);

SetIndexBuffer(3,candleOver);

SetIndexBuffer(4,bothElder);

IndicatorShortName("Magarto");

return(0);

}

int deinit()

{

return(0);

}

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

//| |

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

int start()

{

int counted_bars = IndicatorCounted();

int i,limit;

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit = MathMin(Bars-counted_bars,Bars-1);

for(i=limit; i>=0; i--)

{

ma = iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,i);

double maslope = ma - ma;

if(maslope < 0) maslopeB = -1;

else if(maslope > 0) maslopeB = 1;

else maslopeB = 0;

if(((Open + Close + High + Low) / 4) > ma) candleOver = 1; else candleOver = -1;

double xMA = iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,i);

double DayLow = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayLow = iLow(NULL,PERIOD_D1,i);

else DayLow = MathMin(iLow(NULL,PERIOD_D1,i),iLow(NULL,PERIOD_D1,i+1));

double bearpower = DayLow - xMA;

double DayHigh = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayHigh = iHigh(NULL,PERIOD_D1,i);

else DayHigh = MathMax(iHigh(NULL,PERIOD_D1,i),iHigh(NULL,PERIOD_D1,i+1));

double bullpower = DayHigh - xMA;

if (bearpower > 0 && bullpower > 0) bothElder = 1;

else if(bearpower < 0 && bullpower < 0) bothElder = -1;

else bothElder = 0;

all4 = maslopeB + candleOver + bothElder;

}

return(0);

}

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

//| |

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

Bom dia a todos

Primeiro quero pedir desculpas, por não estar atento ao trabalho deles, mia é um pedido e não tenho observado suas perguntas

Magarto é um usuário espanhol como você disse mladen

A plataforma de trabalho usando e você já viu

Estou tentando traduzir sua estratégia para a MQL4

Mas meu nível de programação é muito básico

Quero agradecer muito este desenvolvimento

Posso perguntar, por favor, se você pode incluir os pontos quando o indicador atingir as extremidades

Visualizar algo assim

Mais uma vez, muito obrigado.

Um abraço para todos fuerte

Hermo

Arquivos anexados:
 
Hermo:
Bom dia a todos

Primeiro quero pedir desculpas, por não estar atento ao trabalho deles, mia é um pedido e não tenho observado suas perguntas

Magarto é um usuário espanhol como você disse mladen

A plataforma de trabalho usando e você já viu

Estou tentando traduzir sua estratégia para a MQL4

Mas meu nível de programação é muito básico

Quero agradecer muito este desenvolvimento

Posso perguntar, por favor, se você pode incluir os pontos quando o indicador atingir as extremidades

Visualizar algo assim

Mais uma vez, muito obrigado.

Um abraço para todos fuerte

Hermo

Pronto, já corrigi algumas coisas. O código parece o mesmo que o original, mas em outro período de tempo que não o diário, os valores de resultado parecem diferentes do que na visão comercial. Não tenho certeza se isto se deve a diferenças entre o tradingview e o MT4 ou a um erro. Como usa altos e baixos de velas, eu diria que é devido a diferenças, porque as velas dificilmente são as mesmas de uma plataforma para outra. De qualquer forma, acho que não posso fazer melhor.

Arquivos anexados:
magarto.mq4  4 kb
 
airquest:
Pronto, já corrigi algumas coisas. O código parece o mesmo que o original, mas em outro período de tempo que não o diário, os valores do resultado parecem diferentes do que na visão comercial. Não tenho certeza se isto se deve a diferenças entre o tradingview e o MT4 ou a um erro. Como usa altos e baixos de velas, eu diria que é devido a diferenças, porque as velas dificilmente são as mesmas de uma plataforma para outra. De qualquer forma, acho que não posso fazer melhor.

bom dia

Muito obrigado por seu trabalho e dedicação

O indicador funciona perfeitamente agora

Mais uma vez, muito obrigado

ótimo trabalho

Com sua permissão, pedirei que inclua um aviso na seção correspondente.

Cordiais cumprimentos.

Hermo.

 

por favor me ajude......

spikebars_v3.ex4spikebars_v3.mq4Hi Todos, espero que alguém possa me ajudar a definir meu conselheiro especialista em mt4.

com um indicador de barra de espiga que mede o tamanho do corpo do candelabro.

Gostaria que a ea abrisse uma posição de compra ou venda com base no tamanho do corpo do candelabro.

ex; compre quando= o castiçal aparece com o tamanho de 30 pips(a ser ajustável).

com batente ajustável e ter lucro. e tamanho da posição ajustável.

vender quando= candelabro de urso aparece com o tamanho de ex.30 pips(a ser ajustável)

com batente regulável e com tamanho de posição ajustável.

Portanto, sou capaz de ajustar o comércio de acordo com a análise atual e deixar o comércio de ea para mim.

Espero que qualquer pessoa que seja gentil possa me ajudar, por favor, porque sou um novato.

Muito obrigado!

Arquivos anexados:
 

Olá a todos, espero que alguém possa me ajudar a definir meu consultor especialista em mt4, mas não sou bom em computação.

com um indicador de barra de espiga que mede o tamanho do corpo do candelabro.

Gostaria que a ea abrisse uma posição de compra ou venda com base no tamanho do corpo do candelabro.

ex; compre quando= o castiçal aparece com o tamanho de 30 pips(a ser ajustável).

com batente ajustável e ter lucro. e tamanho da posição ajustável.

vender quando= candelabro de urso aparece com o tamanho de ex.30 pips(a ser ajustável)

com batente regulável e com tamanho de posição ajustável.

Portanto, sou capaz de ajustar o comércio de acordo com a análise atual e deixar o comércio de ea para mim.

Espero que qualquer pessoa que seja gentil possa me ajudar, por favor, porque sou um novato.

Muito obrigado!

 
faremie:
Olá a todos, espero que alguém possa me ajudar a definir meu consultor especialista em mt4, mas não sou bom em informática.

com um indicador de barra de espiga que mede o tamanho do corpo do candelabro.

Gostaria que a ea abrisse uma posição de compra ou venda com base no tamanho do corpo do candelabro.

ex; compre quando= o castiçal aparece com o tamanho de 30 pips(a ser ajustável).

com batente ajustável e ter lucro. e tamanho da posição ajustável.

vender quando= candelabro de urso aparece com o tamanho de ex.30 pips(a ser ajustável)

com batente regulável e com tamanho de posição ajustável.

Portanto, sou capaz de ajustar o comércio de acordo com a análise atual e deixar o comércio de ea para mim.

Espero que qualquer pessoa que seja gentil possa me ajudar, por favor, porque sou um novato.

Muito obrigado!

faremie

Parece que o indicador de que você está falando não está anexado. Você se importaria de anexá-lo?