Qualquer pessoa que quisesse ver gráficos sem barras em falta - aqui =) - página 9

 
Descobri a razão pela qual os desenvolvedores proibiram os EAs de trabalhar em gráficos off-line.
Acho que tem a ver com o fato de que para gráficos offline Bid and Ask return 0. Isto é, para Consultores Especialistas que querem abrir no mercado, é impossível. Mas eu encontrei a seguinte solução para minha EA que funciona somente com ordens pendentes: mudar Bid e Ask for _Bid() e _Ask() usando a substituição automática. _MarketInfo() retorna o spread para o instrumento que está sendo negociado.

int _MarketInfo(string symb_for_work)
{
   if(symb_for_work=="USDCHFm") return(4);
   if(symb_for_work=="CHFJPYm") return(5);
   if(symb_for_work=="GBPUSDm") return(3);
   if(symb_for_work=="USDCADm") return(5);
   if(symb_for_work=="USDJPYm") return(3);
   if(symb_for_work=="EURGBPm") return(4);
   if(symb_for_work=="AUDUSDm") return(4);
   if(symb_for_work=="EURCHFm") return(4);
   if(symb_for_work=="EURJPYm") return(5);
   if(symb_for_work=="EURUSDm") return(2);
   if(symb_for_work=="NZDUSDm") return(6);
   if(symb_for_work=="AUDJPYm") return(6);   
 
return(0);
}
 
double _Bid()
{
   return(Close[0]);
}
 
double _Ask()
{
   return(Close[0]+_MarketInfo(symbol_for_trade)*Point);
}
Acho que a idéia é clara. A julgar pelos primeiros resultados da EA revisada, as ordens são abertas normalmente. Agora é o fim de semana, então vou testá-lo em detalhes quando as negociações começarem, na próxima semana. Penso que serei capaz de realizar o que inicialmente desejava.
 
IMHO, bobagem ...
Se os desenvolvedores viram que "para gráficos off-line Bid and Ask return 0",
o que os impede de consertá-la?
 

Bem, os gráficos offline podem ser atualizados com bastante pouca freqüência, por exemplo. E durante o intervalo de atualização, por exemplo, 1-2 minutos, o verdadeiro Ask and Bid pode ir muito longe do que é exibido no gráfico off-line. E RefreshRates() não vai ajudar em nada aqui. Bem, deve ter havido outras razões além daquela já descoberta. Mas somente os desenvolvedores podem responder a isso.

 
solandr:

Bem, os gráficos offline podem ser atualizados com bastante pouca freqüência, por exemplo. E durante o intervalo de atualização, por exemplo, 1-2 minutos, o verdadeiro Ask and Bid pode ir muito longe do que é exibido no gráfico off-line. E RefreshRates() não vai ajudar em nada aqui. Bem, deve ter havido outras razões além daquela já descoberta. Mas somente os desenvolvedores podem responder a isso.

Certo, se a tabela não for atualizada, a Licitação se tornará obsoleta.
Mas também fechará[0]!

Você não pode usar preços conscientemente errados em um Expert Advisor comercial.
Use MarketInfo( MODE_BID ) e MarketInfo( MODE_ASK ) para obter um novo preço )
 

Basicamente, estou bastante satisfeito com Close[0] ;o)
Não estou com pressa. Eu até mesmo retardo o Expert Advisor de propósito ;o) de acordo com o seguinte princípio:

1. Se o preço atual estiver a pelo menos 50 pips de distância do provedor, o provedor só pode modificar o pedido do provedor se for necessário movê-lo em pelo menos 10 pips.
2. Se o preço atual estiver dentro da faixa de 25...50 pips do "Oder", o Consultor Especialista só poderá modificar o "Oder" se for necessário modificar o pedido em 5 pips ou mais.
3. Se o preço atual estiver mais próximo de 25 pips do pedido, o Consultor Especialista moverá os pedidos pendentes em 2 pips ou mais.

Este esquema nos permite reduzir o número de movimentos de pedidos pendentes pelo menos 5 vezes, se não mais! o) Acontece de 0 (à noite) a 20 (durante eventos noticiosos) movimentos por hora sobre o total de cerca de 60 pedidos pendentes (para 12 moedas)! Ou seja, provavelmente não há mais de 200 movimentos por dia, e não todos os dias. Em geral, acho que no comércio manual as pessoas podem mover ordens ainda mais, se seguirem exatamente uma certa estratégia e jogarem com a mesma quantidade de pares de moedas! ;o)

 

komposter, mais uma vez um GRANDE OBRIGADO por desenvolver um Expert Advisor que funde as velas do dia de domingo com as de segunda-feira!!!
Já faz um mês que trabalho com seu roteiro sobre o real. Inicio o script para processar 19 pares de moedas (todos disponíveis no InterbankFX) para 600 barras intradiárias cada uma. Configuro o tempo de atualização dos gráficos para 1 minuto. Tudo funciona sem problemas na CPU VIA C3 800 MHz!

Notei uma pequena característica, presumo que seja uma característica do terminal, não do Expert Advisor, para o qual eu pessoalmente não tenho reclamações! Ao trabalhar no Metaeditor, tento compilar qualquer EA que não esteja sequer anexada a um gráfico, o terminal gera erros em seus logs. Ao mesmo tempo, este fato aparece de forma estável tanto no processador de 800MHz, quanto no P4 3GHz e Celeron 2GHz. Construir 198. Eu não tentei em 200. O InterbankFX tem alguns problemas com atualizações (o pedido de atualização aparece, mas as construções não estão sendo baixadas - mas não importa).
******************************
2006.12.09 03:26:29 SemDomingo_4: cabo inválido -1 em FileFlush
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteInteger
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileSeek
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileFlush
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteInteger
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileSeek
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileFlush
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteInteger
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileSeek
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileFlush
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteInteger
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileSeek
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileFlush
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteInteger
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileSeek
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileFlush
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteDouble
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 no FileWriteInteger
2006.12.09 03:26:29 29 SemDomingo_4: cabo inválido -1 em FileSeek
2006.12.09 03:26:29 29 SemDomingo_4 EURUSDm,Diário: Alerta: FileOpenHistory("WS_AUDNZDm1440. hst", FILE_BIN | FILE_WRITE ) - Erro #4102
2006.12.09 03:26:29: FileOpen - Demasiados arquivos abertos
2006.12.09 03:26:29 29 SemDomingo_4 EURUSDm,Diário: Alerta: FileOpenHistory("WS_NZDJPYm1440. hst", FILE_BIN | FILE_WRITE ) - Erro #4102
2006.12.09 03:26:29: FileOpen - Demasiados arquivos abertos
2006.12.09 03:26:29 29 SemDomingo_4 EURUSDm,Diário: Alerta: FileOpenHistory("WS_AUDCADm1440. hst", FILE_BIN | FILE_WRITE ) - Erro #4102
2006.12.09 03:26:29: FileOpen - Demasiados arquivos abertos
2006.12.09 03:26:29:29 SemDomingo_4 EURUSDm,Diário: Alerta: FileOpenHistory("WS_EURCADm1440. hst", FILE_BIN | FILE_WRITE ) - Erro #4102
2006.12.09 03:26:29: FileOpen - Demasiados arquivos abertos
2006.12.09 03:26:29 29 SemDomingo_4 EURUSDm,Diário: Alerta: FileOpenHistory("WS_EURAUDm1440. hst", FILE_BIN | FILE_WRITE ) - Erro #4102
2006.12.09 03:26:29: FileOpen - Demasiados arquivos abertos
2006.12.09 03:26:29 29 SemDomingo_4 EURUSDm,Diário: Alerta: FileOpenHistory("WS_GBPCHFm1440. hst", FILE_BIN | FILE_WRITE ) - Erro #4102
2006.12.09 03:26:29: FileOpen - Demasiados arquivos abertos
*****************************

Normalmente, depois que aparece, eu apenas reinicio o terminal e tudo continua a funcionar normalmente 24 horas por dia!
Estou escrevendo isto apenas para informação e não para que você tente lidar com o problema. Acho que você não pode passar sem a ajuda dos desenvolvedores.

Estou lhe escrevendo com o seguinte pedido. O Assessor Especialista para o cálculo das regressões lineares e parabólicas mencionadas acima neste ramo trabalha com base nas citações geradas por este roteiro. Os cálculos de regressão são baseados nos parâmetros médios das barras, ou seja, um valor de (O+H+L+C)/4 é tomado como um valor de referência. Mas, a julgar por minhas observações de longo prazo, suponho que este modelo de (O+H+L+C)/4 leituras não é bem sucedido. Eu coloco uma parada para uma ordem que é aberta na fronteira do nível de confiança de 95% na fronteira de 99,9%. Entretanto, houve casos em que o preço excedeu o limite do intervalo de confiança de 99,9% em apenas alguns pips. Ao mesmo tempo, o número de tais casos é maior do que o valor permitido de acordo com dados estatísticos! É por isso que eu realmente QUISERIA verificar minha suposição de que se tomarmos o modelo por High and Close como base para os cálculos, este limite será estatisticamente mais preciso. O Expert Advisor é muito volumoso - 184kB em um arquivo mq4. Há muitos lugares onde as citações são referenciadas. Se eu corrigir o EA para um novo modelo, então, além do fato de ser bastante trabalhoso, há uma alta probabilidade de introduzir erros em um algoritmo de cálculo bastante complexo, que em minha opinião já está bem testado e funciona de forma confiável.

É por isso que eu gostaria de pedir a vocês que melhorem a última versão do roteiro para que ele forme as citações do período H12 dos castiçais diários recebidos.
A barra H12 que abre às 00:00 deve ter os valores O=H=L=C=Baixo da barra diária inicial.
H12 barra que abre às 12:00 deve ter valores O=H=L=C=Alto da barra diária inicial.
Além disso, o Expert Advisor deve ser capaz de trocar os valores, ou seja, H12 bar às 00:00 = Alta da barra diária inicial, H12 bar às 12:00 = Baixa da barra diária inicial.
Durante atualizações de gráficos em tempo real, o Expert Advisor deve passar a última barra(s) H12 do dia atual sem processamento, ou seja, com os valores atuais de O,H,L,C para cada barra H12.
O processamento descrito das barras deve ser feito somente após o fechamento diário da vela, quando não houver mais mudanças nas barras H12 do dia fechado.
Se você puder me ajudar a melhorar o roteiro existente de acordo com o método descrito, isso irá MUITO acelerar a verificação do modelo High-Low em termos de análise estatística da criação de canais. Prometo apresentar aqui os resultados das comparações. Acho que será interessante para muitas pessoas interessadas no processamento de dados estatísticos lê-los. OBRIGADO com antecedência!!!

 
solandr:

InterbankFX está tendo alguns problemas com a atualização (o convite para atualizar aparece, mas a construção não é baixada - mas isso não importa)

A partir dos novos servidores reais, ela realmente não é atualizada. Com o servidor de demonstração liveupdate, ele se conecta sem problemas.
 

Pela minha parte, tentarei primeiro verificar o cálculo do canal apenas para Alto e Baixo apenas individualmente. Vou ver os resultados. Se os canais obtidos usando diferentes amostras coincidirem em comprimento, provavelmente podemos prescindir de um novo roteiro para o período H12. Ou seja, usaremos os dados em Alto para os limites superiores dos canais, e os dados em Baixo para os limites inferiores. Talvez eu esteja incomodando você por nada com meus pedidos se tudo puder ser resolvido muito mais facilmente na minha EA? Acho que não é difícil de implementar em meu Consultor Especialista.

 
komposter Estou tendo um problema aqui, você pode me dizer o que fazer? Todos os detalhes estão aqui http://forum.kimiv.ru/viewtopic.php?t=177
 
solandr:

Notei uma pequena coisa, que presumo ser uma característica do terminal e não da EA, da qual pessoalmente não tenho reclamações! Quando o Expert Advisor está em execução e eu compilo qualquer EA no Metaeditor, que nem sequer está anexado a nenhum dos gráficos, há um erro nos logs do terminal.

Desculpe não responder há muito tempo - acabei de voltar das férias...

O problema, me parece, é que a EA não fecha arquivos abertos. A questão é por que não faz isso =)
A única suposição é que durante a compilação, a função de início de funcionamento dos EAs é interrompida à força.

E no próximo "início", os arquivos são reabertos, mas não há "espaço suficiente" (máximo 32 arquivos abertos).

O próprio Expert Advisor não lida muito bem com esta situação - mesmo que um arquivo não tenha sido aberto, ele ainda tenta escrever dados ali.
Corrigido - adicionado uma linha =)
se ( HistoryHandle[curChart] < 0 ) continuar;


anexado Expert Advisor.



Em relação aos gráficos H12. "Tenho tempo mas não tenho dinheiro" não é sobre mim =)
Embora eu também tenha estes 2 valores inversamente relacionados - quanto mais tempo livre, menos dinheiro e vice versa.

No momento, eu não posso fazer trabalho de caridade - tenho muito trabalho.
E o fórum tem 5 páginas (*30 tópicos) não lidas....
Arquivos anexados:
Razão: