Desenvolvedores! Testa sequer o que cria? - página 7

 

Boa tarde!

С-4

Stock# não é gratuito para a nova porta de entrada Cgate Plaza II.

O Cgate API é distribuído livremente pela bolsa. Escreva o seu próprio terminal (claro que não vai ser tão bonito como o MQ),

não é difícil, é difícil traduzir Cgate API para utilizador API, que poderá escrever em qualquer língua o seu próprio Expert Advisor - DLL.

Na essência, a minha ideia é esta:

BASE --> PLAZAII(Cgate API) --> Terminal simples --> DLL conselheiro de utilizador.

Na fig. I obtenho uma citação de teste da bolsa através do protocolo Plaza II


O terminal está quase pronto (eu escrevi-o 3 dias)!

Na língua (num DLL-advisor) pode criar os "gadgets" que quiser (copos, botões, gráficos adicionais, etc.),

só será limitado pelo ambiente de desenvolvimento.

Existe, contudo, uma grande desvantagem neste conceito - a complexidade de testar a EA (apenas através de registos, por enquanto).

Mas as vantagens inegáveis - a ligação "directa" ao intercâmbio, e qualquer linguagem de programação.

P.S. Conceito cliente-servidor (como em geral qualquer negociação electrónica) baseado APENAS no modelo do evento: PEDIDO-Resposta - essa é a BASE!

Pode inventar o que quiser (várias verificações, etc.), mas se não funcionar devidamente - responder, no final ainda

Inevitavelmente, levará a um erro no Expert Advisor.


 
Mikalas:

...

Existe, contudo, uma grande desvantagem neste conceito - a dificuldade de testar a EA (apenas através de registos, por enquanto).

...

A grande vantagem do conceito MT5 é a comunicação no fórum com os tipos inteligentes. Se não custa nada, então ...

 
Mikalas:

O terminal está quase pronto (3 dias inteiros de escrita)!

Impressionante durante três dias!

A única questão é: se tudo é tão bom, porque é que continua a usar o MT5?

DC2008:

Há uma grande vantagem no conceito de MT5 - a comunicação no fórum com os tipos inteligentes. Se não custar nada, então .

Sim, isso é certo. Hoje em dia, produtos como este não podem simplesmente sobreviver sem o seu ecossistema. Um fórum, comunicação, milhares de utilizadores, activistas como tu e eu prontos para postar, discutir, blogue... Sem o apoio dos utilizadores, qualquer projecto, seja ele qual for, mais cedo ou mais tarde irá parar, e todos os esforços para o desenvolver serão desperdiçados.
 

С-4!

O terminal - serve SOMENTE para exibir qualquer coisa!

Já escrevi antes que não é nada difícil. A parte mais difícil é transformar o Cgate API num User API,

Já fiz 1/200 (não a mais difícil) parte do que precisa de ser feito.

Cgate Plaza II é um cliente-servidor assíncrono de streaming, e os streams podem

contêm mais do que um tipo de informação!

Infelizmente, não tenho o nível para fazer esta transformação completamente rapidamente....

Existem apenas 2 produtos (pagos) no mercado que funcionam via Cgate, e eu não sou

Não tenho a certeza se é a correcta.

Assim, em FORTS, até eu escrever CGate Trader, é MT5.

 

A propósito, encontrei um artigo interessante sobre MetaTrader 5 Trading Events da MetaQuotes Software Corp, datado de 24 de Janeiro de 2011. Entre outras coisas, diz:

Сообщения о торговых событиях и об изменениях в торговой истории поступают по независимым каналам. При отправке запроса на покупку функцией OrderSend() можно сразу же узнать тикет ордера, который был создан при успешном результате проверки запроса. Но в то же время сам ордер еще может не появиться в клиентском терминале и попытка выбрать его с помощью функции OrderSelect() окажется неуспешной. 

Também:

Todas as operações no servidor de comércio e envio de mensagens sobre eventos comerciais são realizadas de forma assíncrona. Há apenas uma forma garantida de descobrir o que mudou exactamente numa conta comercial. Esta forma é recordar o estado do comércio e a história do comércio e comparar o novo estado com o estado salvo.

Seguem-se exemplos de como montar correctamente um balcão de encomendas e comércio.

Se analisar cuidadosamente o problema do autor, verificará que não há problema, basta encontrar força moral para rejeitar a função OnTradeTransaction() e apanhar todas as alterações no OnTimer() com actualização de alta resolução.

Em poucos minutos redigi o meu exemplo de trabalho com uma história alterada.

///
/// Следит за поступлением новых трейдов и ордеров.
///
void OnTimer()
{
     datetime tBegin = TimeCurrent();
     HistorySelect(dataBegin, TimeCurrent());
     //Если новые трейды не поступили, то и нечего обрабатывать.
     if(HistoryDealsTotal() == 0)return;
     AddDeals();
     dataBegin = tBegin;
}
Há uma armadilha oculta neste exemplo e não pode ser usada como está, mas penso que o conceito é claro. Cada vez que carregamos um pedaço de história desde o último comércio processado até ao momento actual. Se surgir um novo comércio, processamo-lo e baralhamos o início do carregamento da história até ao momento da chegada do comércio.
 
C-4:

A propósito, encontrei um artigo interessante sobre MetaTrader 5 Trading Events da MetaQuotes Software Corp, datado de 24 de Janeiro de 2011. Entre outras coisas, diz:

Uh-huh

 

E recomendo ao autor que leia o artigo Como criar um robô comercial e não perder tempo. Encaixa exactamente:

Программисты часто выбирают четвертый путь – они сразу начинают писать торгового робота и не хотят особенно тратить время на ручную торговлю. Зачем? Ведь можно сразу написать автомат, потратив на это несколько месяцев, и затем только пожинать плоды своего труда.

Mas "não se pode tirar o peixe do tanque sem mão-de-obra", e o programador começa frequentemente a escrever toda a infra-estrutura necessária - obtenção e processamento de dados de preços, representação visual de gráficos e indicadores, ferramentas personalizadas para testar a estratégia na história, e assim por diante - a partir do zero, em vez do robô comercial.

No processo deste trabalho ele obtém uma grande experiência útil. Mas ao mesmo tempo ele ou ela, na maioria dos casos, não está nem um pouco mais próximo do objectivo final - a criação de um sistema de comércio automatizado. E mesmo que ele ou ela vá até ao fim, onde está a garantia de que o robô escrito será rentável? E se ele ou ela quiser escrever outro sistema comercial? É preciso reconstruir tudo e lidar com os novos erros de programação inevitáveis.

 

Vasily!

Compreendo certamente o seu apego ao MT-5, mas acredite na minha palavra.

Não vale a pena escavar em histórias, porque também aí podem ser escritos dados errados!

Por favor, entenda uma coisa simples - Cliente-servidor = resposta de pedido!

A ordem foi melhorada e a resposta vem de que foi parcialmente executada,

o que pensa que vai acontecer na história?

 

Roch!

Vocês também me impõem o que li cinco vezes.

Não estou a falar de fazer um robô (ou de como escrever um), mas de

Não estou a falar de fazer um robô (ou de como o escrever), mas de erros específicos no MT-5!

Nem sequer se dá ao trabalho de olhar de perto para a imagem

Eu anexei (TEMPO DE MENSAGEM)

 
Mikalas:

Nem sequer se dá ao trabalho de olhar de perto para a imagem que

Anexei.

Pobre rapaz, quem me dera poder ajudar-te... estás tão tenso, estás a gritar.


pode dar-me um ficheiro de registo de texto em vez de capturas de ecrã.

+ um código onde eu possa reproduzir o seu erro?