[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 252

 
kon12:

Caros profissionais, vocês poderiam aconselhar... Estou usando o desenho de linha no indicador:

O problema é que quando mudo para outro período de tempo as linhas são desenhadas de acordo com os novos parâmetros, mas as antigas não são apagadas. O que devo acrescentar e onde devo colocá-lo para que quando passar para outro período de tempo as linhas antigas não sejam desenhadas? Obrigado...
Você precisa definir deinit para apagar linhas antigas.
 

Diga-me o que está errado:

ordem dupla=AccountEquity()/4100;

...

ticket=OrderSend(Symbol(),OP_BUY,NormalizeDouble(order,2),Ask,10,Ask-SL*10*Point,Ask+SL*20*Point, "buy_order",1,0,Green);


ele dá: 2011.03.08 16:35 ScaplerM5 EURUSD,M5: OrderSend error 4051
2011.03.08 16:35 ScaplerM5 EURUSD,M5: valor inválido para a função OrderSend

 
AndrejFX:

Diga-me o que está errado:

ordem dupla=AccountEquity()/4100;

...

ticket=OrderSend(Symbol(),OP_BUY,NormalizeDouble(order,2),Ask,10,Ask-SL*10*Point,Ask+SL*20*Point, "buy_order",1,0,Green);


ele dá: 2011.03.08 16:35 ScaplerM5 EURUSD,M5: OrderSend error 4051
2011.03.08 16:35 ScaplerM5 EURUSD,M5: quantidade de lotes inválidos para a função OrderSend

Provavelmente, o tamanho do lote é menor do que o permitido.

Isto é, se o lote mínimo permitido for 0,1, mas seu lote = 0,09....

 

Boa noite a todos!

Você pode me dizer se TimeCurrent(); - retorna o último tempo conhecido do servidor, o tempo da última cotação, ou a última chegada de qualquer instrumento?

De acordo com meus dados experimentais, é o segundo.

Só quero que alguém o confirme!

Obrigado antecipadamente pela resposta!

 
BBSL:

Boa noite a todos!

Você pode me dizer se TimeCurrent(); - retorna o último tempo conhecido do servidor, o tempo da última cotação, ou a última chegada de qualquer instrumento?

De acordo com meus dados experimentais, é o segundo...

Só quero que alguém o confirme!

Obrigado antecipadamente pela resposta!

Na verdade, é o tempo atual do servidor.... que foi recebido por último...
 
coronel:
Na verdade, é o tempo atual do servidor.... que foi recebido por último...

Então, não é a hora da última cotação para um determinado par de moedas?
 
BBSL:

De acordo com meus dados experimentais, o segundo...

Sim.

É o que diz na ajuda - "última hora do servidor". Não está vinculado a uma moeda específica.

 
sergeev:

Sim.



Então... Então eu tinha uma pergunta...

Tenho a necessidade no init(e) de usar uma função que recolhe carrapatos para a moeda corrente.

Eu resolvi assim -

double init_array[10];


int init (){

int count = 0;
int time = 0;
int size = ArraySize(init_array); 


time = TimeCurrent();

while (count != size){

if (time != TimeCurrent()){

time = TimeCurrent();

init_array [count] = Ask; 

count = count + 1;

}

}


}

Mas, se você prestar atenção ao código e à minha pergunta, eu tenho muitos valores que estúpidamente vou repetir...

O que fazer, como fazer com que o Expert Advisor reaja somente na chegada de um novo tick para o instrumento em questão.

Tenho uma idéia para comparar i e i+1, mas se dois iguais chegarem em uma fila, perderemos um dos valores.

Por favor, ajude))

 
BBSL:

O que fazer, como fazer a EA reagir apenas a um novo tick vindo para o símbolo dado?

remover enquanto

mova o código para começar

e parâmetros

int count = 0;
int time = 0;

fora

 
sergeev:
remover enquanto


Sim, você pode, mas caso o especialista seja multimoeda, isso não vai resolver o problema, certo?

Ainda assim, podemos resolver este problema no inite?)