Ajuda na codificação - página 509

 
tfi_markets:
Olá Pro-Coders,

Eu recebo o aviso: "verifique a precedência do operador para possíveis erros; use parênteses para esclarecer a precedência".

if ((STC115)||(STC185)&&(Ask>emaFilter && ADXmain>25))

{

OpenBuy();

}

Parece que a declaração ..AND (Ask>emaFilter) também é ignorada pelo MT4.

Alguém poderia, por favor, aconselhar?

Agradecemos antecipadamente!

você provavelmente deveria escrevê-la assim :

se (((STC115) || (STC185)) && (Pergunte>emaFilter && ADXmain>25) )

Mas isso depende principalmente do que exatamente você quer testar. O aviso vem porque antes a precedência de && (e) e || (ou) era diferente - eles a inverteram e agora todas essas comparações lógicas devem ser verificadas

 
mladen:
você provavelmente deveria escrevê-lo desta forma :

if (((STC115) ||| (STC185)) && (Pergunte>emaFilter && ADXmain>25) )

Mas isso depende principalmente do que você quer testar exatamente. O aviso vem porque antes a precedência de && (e) e || (ou) era diferente - eles a inverteram e agora todas essas comparações lógicas devem ser verificadas

Olá, Mladen,

muito obrigado por sua sugestão. Vou experimentá-la! Você é sempre muito útil!

Em palavras simples, todos os três parênteses devem se tornar verdadeiros antes que a EA abra um comércio.

Acho que seu código proporcionará esta funcionalidade.

Cordiais cumprimentos,

T.

 

Codificadores,

Alguém poderia me ajudar com o seguinte?

Estou usando um roteiro de ondas Elliot para rotular manualmente as ondas. O script coloca 8 objetos diferentes no gráfico (i,ii,iii,iv,v,a,b,c).

Tudo funciona bem, mas apagar os objetos é muito trabalho. Porque eu tenho que clicar em cada objeto (i,ii,iii,iv,v,a,b,c), para apagá-los. Gostaria de acrescentar algo ao código que me permite destacar todos os objetos (i,ii,iii,iv,v,a,b,c) com apenas um clique sobre os objetos. Já procurei, mas não consegui encontrar a função de que preciso.

(Não estou procurando por um script que apague todos os objetos do gráfico).

Obrigado de antemão

//+------------------------------------------------------------------+//| wave labels ff.mq4 |

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

#property version "1.00"

#property strict

#include

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

//| Script program start function |

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

extern string Text1 = "(i)"; // Enter Text to place on screen

extern string Text2 = "(ii)"; // Enter Text to place on screen

extern string Text3 = "(iii)"; // Enter Text to place on screen

extern string Text4 = "(iv)"; // Enter Text to place on screen

extern string Text5 = "(v)"; // Enter Text to place on screen

extern string Text6 = "(a)"; // Enter Text to place on screen

extern string Text7 = "(b)"; // Enter Text to place on screen

extern string Text8 = "(c)"; // Enter Text to place on screen

extern string Text_font="Arial Bold"; // font of text

extern int Text_fontsize = 14; // size of text

extern color Text_color = Red; // color of text

int TextBarsAhead2 = 7; // # bars to space 2nd letter from first

int TextBarsAhead3 = 14; // # bars to space 3rd letter from first

int TextBarsAhead4 = 21; // # bars to space 4th letter from first

int TextBarsAhead5 = 28; // # bars to space 5th letter from first

int TextBarsAhead6 = 35; // # bars to space 6th letter from first

int TextBarsAhead7 = 42; // # bars to space 7th letter from first

int TextBarsAhead8 = 49; // # bars to space 8th letter from first

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

//+-----------------------------SCRIPT CODE--------------------------+

int OnStart(){

double price = WindowPriceOnDropped(); // find the price point where dropped

datetime Time1 = WindowTimeOnDropped(); // find the time point where dropped

datetime TimeNow = TimeCurrent(); // get the current time ( makes name unique)

datetime Time2 = (int)Time1+TextBarsAhead2*(int)Period()*60;

datetime Time3 = (int)Time1+TextBarsAhead3*(int)Period()*60;

datetime Time4 = (int)Time1+TextBarsAhead4*(int)Period()*60;

datetime Time5 = (int)Time1+TextBarsAhead5*(int)Period()*60;

datetime Time6 = (int)Time1+TextBarsAhead6*(int)Period()*60;

datetime Time7 = (int)Time1+TextBarsAhead7*(int)Period()*60;

datetime Time8 = (int)Time1+TextBarsAhead8*(int)Period()*60;

string gap=" "; // spacing between text characters

string text=Text1+gap+Text2+gap+Text3+gap+Text4+gap+Text5; // put the text in a line

TextToPrint ("Wave labels 1 " + (string)TimeNow, Text1, Text_fontsize, Text_font, Text_color, Time1, price); //print 1st letter

TextToPrint ("Wave labels 2 " + (string)TimeNow, Text2, Text_fontsize, Text_font, Text_color, Time2, price); //print 1st letter

TextToPrint ("Wave labels 3 " + (string)TimeNow, Text3, Text_fontsize, Text_font, Text_color, Time3, price); //print 1st letter

TextToPrint ("Wave labels 4 " + (string)TimeNow, Text4, Text_fontsize, Text_font, Text_color, Time4, price); //print 1st letter

TextToPrint ("Wave labels 5 " + (string)TimeNow, Text5, Text_fontsize, Text_font, Text_color, Time5, price); //print 1st letter

TextToPrint ("Wave labels 6 " + (string)TimeNow, Text6, Text_fontsize, Text_font, Text_color, Time6, price); //print 1st letter

TextToPrint ("Wave labels 7 " + (string)TimeNow, Text7, Text_fontsize, Text_font, Text_color, Time7, price); //print 1st letter

TextToPrint ("Wave labels 8 " + (string)TimeNow, Text8, Text_fontsize, Text_font, Text_color, Time8, price); //print 1st letter

return(0);

}

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

void TextToPrint(string TextName,string LabelText,int FontSize,string FontName,color TextColor,datetime Time0,double Price0)

{

if(StringLen(LabelText)>1){

ObjectCreate(TextName,OBJ_TEXT,0,Time0,Price0);

ObjectSetText(TextName,LabelText,FontSize,FontName,TextColor);

}

}

//+------------------------------------------------------------------+
 
xtractalpha:
Codificadores,

Alguém poderia me ajudar com o seguinte?

Estou usando um roteiro de ondas Elliot para rotular manualmente as ondas. O script coloca 8 objetos diferentes no gráfico (i,ii,iii,iv,v,a,b,c).

Tudo funciona bem, mas apagar os objetos é muito trabalho. Porque eu tenho que clicar em cada objeto (i,ii,iii,iv,v,a,b,c), para apagá-los. Gostaria de acrescentar algo ao código que me permite destacar todos os objetos (i,ii,iii,iv,v,a,b,c) com apenas um clique sobre os objetos. Já procurei, mas não consegui encontrar a função de que preciso.

(Não estou procurando por um script que apague todos os objetos do gráfico).

Obrigado de antemão

//+------------------------------------------------------------------+//| wave labels ff.mq4 |

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

#property version "1.00"

#property strict

#include

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

//| Script program start function |

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

extern string Text1 = "(i)"; // Enter Text to place on screen

extern string Text2 = "(ii)"; // Enter Text to place on screen

extern string Text3 = "(iii)"; // Enter Text to place on screen

extern string Text4 = "(iv)"; // Enter Text to place on screen

extern string Text5 = "(v)"; // Enter Text to place on screen

extern string Text6 = "(a)"; // Enter Text to place on screen

extern string Text7 = "(b)"; // Enter Text to place on screen

extern string Text8 = "(c)"; // Enter Text to place on screen

extern string Text_font="Arial Bold"; // font of text

extern int Text_fontsize = 14; // size of text

extern color Text_color = Red; // color of text

int TextBarsAhead2 = 7; // # bars to space 2nd letter from first

int TextBarsAhead3 = 14; // # bars to space 3rd letter from first

int TextBarsAhead4 = 21; // # bars to space 4th letter from first

int TextBarsAhead5 = 28; // # bars to space 5th letter from first

int TextBarsAhead6 = 35; // # bars to space 6th letter from first

int TextBarsAhead7 = 42; // # bars to space 7th letter from first

int TextBarsAhead8 = 49; // # bars to space 8th letter from first

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

//+-----------------------------SCRIPT CODE--------------------------+

int OnStart(){

double price = WindowPriceOnDropped(); // find the price point where dropped

datetime Time1 = WindowTimeOnDropped(); // find the time point where dropped

datetime TimeNow = TimeCurrent(); // get the current time ( makes name unique)

datetime Time2 = (int)Time1+TextBarsAhead2*(int)Period()*60;

datetime Time3 = (int)Time1+TextBarsAhead3*(int)Period()*60;

datetime Time4 = (int)Time1+TextBarsAhead4*(int)Period()*60;

datetime Time5 = (int)Time1+TextBarsAhead5*(int)Period()*60;

datetime Time6 = (int)Time1+TextBarsAhead6*(int)Period()*60;

datetime Time7 = (int)Time1+TextBarsAhead7*(int)Period()*60;

datetime Time8 = (int)Time1+TextBarsAhead8*(int)Period()*60;

string gap=" "; // spacing between text characters

string text=Text1+gap+Text2+gap+Text3+gap+Text4+gap+Text5; // put the text in a line

TextToPrint ("Wave labels 1 " + (string)TimeNow, Text1, Text_fontsize, Text_font, Text_color, Time1, price); //print 1st letter

TextToPrint ("Wave labels 2 " + (string)TimeNow, Text2, Text_fontsize, Text_font, Text_color, Time2, price); //print 1st letter

TextToPrint ("Wave labels 3 " + (string)TimeNow, Text3, Text_fontsize, Text_font, Text_color, Time3, price); //print 1st letter

TextToPrint ("Wave labels 4 " + (string)TimeNow, Text4, Text_fontsize, Text_font, Text_color, Time4, price); //print 1st letter

TextToPrint ("Wave labels 5 " + (string)TimeNow, Text5, Text_fontsize, Text_font, Text_color, Time5, price); //print 1st letter

TextToPrint ("Wave labels 6 " + (string)TimeNow, Text6, Text_fontsize, Text_font, Text_color, Time6, price); //print 1st letter

TextToPrint ("Wave labels 7 " + (string)TimeNow, Text7, Text_fontsize, Text_font, Text_color, Time7, price); //print 1st letter

TextToPrint ("Wave labels 8 " + (string)TimeNow, Text8, Text_fontsize, Text_font, Text_color, Time8, price); //print 1st letter

return(0);

}

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

void TextToPrint(string TextName,string LabelText,int FontSize,string FontName,color TextColor,datetime Time0,double Price0)

{

if(StringLen(LabelText)>1){

ObjectCreate(TextName,OBJ_TEXT,0,Time0,Price0);

ObjectSetText(TextName,LabelText,FontSize,FontName,TextColor);

}

}

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

xtractalpha

No procedimento deinit() adicionar parte de limpeza

Em seu caso seria ObjectDelete(objectName) para cada objeto que seu código tenha criado

 

Olá Mladen

Você poderia ajudar com os erros de compilação abaixo

Arquivos anexados:
 
candyman752:
Olá MladenCould você poderia ajudar com os erros de compilação abaixo

Confira agora : genie_stoch_rsittt_1.mq4

Arquivos anexados:
 

Prezado Mladen

do que por este grande tinturão

É possível a versão do histograma????

 
SLAVOLJUB:
Prezado Mladen

do que por este grande tinturão

É possível a versão do histograma????

É possível comprar, então as duas linhas de sinal devem ser completamente ignoradas e cortadas

 
mladen:
É possível comprar, então as duas linhas de sinal devem ser completamente ignoradas e cortadas

Não há problema.... eu só preciso desta linha vermelho-verde

(linha verde vermelha como histograma)

Com mais de uma vez

 

Olá Mladen,

Acrescentei um código para a parada de rastreamento na EA. Estou recebendo dois erros de compilação. As instruções sobre como adicionar o código foram:

Como usar?

muito simples. coloque abaixo do código em qualquer parte de seu programa Expert Advisor e chame a functiontrail2(#ticket) na função Start().ticket = é seu ticket de pedido, pode ser um pedido de compra ou venda. Mas tem que ser uma ordem ao vivo e não uma ordem pendente.

Por exemplo

{...(yourcode)

ticket=encomenda(...)

...

}

..

trilha2(bilhete)

ou trilha2(bilhete, 300, 40, 250, 100)

..

Arquivos anexados:
wip.mq4  8 kb
Razão: