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 766

 
Vinin:
Você tem certeza de quea ArraySetAsSeries()devolve o que você precisa. Ou talvez você pense que é disso que você precisa. Talvez nem sequer chegue aos cálculos.

O cálculo acontece, o alerta nunca é acionado, todas as chamadas para o ArraySetAsSeries() retornam Verdadeiro. Somente as últimas barras na quantidade de BarsAtOnce são exibidas e, além disso, após o primeiro retorno da função OnCalculate, o terminal pensa que todas as barras são calculadas (de acordo com o log).

A solução é simples - criar uma variável própria semelhante à pré-calculada, mas eu me pergunto por que a variável regular não funciona?

O efeito é observado nas versões 711 e 745 (não há outras disponíveis)

 
Vinin:
Os indicadores parecem estar apenas consumindo recursos. Há mais cálculos. Embora - eles não sejam realmente necessários, mas são necessários.
Eu fechei todas as janelas do gráfico, exceto uma. Removidos todos os indicadores. Reiniciei o terminal vazio (sem indicadores e Consultores Especialistas) e com um gráfico. - Não funciona! A carga do processador é a mesma - 29%.
 
logut:
Eu preciso de lotes duplos = 0,01;
input int takeprofit = 100;
entrada em perda de carga = 100;
magia int externa = 123;
//----------------+
int start()
{




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


int ticket=OrderSend(Symbol(),OP_BUYLIMIT,lots,Ask,3,Ask +stoploss* Point, Ask + takeprofit* Point,NULL,123,120,CLR_NONE);






retorno(0);

}

Preciso de uma dica sobre como escrever um EA com um pedido pendente. Sou novo neste negócio e tenho estado intrigado com ele há um mês.
O Expert Advisor implementa uma estratégia. A estratégia implica condições para entrar e sair do mercado. Portanto, não devemos perguntar: como escrever uma EA para pedidos pendentes? Podemos perguntar: como escrever um procedimento para a abertura de pedidos pendentes? Além disso, quais são as ordens pendentes? Bem, aqui temos uma resposta: as ordens pendentes são estabelecidas a uma certa distância do preço atual. Portanto,não podemos definir o preço atual (Ask/Bid) em variáveis do comandoOrderSend() para ordens pendentes. Você tem que definir o preço a uma certa distância do preço atual levando em consideração as exigências/limitações de seu centro de negociação.
 
ikatsko:
O assessor implementa algum tipo de estratégia. A estratégia implica condições para entrar e sair do mercado. Portanto, não devemos perguntar: Como escrever uma EA para pedidos pendentes? Podemos perguntar: como escrever um procedimento para a abertura de pedidos pendentes? Além disso, quais são as ordens pendentes? Bem, aqui temos uma resposta: as ordens pendentes são estabelecidas a uma certa distância do preço atual. Portanto,não podemos definir o preço atual (Ask/Bid) em variáveis do comandoOrderSend() para ordens pendentes. Você tem que definir o preço a uma certa distância do preço atual levando em consideração as exigências/limitações de seu centro de negociação.
Eu tentei definir PREÇO_OPEN, mas como indicar a que distância
 
logut:
Eu tentei colocar PRICE_OPEN, mas como especificar a distância
Esta é a questão principal da estratégia, sua estratégia que você quer implementar como EA. Por exemplo, existe o preço atual de um instrumento (por exemplo, EURUSD). De acordo com sua estratégia, se o preço subir em 20 pips, então (!) com certeza começará a descer. Portanto, você coloca um pedido pendente a uma distância de 20 pips do preço atual.
 
ikatsko:
Esta é a principal questão de estratégia, sua estratégia que você quer implementar na forma de uma EA. Por exemplo, existe o preço atual de um instrumento (por exemplo, EURUSD). De acordo com sua estratégia, por exemplo, assume-se que se o preço subir 20 pips, então (!) com certeza começará a descer. Portanto, você coloca um pedido pendente a uma distância de 20 pips do preço atual.

Muito bem feito. Cinco pontos.

 
ikatsko:
Esta é a principal questão de estratégia, sua estratégia que você quer implementar na forma de uma EA. Por exemplo, existe o preço atual de um instrumento (por exemplo, EURUSD). De acordo com sua estratégia, por exemplo, assume-se que se o preço subir 20 pontos, então (!) o preço começará definitivamente a diminuir. Portanto, você coloca um pedido pendente a uma distância de 20 pips do preço atual.

Esperar uma barragem de perguntas. Qual é um ponto, quem é o Ask price, Bid price, quem é o centro de negociação, qual é a estratégia ... em resumo, é uma bagunça... Você pode fazer perguntas, mas a pergunta é: O que é um ponto e o que é uma Licitação?

 
logut:
Eu preciso de lotes duplos = 0,01;
input int takeprofit = 100;
entrada em perda de carga = 100;
magia int externa = 123;
//----------------+
int start()
{




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


int ticket=OrderSend(Symbol(),OP_BUYLIMIT,lots,Ask,3,Ask +stoploss* Point, Ask + takeprofit* Point,NULL,123,120,CLR_NONE);






retorno(0);

}

preciso de algumas dicas sobre como escrever uma dica com uma parada de trilha sou novo neste negócio, há um mês estou intrigado com isso, tenho um esboço
Volante, porta-bagagens, como ser Moscou?
 
logut:
Eu tentei colocar PRICE_OPEN, mas como especificar a distância

Posso ajudá-los? Eu sou bom nisto! Insira seu código com o botão SRC e veja como ele é bonito!

input double lots = 0.01;
input int takeprofit = 100;
input int stoploss = 100;
 extern int magic = 123;
//----------------+
int start()
{


 


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


int ticket=OrderSend(Symbol(),OP_BUYLIMIT,lots,Ask,3,Ask +stoploss* Point, Ask + takeprofit* Point,NULL,123,120,CLR_NONE);






return(0);

} 

Tudo o que você tem que fazer é usar o conhecimento do Tutorial e da Documentação para preencher todas as peças que faltam! Todos começaram sempre da mesma maneira, e você não é exceção. Desejo-lhe sucesso em seus estudos!

 
AlexeyVik:

E antes de repetir os disparates de outra pessoa, você não pode verificar?

Não importa qual hora a função StringToTime() conta segundos desde 01.01.1970 00:00:00 GMT, UTC, hora do servidor ou hora local, desde que o tempo passado da data especificada até a hora especificada seja de XXX segundos. E quando você define o horário de verificação, ele também é calculado a partir de 01.01.1970 00:00:00, de acordo com o horário especificado por você. Em outras palavras, na condição if(TimeCurrent() >= StringToTime("23:15"), significa que se o tempo do servidor a partir de 01.01.1970 00:00: 00passou tanto ou mais segundos do que o tempo de verificação especificado deXXX segundos. E não há confusão sobre isso.

Especialmente para você, eu fiz uma captura de tela, li o comentário e depois experimentei.

Seu problema pode ser que o comércio possa terminar às 23:00

Não percebi a resposta de imediato. Bem, para ser honesto, eu não entendi bem o que você quer dizer ao afirmar que não há confusão sobre isso.

O que você quer dizer com "não importa o tempo queStringToTime() conta os segundos transcorridos"?

A função essencialmente leva uma data à esquerda(acredito que a data do PC local é à esquerda) e compara a hora atual do servidor do corretor com ela, por que isso não importaria?

Da captura de tela acima, o comentário diz que o tempo em seu PC local é 1 hora antes do tempo do corretor, ou seja, o turno GMT é maior. Se fossem X horas a menos, seria crítico, como no caso de eu ter escrito sobre sexta-feira.

Quanto ao fim do tempo de negociação. Acho que para a funçãoStringToTime() não deveimportar quando o corretor termina o dia ou a semana de negociação...

Razão: