[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 176
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Como você define a última ordem? Por tempo. Bem, olhe no código para ver qual ordem é a mais recente por tempo.
Eu já descobri por conta própria. Mas eu ainda não entendo sua última dica. É possível puxar todos os pedidos e ver qual deles foi o mais recente no tempo? Então, você quer puxar todos os pedidos e comparar os horários de fechamento de todos os pedidos? Mostre-me o código de como fazer isso.
Eu resolvi desta maneira:
int z;
int _bar;
int start()
{
z=OrdersHistoryTotal()-1;
OrderSelect(z,SELECT_BY_POS,MODE_HISTORY);
if(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() < 7)
{
if(OrderProfit()> 0)
PlaySound("profit.wav");
if(OrderProfit()== 0)
PlaySound("zero.wav");
if(OrderProfit()< 0)
PlaySound("loss.wav");
}
Acontece que se 1 for substituído por z, será selecionada a ordem mais antiga, que é logicamente a mais recente, então eu tomei OrderHistoryTotal() (ele retorna o número de ordens na história) e a substituí ao invés do índice. Entretanto, acontece que a OrderHistoryTotal() retorna 1 a mais do que realmente é. Minha história teve 6 ordens, mas a OrderHistoryTotal() devolve 7 ordens. Portanto, escrevi z=OrdensHistóriaTotal()-1;. Mas eu não sabia antes o que usar no índice para selecionar o último. Eu mesmo tive que descobrir porque ninguém me disse nada.
if(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() < 7)
é fundamentalmente errado e nem sempre funcionará mesmo em um testador.
Portanto, por favor, mostre-me como fazê-lo corretamente. Há muitos exemplos no livro didático que não existem.
Portanto, mostre-me como fazê-lo corretamente, pois você sabe que o livro didático não contém muitos exemplos.
qualquer solução depende das metas estabelecidas.
Se você quer encontrar a última ordem na história é uma coisa, mas se você quer determinar como a última ordem de sua EA fechou, isso é outra coisa.
qualquer solução depende dos objetivos que você estabelecer.
Se você quiser encontrar a última ordem na história, isso é uma coisa, mas se você simplesmente der como a última ordem de sua EA fechou, isso é outra.
Quero que a música comece a tocar depois que o pedido for fechado e, dependendo do lucro, a música será tocada. No meu exemplo, eu queria que ele tocasse se passassem de 1 a 7 segundos desde que o pedido foi fechado.
então o esquema deve ser o seguinte
1. No momento de um pedido bem sucedido, você deve se lembrar do bilhete de pedido(GlobalVariableSet)
2. Em cada tick, verifique o ticket deste pedido lembrado(GlobalVariableGet) para fechamento(OrderCloseTime)
Se o pedido for fechado, então dê um som apropriado para lucro e apague o Ticket memorizado(GlobalVariableDel)
4. Se você ainda quiser verificar por 1-7 segundos, então esta verificação pode ser incluída na análise, mas você deve lembrar que os carrapatos podem vir com um atraso de 10 segundos ou mais, e você perderá o sinal.
então o esquema deve ser o seguinte
1. No momento de um pedido bem sucedido, você deve se lembrar do bilhete de pedido(GlobalVariableSet)
2. Em cada tick, verifique o ticket deste pedido lembrado(GlobalVariableGet) para fechamento(OrderCloseTime)
Se o pedido for fechado, então dê um som apropriado para lucro e apague o Ticket memorizado(GlobalVariableDel)
4. Se você ainda quiser verificar por 1-7 segundos, então esta verificação pode ser incluída na análise, mas você deve lembrar que os carrapatos podem vir com um atraso de 10 segundos ou mais, e você perderá o sinal.
A OrderSend tem que ser enviada pelo Expert Advisor ou não faz diferença? O sistema se baseia no fato de que eu mesmo abro negócios manualmente. O Expert Advisor modifica a ordem após ser aberta (coloca paradas) e depois toca música quando fecha uma posição. Quanto ao fato de que os carrapatos podem estar 10 segundos atrasados, eu entendo isso. Não vou usar a EA no momento como agora. Uso minha EA na EUROBAX das 9h às 18h onde tal atraso é improvável.
E o próprio conselheiro modifica a ordem (coloca paradas) quando o comércio é aberto
então, no seu caso, este é o ponto em que a passagem de pedido é tomada.
obrigado
Eu queria que a música tocasse se passassem de 1 a 7 segundos desde que o pedido foi fechado.