Ajuda na codificação - página 63

 

Dessa forma, você verifica apenas os oriders com o número mágico especificado (e símbolo)

dasio:
Desta forma eu verifico o pedido que não é aberto com um número mágico especificado, certo? Preciso verificar o pedido com um símbolo específico e um número mágico. Não sei se é importante, mas encontrei o erro no testador de estratégia
 
drofwarc:
Olá a todos,

Eu sei que é possível fazer uma pausa EA entre as negociações, seja usando Sleep() ou gravando um carimbo de tempo e esperando n segundos após o carimbo de tempo antes de permitir outro sinal.

Mas é possível fazer o mesmo para um indicador.

Por exemplo, eu gostaria de poder fazer com que um indicador que traça setas na cruz de duas médias móveis pule n barras após uma cruz antes de traçar outra seta. Em outras palavras, se outra cruz ocorresse antes que n barras tivesse passado, o indicador ignoraria a cruz e não traçaria uma flecha.

Procurei extensivamente para encontrar um indicador que fizesse isso mas não tive nenhuma sorte.

Alguém poderia afixar um indicador que já tenha esta característica para que eu possa estudar o código? Ou talvez me dê um exemplo de código que funcione para esta proposta, para que eu possa tentar implementá-lo.

Muito obrigado,

drofwarc

BUMP!

Oi mladen, eu sei que você está ocupado com tantos pedidos em todo o fórum. Mas eu apreciaria muito se você ao menos me orientasse na direção de uma solução de codificação para isto.

Muito obrigado de antemão.

drofwarc

 

drofwarc

Afunção Sleep() não funciona nos indicadores para que você possa esquecer o cronômetro dos indicadores (se você depende de carrapatos, não pode obter um tempo exato). A partir da contagem: não há problema em codificar. Se você fornecer algum exemplo em que tenha trabalhado do que poderia ser mostrado como contar em casos como este

drofwarc:
BUMP!

Oi mladen, eu sei que você está ocupado com tantos pedidos em todo o fórum. Mas eu apreciaria muito se você ao menos me orientasse na direção de uma solução de codificação para isto.

Muito obrigado de antemão.

drofwarc
 
mladen:
A função drofwarcSleep() não funciona nos indicadores para que você possa esquecer o cronômetro dos indicadores (se você depende de carrapatos, não pode obter uma hora exata). A partir da contagem: não há problema em codificar. Se você fornecer algum exemplo em que tenha trabalhado do que poderia ser mostrado como contar em casos como este

Oi mladen,

Obrigado por responder. Abaixo está o código para um indicador simples que traça uma seta cada vez que o preço se inverte. O que eu quero poder fazer é o seguinte: após o indicador ter encontrado uma configuração válida, ele deve olhar para trás n barras (sendo n ajustável nas configurações) para determinar se um sinal válido estava ou não presente.

Se um sinal válido estiver presente dentro do período de retrocesso, ele não irá traçar uma nova seta com base na configuração válida atual.

Se um sinal válido não estiver presente dentro do período de retrospectiva, ele traçará uma nova seta com base na configuração válida atual.

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

double UpArrowBuffer[];

double DownArrowBuffer[];

///////////Arrows

extern int ArrowSize = 1;

extern int Offset = 100;

extern color UpColor = White;

extern color DnColor = White;

extern color NoSignalColor = DarkGray;

extern int myWingDing1 = 233 ;

extern int myWingDing2 = 234 ;

double Poin;

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

//| Custom indicator initialization function |

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

int init() {

//---- indicator buffers mapping

SetIndexBuffer(0,UpArrowBuffer);

SetIndexBuffer(1,DownArrowBuffer);

//---- drawing settings

SetIndexStyle(0,DRAW_ARROW,0,ArrowSize, UpColor);

SetIndexArrow(0,myWingDing1);

SetIndexStyle(1,DRAW_ARROW,0,ArrowSize, DnColor);

SetIndexArrow(1,myWingDing2);

Poin = Point;

if ((Point == 0.00001) || (Point == 0.001)) Poin *= 10;

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit() {

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start() {

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

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

{

if (Close Open)

{

UpArrowBuffer = Low - Offset*Point;

}

if (Close > Open && Close < Open)

{

DownArrowBuffer = High + Offset*Point;

}

}

return(0);

}

//+------------------------------------------------------------------+*/

Espero que isto esteja claro .

Cordiais cumprimentos,

drofwarc

 

ajuda

alguém pode me ajudar com isto?

quero usar dois "VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION+.mq4" em um gráfico com configuração diferente, mas

quando eu coloco duas, apenas uma caixa de preços mostra. existe uma maneira de poder mostrar ambas as caixas de preços?

 

drofwarc

Em anexo está um indicador modificado que pode contar barras do último sinal do mesmo tipo antes de permitir a exibição de um novo sinal. Aqui está um exemplo com 15 barras de distância definidas :

drofwarc:
Oi mladen,

Obrigado por responder. Abaixo está o código de um indicador simples que traça uma seta cada vez que o preço se inverte. O que eu quero poder fazer é o seguinte: após o indicador ter encontrado uma configuração válida, ele deve olhar para trás n barras (sendo n ajustável nas configurações) para determinar se um sinal válido estava ou não presente.

Se um sinal válido estiver presente dentro do período de retrocesso, ele não irá traçar uma nova seta com base na configuração válida atual.

Se um sinal válido não estiver presente dentro do período de retrospectiva, ele traçará uma nova seta com base na configuração válida atual.

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

double UpArrowBuffer[];

double DownArrowBuffer[];

///////////Arrows

extern int ArrowSize = 1;

extern int Offset = 100;

extern color UpColor = White;

extern color DnColor = White;

extern color NoSignalColor = DarkGray;

extern int myWingDing1 = 233 ;

extern int myWingDing2 = 234 ;

double Poin;

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

//| Custom indicator initialization function |

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

int init() {

//---- indicator buffers mapping

SetIndexBuffer(0,UpArrowBuffer);

SetIndexBuffer(1,DownArrowBuffer);

//---- drawing settings

SetIndexStyle(0,DRAW_ARROW,0,ArrowSize, UpColor);

SetIndexArrow(0,myWingDing1);

SetIndexStyle(1,DRAW_ARROW,0,ArrowSize, DnColor);

SetIndexArrow(1,myWingDing2);

Poin = Point;

if ((Point == 0.00001) || (Point == 0.001)) Poin *= 10;

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit() {

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start() {

int limit;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

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

{

if (Close Open)

{

UpArrowBuffer = Low - Offset*Point;

}

if (Close > Open && Close < Open)

{

DownArrowBuffer = High + Offset*Point;

}

}

return(0);

}

//+------------------------------------------------------------------+*/

Espero que isto esteja claro .

Cordiais cumprimentos,

drofwarc
Arquivos anexados:
test.gif  41 kb
_test.mq4  3 kb
 
ZANKY:
alguém pode me ajudar com isto?

quero usar dois "VoltyChannel_Stop_v2.1_TRO_MODIFIED_VERSION+.mq4" em um gráfico com configuração diferente, mas

quando coloco duas, apenas uma caixa de preços mostra. existe uma maneira de poder mostrar as duas caixas de preços?

Basta mudar a linha 85 com isto e compilá-la, ela deve funcionar como um tipo de número mágico, desde que qualquer uma das entradas seja mudada, a segunda caixa de preço também será carregada.

ftShortName = "tbb "+ símbolo + tChartPeriod +MA_Length + ATR_Length + Kv + MA_Mode +MoneyRisk + MA_Price;

 

Obrigado!

cja

Muito obrigado! Funciona perfeitamente.

 

Olá Mladen. Eu não sei muito inglês, desculpe.

Por favor, ajude-me a fazer estes indicadores quando a linha sobe ou desce em uma cor diferente. Obrigado!

Arquivos anexados:
1234.gif  23 kb
rmi.mq4  5 kb
 
mladen:
drofwarc

Em anexo está um indicador modificado que pode contar barras do último sinal do mesmo tipo antes de permitir a exibição de um novo sinal. Aqui está um exemplo com 15 barras de distância definidas :

Olá mladen,

Obrigado! É exatamente o que eu estava procurando.

O melhor da temporada de férias para você!

drofwarc