Ajuda na codificação - página 227

 
Air92:
Olá Mladen.Você fez a versão deste indicador. Quero pedir para fazer aqui separadamente a média móvel, como no exemplo de outro indicador, se for possível, obrigado.

Air92

Não pode ser feito (já 8 tampões de desenho utilizados - o metatrader 4 não permite mais de 8 tampões de desenho)

 
mladen:
Air92It não pode ser feito (já 8 tampões de desenho utilizados - o metatrader 4 não permite mais de 8 tampões de desenho)

Ok,Mladen.eu entendi.Obrigado

 

Olá, Mladen,

Você poderia por favor converter este MACD MTF indi para um EA, comprar quando macd é verde em qualquer 3 tf, vender quando qualquer três vermelho. fechar o comércio e abrir novo em tendência reversa.

configurações necessárias: trilha, breakeven, sloss, entrada em barra aberta ou fechada, número mágico e tamanho do lote . Em tf inferior funciona bem ! Vai apreciar. Obrigado

Arquivos anexados:
 

Olá, encontrei algo interessante para todos nós no fórum.há este software que pode ajudar a prever a direção da próxima vela.tenho trabalhado neste script mt4 para acrescentar volatilidade a ele, mas não consegui.quero também fazer o alerta para chegar ao final da vela atual e nos dizer a direção da próxima vela sobre a próxima vela sobre a forma.a volatilidade nos dirá o tamanho ou até onde o preço se estenderá.o princípio não era meu.eu o copio de algum lugar.o script está realmente funcionando.quero que um programador como Codergurus e Mladin, por favor, olhe para este script.não está realmente funcionando bem agora.já que o alerta continua colhendo e repintando.

#janela_do_cartão_indicador de propriedade

#property indicator_buffers 2

#indicador de propriedade_color1 Lime

#indicador de propriedade_color2 Vermelho

#largura_do_indicador de propriedade1 4

#largura_do_indicador de propriedade2 4

alertas externos = VERDADEIRO;

duplo CrossUp[];

duplo CrossDown[];

bool CrossedUp = falso;

bool CrossedDown = falso;

int SignalLabeled = 0; // 0: estado inicial; 1: para cima; 2: para baixo.

int upalert=false,downalert=false;

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

//| Função de inicialização do indicador personalizado |

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

int init()

{

//---- indicadores

SetIndexStyle(0,DRAW_ARROW, EMPTY);

SetIndexArrow(0,233);

SetIndexBuffer(0,CrossUp);

SetIndexStyle(1,DRAW_ARROW, VAZIO);

SetIndexArrow(1,234);

SetIndexBuffer(1,CrossDown);

//----

retorno(0);

}

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

//| Função de desinicialização de indicador personalizada |

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

int deinit()

{

//----

//----

retorno(0);

}

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

//| Função de iteração de indicador personalizada |

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

int start(){

int limit,i,contador;

neve dupla;

double p1,p2,p3,p4,p5,p6,p7,p8,p9,p10;

duplo SOT,SOT1,SOT2,SOT3,SOT4,SOT5,SOT6,SOT7,SOT8,SOT9,SOT10;

duplo SOTAV10;

duplo SOTAV2;

duplo Range, AvgRange;

int counted_bars=IndicatorCounted();

//---- verificação de possíveis erros

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

//---- última barra contada será contada novamente

if(counted_bars>0) counted_bars--;

limite=barras_contadas_à_barras;

for(i = 0; i <= limite; i++) {

counter=i;

Faixa=0;

AvgRange=0;

for (counter=i;counter<=i+12;counter+++)

{

AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);

}

Alcance=AvgRange/10;

// preço atual Fechado e Aberto

duplo OpenPricenow = Aberto ;

duplo FecharPricenow = Fechar ;

duplo Volumenow = Volume ;

// vela 1

duplo OpenPrice1 = Aberto ;

duplo FecharPreço1 = Fechar ;

duplo Volume1 = Volume ;

// vela 2

duplo OpenPrice2 = Aberto ;

duplo FecharPreço2 = Fechar ;

duplo Volume2 = Volume ;

// vela 3

duplo OpenPrice3 = Aberto ;

duplo FecharPreço3 = Fechar ;

duplo Volume3 = Volume ;

// vela 4

duplo OpenPrice4 = Aberto ;

duplo FecharPreço4 = Fechar ;

duplo Volume4 = Volume ;

// vela 5

duplo OpenPrice5 = Aberto ;

duplo FecharPreço5 = Fechar ;

duplo Volume5 = Volume ;

// vela 6

duplo OpenPrice6 = Aberto ;

duplo FecharPreço6 = Fechar ;

duplo Volume6=Volume ;

// vela 7

duplo OpenPrice7 = Aberto ;

duplo FecharPreço7 = Fechar ;

duplo Volume7 = Volume ;

// vela 8

duplo OpenPrice8 =Open ;

duplo FecharPreço8 =Fechar ;

duplo Volume8 =Volume;

// vela 9

duplo OpenPrice9 = Aberto ;

duplo FecharPreço9 = Fechar ;

duplo Volume9 = Volume ;

// vela 10

duplo OpenPrice10 =Open;

duplo FecharPreço10=Fechar;

duplo Volume10=Volume;

pnow =(FecharPricenow - AbrirPricenow);

SOT = (neve / Volumenow)*10000;

p1 = (FecharPreço1 - AbrirPreço1);

SOT1= (p1 / Volume1) *10000;

p2 = (ClosePrice2 - OpenPrice2);

SOT2 =(p2/ Volume2) *10000;

p3 =(ClosePrice3 - OpenPrice3);

SOT3 =(p3/Volume3)*10000;

p4=(ClosePrice4 - OpenPrice4);

SOT4=(p4/Volume4)*10000;

p5=(ClosePrice5 - Preço Fechado5 - Preço Aberto5);

SOT5 =(p5/Volume5)*10000;

p6=(ClosePrice6 - OpenPrice6);

SOT6 =(p6/Volume6)*10000;

p7=(ClosePrice7 - OpenPrice7);

SOT7 =(p7 / Volume7)*10000;

p8 =(ClosePrice8 - OpenPrice8);

SOT8=(p8/Volume8)*10000;

p9 =(ClosePrice9-OpenPrice9);

SOT9 =(p9/Volume9)*10000;

p10 =(ClosePrice10 -OpenPrice10);

SOT10 =(p10/Volume10)*10000;

SOTAV10=(SOT1+SOT2+SOT3+SOT4+SOT5+SOT6+SOT7+SOT8+SOT9+SOT10/100*10);

SOTAV2 = (SOTAV10*2);

if ((SOT>SOTAV2)&&(ClosePrice1<OpenPrice1)&&(ClosePricenow<OpenPrice1)){

CrossedUp = verdadeiro;

CrossedDown= falso;

}

senão

if((SOT>SOTAV2)&&(ClosePrice1>OpenPrice1)&&(ClosePricenow>OpenPricenow)){

CrossedUp = falso;

CrossedDown = verdadeiro;

}

if((CrossedUp==verdadeiro)&&(SignalLabeled!=1)){

CrossUp=Low-Range*1,3;

if(i<=2 && Alertas && !upalert)

{

Alerta (Símbolo()," ",Período()," M Preço UP ");

//SendMail("Comprar "+Símbolo()",");

upalert=verdadeiro;

downalert=false;

}

SinalLabelled = 1;

}

if ((CrossedDown == verdadeiro) && (SignalLabeled != 2)) {

CrossDown = Alto + Alcance*1,3;

if(i<=2 && Alertas && !downalert)

{

Alerta (Símbolo()," ",Período(), "M Preço DOWN");

//SendMail("Vender "+Símbolo()",");

downalert=verdadeiro;

upalert=false;

}

SinalLabelled = 2;

}

}

retorno(0);

}

Este é o princípio que guilda este software:

Velocidade do comércio = (Mudança de preço / Volume) por unidade de tempo. = (Fechamento Aberto)/ volume do stick no período padrão.

Se o SoT da vela atual for maior que o dobro do SoT médio do período selecionado, a próxima vela estará na mesma direção da vela atual. (Nossos sinais podem ser dados no fechamento da vela atual).

Cuidado: Se a vela de corrente for seguida por velas da mesma cor 2-3, nenhum sinal deve ser dado. A título de exemplo: Data E/J(Aberto) E/J(Alto) E/J(Baixo) E/J(Fechado) Volume(E/J) Direção Mudança de preço Velocidade 11/06/2012 03:56:00 102.456 102.456 102.456 102.429 102.429 96 DOWN -0.027 2.81 11/06/2012 03:57:00 102.429 102.429 102.398 102.413 158 DOWN -0.016 1.01 como a velocidade é maior que 1.70 (média de 14 velas), prevê que a próxima vela será desligada. Este indicador pode ser feito para parecer um velocímetro ou apenas o número pode aparecer com o sinal na vela. Acho que isto ajudará muito na tomada de decisões corretas. A teoria por trás disto é que cada subida ou descida necessita de uma força ou inércia maior do que a força existente, de modo que, assim que virmos ou capturarmos tal força extra, poderemos determinar também a direção e os valores da próxima vela.

......................................................................................................................

 
Mastercash:
Olá, encontrei algo interessante para todos nós no fórum.há este software que pode ajudar a prever a direção da próxima vela.tenho trabalhado neste script mt4 para acrescentar volatilidade a ele, mas não consegui.quero também fazer o alerta para chegar ao final da vela atual e nos dizer a direção da próxima vela sobre a próxima vela sobre a forma.a volatilidade nos dirá o tamanho ou até onde o preço se estenderá.o princípio não era meu.eu o copio de algum lugar.o script está realmente funcionando.quero que um programador como Codergurus e Mladin, por favor, olhe para este script.não está realmente funcionando bem agora.já que o alerta continua colhendo e repintando.

#janela_do_cartão_indicador de propriedade

#property indicator_buffers 2

#indicador de propriedade_color1 Lime

#indicador de propriedade_color2 Vermelho

#largura_do_indicador de propriedade1 4

#largura_do_indicador de propriedade2 4

alertas externos = VERDADEIRO;

duplo CrossUp[];

duplo CrossDown[];

bool CrossedUp = falso;

bool CrossedDown = falso;

int SignalLabeled = 0; // 0: estado inicial; 1: para cima; 2: para baixo.

int upalert=false,downalert=false;

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

//| Função de inicialização do indicador personalizado |

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

int init()

{

//---- indicadores

SetIndexStyle(0,DRAW_ARROW, EMPTY);

SetIndexArrow(0,233);

SetIndexBuffer(0,CrossUp);

SetIndexStyle(1,DRAW_ARROW, VAZIO);

SetIndexArrow(1,234);

SetIndexBuffer(1,CrossDown);

//----

retorno(0);

}

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

//| Função de desinicialização de indicador personalizada |

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

int deinit()

{

//----

//----

retorno(0);

}

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

//| Função de iteração de indicador personalizada |

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

int start(){

int limit,i,contador;

neve dupla;

double p1,p2,p3,p4,p5,p6,p7,p8,p9,p10;

duplo SOT,SOT1,SOT2,SOT3,SOT4,SOT5,SOT6,SOT7,SOT8,SOT9,SOT10;

duplo SOTAV10;

duplo SOTAV2;

duplo Range, AvgRange;

int counted_bars=IndicatorCounted();

//---- verificação de possíveis erros

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

//---- última barra contada será contada novamente

if(counted_bars>0) counted_bars--;

limite=barras_contadas_à_barras;

for(i = 0; i <= limite; i++) {

counter=i;

Faixa=0;

AvgRange=0;

for (counter=i;counter<=i+12;counter+++)

{

AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);

}

Alcance=AvgRange/10;

// preço atual Fechado e Aberto

duplo OpenPricenow = Aberto ;

duplo FecharPricenow = Fechar ;

duplo Volumenow = Volume ;

// vela 1

duplo OpenPrice1 = Aberto ;

duplo FecharPreço1 = Fechar ;

duplo Volume1 = Volume ;

// vela 2

duplo OpenPrice2 = Aberto ;

duplo FecharPreço2 = Fechar ;

duplo Volume2 = Volume ;

// vela 3

duplo OpenPrice3 = Aberto ;

duplo FecharPreço3 = Fechar ;

duplo Volume3 = Volume ;

// vela 4

duplo OpenPrice4 = Aberto ;

duplo FecharPreço4 = Fechar ;

duplo Volume4 = Volume ;

// vela 5

duplo OpenPrice5 = Aberto ;

duplo FecharPreço5 = Fechar ;

duplo Volume5 = Volume ;

// vela 6

duplo OpenPrice6 = Aberto ;

duplo FecharPreço6 = Fechar ;

duplo Volume6=Volume ;

// vela 7

duplo OpenPrice7 = Aberto ;

duplo FecharPreço7 = Fechar ;

duplo Volume7 = Volume ;

// vela 8

duplo OpenPrice8 =Open ;

duplo FecharPreço8 =Fechar ;

duplo Volume8 =Volume;

// vela 9

duplo OpenPrice9 = Aberto ;

duplo FecharPreço9 = Fechar ;

duplo Volume9 = Volume ;

// vela 10

duplo OpenPrice10 =Open;

duplo FecharPreço10=Fechar;

duplo Volume10=Volume;

pnow =(FecharPricenow - AbrirPricenow);

SOT = (neve / Volumenow)*10000;

p1 = (FecharPreço1 - AbrirPreço1);

SOT1= (p1 / Volume1) *10000;

p2 = (ClosePrice2 - OpenPrice2);

SOT2 =(p2/ Volume2) *10000;

p3 =(ClosePrice3 - OpenPrice3);

SOT3 =(p3/Volume3)*10000;

p4=(ClosePrice4 - OpenPrice4);

SOT4=(p4/Volume4)*10000;

p5=(ClosePrice5 - Preço Fechado5 - Preço Aberto5);

SOT5 =(p5/Volume5)*10000;

p6=(ClosePrice6 - OpenPrice6);

SOT6 =(p6/Volume6)*10000;

p7=(ClosePrice7 - OpenPrice7);

SOT7 =(p7 / Volume7)*10000;

p8 =(ClosePrice8 - OpenPrice8);

SOT8=(p8/Volume8)*10000;

p9 =(ClosePrice9-OpenPrice9);

SOT9 =(p9/Volume9)*10000;

p10 =(ClosePrice10 -OpenPrice10);

SOT10 =(p10/Volume10)*10000;

SOTAV10=(SOT1+SOT2+SOT3+SOT4+SOT5+SOT6+SOT7+SOT8+SOT9+SOT10/100*10);

SOTAV2 = (SOTAV10*2);

if ((SOT>SOTAV2)&&(ClosePrice1<OpenPrice1)&&(ClosePricenow<OpenPrice1)){

CrossedUp = verdadeiro;

CrossedDown= falso;

}

senão

if((SOT>SOTAV2)&&(ClosePrice1>OpenPrice1)&&(ClosePricenow>OpenPricenow)){

CrossedUp = falso;

CrossedDown = verdadeiro;

}

if((CrossedUp==verdadeiro)&&(SignalLabeled!=1)){

CrossUp=Low-Range*1,3;

if(i<=2 && Alertas && !upalert)

{

Alerta (Símbolo()," ",Período()," M Preço UP ");

//SendMail("Comprar "+Símbolo()",");

upalert=verdadeiro;

downalert=false;

}

SinalLabelled = 1;

}

if ((CrossedDown == verdadeiro) && (SignalLabeled != 2)) {

CrossDown = Alto + Alcance*1,3;

if(i<=2 && Alertas && !downalert)

{

Alerta (Símbolo()," ",Período(), "M Preço DOWN");

//SendMail("Vender "+Símbolo()",");

downalert=verdadeiro;

upalert=false;

}

SinalLabelled = 2;

}

}

retorno(0);

}

Este é o princípio que guilda este software:

Velocidade do comércio = (Mudança de preço / Volume) por unidade de tempo. = (Fechamento Aberto)/ volume do stick no período padrão.

Se o SoT da vela atual for maior que o dobro do SoT médio do período selecionado, a próxima vela estará na mesma direção da vela atual. (Nossos sinais podem ser dados no fechamento da vela atual).

Cuidado: Se a vela de corrente for seguida por velas da mesma cor 2-3, nenhum sinal deve ser dado. A título de exemplo: Data E/J(Aberto) E/J(Alto) E/J(Baixo) E/J(Fechado) Volume(E/J) Direção Mudança de preço Velocidade 11/06/2012 03:56:00 102.456 102.456 102.456 102.429 102.429 96 DOWN -0.027 2.81 11/06/2012 03:57:00 102.429 102.429 102.398 102.413 158 DOWN -0.016 1.01 como a velocidade é maior que 1.70 (média de 14 velas), prevê que a próxima vela será desligada. Este indicador pode ser feito para parecer um velocímetro ou apenas o número pode aparecer com o sinal na vela. Acho que isto ajudará muito na tomada de decisões corretas. A teoria por trás disto é que cada subida ou descida necessita de uma força ou inércia maior do que a força existente, de modo que, assim que virmos ou capturarmos tal força extra, poderemos determinar também a direção e os valores da próxima vela.

......................................................................................................................

Mastercash

A meu ver, precisará de alguns testes de tempo de execução antes de fazer qualquer coisa sobre o código. Assim que o mercado abrir, veremos o que pode ser feito

 

Olá

Alguém poderia me ajudar a adicionar algum código a este script.jarroo_level_picker.mq4

Este roteiro desenha linha na abertura ou no fechamento da vela depende se a deixarmos cair sob ou abaixo da metade da vela e eu gostaria que ela também desenhasse uma pequena seta sob ou abaixo dessa vela para mais tarde ver em qual vela foi usada

Obrigado de antemão.

Arquivos anexados:
 
Andrewsurfer:
Olá

Alguém poderia me ajudar a adicionar algum código a este script.jarroo_level_picker.mq4

Este roteiro desenha linha na abertura ou no fechamento da vela depende se a deixarmos cair sob ou abaixo da metade da vela e eu gostaria que ela também desenhasse uma pequena seta sob ou abaixo dessa vela para mais tarde ver em qual vela foi usada

Obrigado de antemão.

Andrewsurfer

Experimente esta versão. Ela não adiciona uma seta, mas uma barra na mesma cor da linha da barra em que a vela foi usada.

Arquivos anexados:
 
mladen:
AndrewsurferTry esta versão. Não acrescenta uma seta, mas acrescenta uma barra na mesma cor da linha da barra em que a vela foi usada.

Sinto muito, mas não vejo nenhuma mudança. Continua sendo apenas a linha azul, sem qualquer outro sinal.

 
Andrewsurfer:
Sinto muito, mas não vejo nenhuma mudança. Continua sendo apenas a linha azul, sem qualquer outro sinal.

Há uma linha extra (como na foto) e ela é criada no bar onde você deixa cair o roteiro em

Arquivos anexados:
v_line.gif  36 kb
 
mladen:
Há uma linha extra (como na foto) e ela é criada no bar onde você deixa cair o roteiro em

Eu tenho ajustes errados da tabela MT4 em primeiro plano e agora está funcionando.

Muito obrigado.

Razão: