Como se proteger contra a cópia de longas negociações do testador - página 6

 
Alexey Viktorov:

...Exatamente um mês antes do final do teste. E não importa para onde você mude o tempo do computador... o resultado permanecerá o mesmo, um mês antes do final do teste.

Mas se não há como saber a data final do teste, então a idéia é impossível.

Sim, outra opção é saber a data exata do final do teste. Neste caso - também está bem, mas como descobrir esta data ?
 
George Merts:

Bem, como posso dizer... Antes havia uma situação com sinais de revenda e agora há clientes que utilizam este TS para trabalhar em seus PAMMs.

Este sistema comercial não é muito "super-duper lucrativo", entretanto, sua estabilidade é muito alta. E o principal - a capacidade de copiar negócios do testador não é conveniente para seu autor. E ele sugere que eu, como programador, deveria pensar em maneiras de resolver este problema.

Bem, a menos que seja um problema puramente técnico. Mas do ponto de vista do cliente isso ainda será um absurdo.

 
George Merts:
Sim, outra opção é saber a data exata do final do teste. Neste caso também está tudo bem, mas como sabemos esta data?

A data final do teste pode ser colocada no futuro, ela não rola.

Tente esta opção: a primeira corrida deve ser feita sem nenhuma ação, e somente com a lembrança da data da última corrida.
A segunda corrida deve ser comercializada, mas somente até a data desejada (memorizada menos um mês). Onde lembrar (e como encriptar) a data do último tick é uma questão de técnica.
O único inconveniente (e até agora o menor) - o teste deve ser realizado duas vezes ;)

 
Se tão sério, você pode obter o tempo em algum lugar da Internet.
 
George Merts:

Dimitri, o desafio é parar o processamento de carrapatos no testador antes da data real. Para isso, você precisa conhecer esta data real. Do testador só pode ser encontrado como escrito acima - por operação de arquivo. Mas, se um usuário manhoso move o tempo no computador adiante, a operação de arquivo também não dará o tempo real, mas o tempo deslocado para frente.

O problema, de fato, é que se a EA estiver funcionando no prazo M5 ou mais tarde (um problema particular no diário) - torna-se possível executá-la no testador de estratégia e ler a última ação, transferindo-a para outro terminal, e não para comprar uma EA, usando apenas a versão demo.

Proibir artificialmente o teste nas últimas barras N.
 
Dmitry Fedoseev:
Se tão sério, você poderia obter o tempo em algum lugar da Internet.
Dizem que o WebRequest não funciona no testador.
 
Vitalie Postolache:
Será que o autor deste tópico pode dar pelo menos um exemplo quando alguém foi capaz de reproduzir os resultados dos testes e obter lucro? Com apenas o demo-conselheiro no testador e nada mais?
Se nos propusermos a isso, podemos copiar estratégias de escalpe. O que o impede de rastrear um sinal do testador a cada 2-3 segundos?
 
Dmitiry Ananiev:
Se você se decidir por isso, você pode copiar estratégias de escalper como esta. O que o impede de rastrear um sinal do testador a cada 2-3 segundos?
O fato de ser um testador, funciona a priori no passado e não importa o quanto você tente, você não pode repetir a transação sob as mesmas condições e ao mesmo tempo. Mas se não se trata de pips, mas de longo prazo, então realmente alguém pode pensar em fazê-lo, embora haja pouco sentido de qualquer forma, é mais fácil de descobrir a estratégia e repetir.
 
Игорь Герасько:
Dizem que o WebRequest não funciona no testador.
Experimentei-o agora. Funciona. Testado em MT4 em testador, em especialista.
 
George Merts:
...

O problema não é tão simples quanto pode aparecer pela primeira vez. O seguinte pode ser sugerido (siga o pensamento):

  1. O Expert Advisor é compilado com a data atual escrita nele.
  2. O usuário recebe o Expert Advisor e o executa no testador de estratégia.
  3. Durante a primeira execução, o consultor especializado negocia no Testador de Estratégia até a data especificada nele (ou um mês antes dessa data, as condições ficam a critério do autor).
  4. Após a data especificada na mesma, ele continua a receber citações memorizando a hora da última cotação recebida no testador de estratégia, mas não realizando nenhuma ação comercial.
  5. Ao final dos testes, poupa o último tempo armazenado em um arquivo especial.
  6. O registro em si é criptografado e, portanto, seu conteúdo não pode ser alterado de tal forma que indique uma data futura ao decifrar o registro.
  7. Durante a próxima execução no Testador de Estratégia, o Consultor Especialista lerá este arquivo, decodificará seu conteúdo e perceberá que ele já foi executado pelo menos até a data especificada nele.
  8. Então, durante a segunda e subseqüente execução, continuará negociando até a data especificada no arquivo menos um mês.
  9. Ao receber novas datas no Strategy Tester ou na conta real, ele continuará automaticamente em movimento após o novo histórico e manterá a distância de um mês.

Do ponto de vista do usuário, ele terá a seguinte aparência: na primeira vez, durante a execução, ele não negociará até o final do período de otimização selecionado, por algum motivo. No entanto, a partir da segunda corrida, seu atraso diminuirá e corresponderá a cerca de um mês.

Neste caso, a proteção só pode ser removida pela decodificação completa do arquivo, encontrando uma chave ou descompilando o Expert Advisor. Dada a tecnologia atual e a qualidade da proteção da MQ de seus programas, isto é praticamente impossível. Se o usuário decidir excluir o arquivo de criptografia, o Expert Advisor o criará de novo, com a data antiga de proteção nele na compilação, e o usuário ainda não será capaz de fazer uma troca no momento atual.

O que é bom, tal método limita apenas ligeiramente a conveniência do usuário. A reinicialização da EA consertará completamente o atraso muito longo. Ao mesmo tempo, este tipo de proteção não requer DLLs externas, o que significa que ela pode ser distribuída no mercado. Por exemplo, você pode criar uma versão gratuita que só comercializa até uma determinada data.