Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 348

 
Link_x:
Acho que a falta de compreensão das funções encontradas nos indicadores técnicos. Se eu não entender, então eu deveria entender, através do uso de informações encontradas "do outro lado" dos links que me foram passados por você, digitando e enviando através da rede da Internet.
"Aprender, aprender e aprender de novo" - Adoro essa frase. )))

Abra a CCI no MetaEditor, por exemplo, e coloque tudo o que você não entende no livro de referência (clique em função ou expressão pouco clara e pressione F1). Desta forma, o aprendizado será muito mais divertido.
 

extern int MartinStep = 2;
extern double LOT = 0.01;


double GetLot(){

int time = 0;double profit = 0; double lots = 0; double Lot = 0;
for(int i = OrdersHistoryTotal()-1;i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){
if(OrderSymbol() == Symbol()&& OrderMagicNumber() == Magic){
if(time<OrderCloseTime()){
time=OrderCloseTime();
profit=OrderProfit();
lots = OrderLots();
}
}
}
}


if(profit == 0 &&time == 0)
{
Lot = LOT;
}
if(profit >= 0)
{
Lot = LOT;
}
if(profit < 0 )
{
Lot = NormalizeDouble (lots*MartinStep,2);
}

return(Lot);
}
Por favor, ajude a corrigir erros de funcionamento. A EA abre várias ordens corretamente, e então o registro mostra um erro "quantidade de lotes inválidos". Eu não consigo entender o que está errado.
 
Trader7777:


lots = OrderLots();

Lot = NormalizeDouble (lots*MartinStep,2);

Por favor, ajude a corrigir erros de funcionamento. O EA abre várias ordens corretamente, e então o registro mostra um erro "quantidade de lotes inválidos". Eu não consigo entender o que está errado.

Ou nunca cheguei a lotes de operadores = OrderLots(); e lotes ainda permanecem =0. Ou lotes*MartinStep excedeu o tamanho máximo permitido para o lote.
 

Eu descobri, o erro está aqui

if(profit >= 0)


Eu deveria ter colocado um sinal de igualdade, porque após uma ordem que fechou a 0, a EA não sabia o que fazer)
 

Olá a todos! Você pode me dizer como implementar a reinicialização da EA no final do dia? Bem, no init() há algumas ações que precisam ser repetidas em um determinado momento. Eu não quero reescrevê-los no início(). Estou mais interessado na possibilidade teórica de reiniciar a EA. Agradecemos antecipadamente.

 
Pyro:

Olá a todos! Você pode me dizer como implementar a reinicialização da EA no final do dia? Bem, no init() há algumas ações que precisam ser repetidas em um determinado momento. Eu não quero reescrevê-los no início(). Estou mais interessado na possibilidade teórica de reiniciar a EA. Agradecemos antecipadamente.

Você já tentou ligar() em um determinado momento?
 
Sim, não me tinha ocorrido:( Obrigado!!!!
 
Você poderia me dizer se as bandeiras e variáveis estáticas são reiniciadas ou permanecem na memória da EA ao reiniciar a EA (removê-la da tabela e depois colocá-la de volta)?
 
Forexman77:
Você poderia me dizer se as bandeiras e variáveis estáticas são reiniciadas ou permanecem na memória da EA ao reiniciar a EA (removê-la da tabela e depois colocá-la de volta)?

Durante a inicialização, tudo é reinicializado, exceto as Variáveis Globais
 
Pyro:

Tudo é reinicializado durante a inicialização, exceto as Variáveis Globais
E aqui deve ser esclarecido que GV são variáveis terminais, não variáveis EA.
Razão: