Come proteggersi dalla copia di operazioni lunghe dal tester - pagina 6

 
Alexey Viktorov:

...Esattamente un mese prima della fine del test. E non importa dove si sposta il tempo del computer... il risultato rimarrà lo stesso, un mese prima della fine del test.

Ma se non c'è modo di sapere la data di fine del test, allora l'idea è impossibile.

Sì, un'altra opzione è conoscere la data esatta di fine del test. In questo caso - anche bene, ma come scoprire questa data?
 
George Merts:

Beh, come posso dire... Una volta c'era una situazione di rivendita di segnali, e ora ci sono clienti che usano questo TS per lavorare sui loro PAMM.

Questo sistema di trading non è molto "super-duper redditizio", tuttavia, la sua stabilità è molto alta. E la cosa principale - la capacità di copiare le operazioni dal tester non è conveniente per il suo autore. E suggerisce che io, come programmatore, dovrei pensare a come risolvere questo problema.

Beh, a meno che non sia un problema puramente tecnico. Ma dal punto di vista del cliente sarà ancora una sciocchezza.

 
George Merts:
Sì, un'altra opzione è conoscere la data esatta di fine del test. Anche in questo caso va bene, ma come facciamo a sapere questa data?

La data di fine del test può essere messa nel futuro, non rotola.

Provate questa opzione: la prima corsa dovrebbe andare senza alcuna azione, e solo con il ricordo della data dell'ultima spunta.
La seconda corsa dovrebbe scambiare, ma solo fino alla data desiderata (memorizzata meno un mese). Dove ricordare (e come criptare) la data dell'ultima spunta è una questione di tecnica.
L'unico inconveniente (e finora il minore) - il test deve essere eseguito due volte ;)

 
Se è così serio, puoi ottenere l'ora da internet da qualche parte.
 
George Merts:

Dimitri, la sfida è smettere di elaborare le zecche nel tester in anticipo rispetto alla data reale. Per questo è necessario conoscere questa data reale. Dal tester può essere trovato solo come scritto sopra - per operazione di file. Ma, se un utente furbo sposta il tempo sul computer in avanti, anche l'operazione del file darà non il tempo reale, ma il tempo spostato in avanti.

Il problema, infatti, è che se l'EA è in esecuzione su timeframe M5 o successivi (un problema particolare sul giornaliero) - diventa possibile eseguirlo nello strategy tester e leggere l'ultima azione, trasferendola su un altro terminale, e non comprare un EA, utilizzando solo la versione demo.

Proibire artificialmente il test sulle ultime N-barre.
 
Dmitry Fedoseev:
Se è così serio, potresti prendere il tempo da internet da qualche parte.
Dicono che WebRequest non funziona nel tester...
 
Vitalie Postolache:
Mi chiedo se l'autore di questo thread può dare almeno un esempio in cui qualcuno è stato in grado di riprodurre i risultati dei test e fare profitto? Con solo demo-advisor nel tester e nient'altro?
Se ci mettiamo in testa di farlo, possiamo copiare le strategie degli scalper. Cosa vi impedisce di tracciare un segnale dal tester ogni 2-3 secondi?
 
Dmitiry Ananiev:
Se ti ci metti d'impegno, puoi copiare strategie di scalper come questa. Cosa vi impedisce di tracciare un segnale dal tester ogni 2-3 secondi?
Il fatto che sia un tester, funziona a priori nel passato e non importa quanto duramente ci provi, non puoi ripetere l'operazione nelle stesse condizioni e allo stesso tempo. Ma se non si tratta di pips, ma di lungo termine, allora davvero qualcuno può pensare di farlo, anche se non ha molto senso comunque, è più facile capire la strategia e ripetere.
 
Игорь Герасько:
Dicono che WebRequest non funziona nel tester...
Provato ora. Funziona. Provato in MT4 in tester, in esperto.
 
George Merts:
...

Il problema non è così semplice come può sembrare a prima vista. Si può suggerire quanto segue (seguire il pensiero):

  1. L'Expert Advisor viene compilato con la data attuale scritta al suo interno.
  2. L'utente riceve l'Expert Advisor e lo esegue nel tester di strategia.
  3. Durante la prima esecuzione, l'Expert Advisor fa trading nello Strategy Tester fino alla data specificata in esso (o un mese prima di tale data, le condizioni sono a discrezione dell'autore).
  4. Dopo la data specificata in esso, continua a ricevere quotazioni memorizzando l'ora dell'ultima quotazione ricevuta nel tester di strategia, ma senza eseguire alcuna azione di trading.
  5. Alla fine del test, salva l'ultimo tempo memorizzato in un file speciale.
  6. Il record stesso è criptato e quindi il suo contenuto non può essere modificato in modo tale da indicare una data futura quando si decripta il record.
  7. Durante la prossima esecuzione nello Strategy Tester, l'Expert Advisor leggerà questo file, decifrerà il suo contenuto e si renderà conto che è già stato eseguito almeno fino alla data specificata in esso.
  8. Poi, durante la seconda e le successive esecuzioni, continuerà a commerciare fino alla data specificata nel file meno un mese.
  9. Man mano che riceve nuove date nello Strategy Tester o sul conto reale, continuerà automaticamente a muoversi dopo la nuova storia e a mantenere la distanza di un mese.

Dal punto di vista dell'utente, sarà così: la prima volta, durante l'esecuzione, non scambierà fino alla fine del periodo di ottimizzazione selezionato per qualche motivo. Tuttavia, a partire dalla seconda corsa in poi, il suo ritardo diminuirà e corrisponderà a un mese circa.

In questo caso la protezione può essere rimossa solo con la decriptazione completa del file trovando una chiave o decompilando l'Expert Advisor. Data la tecnologia di oggi e la qualità della protezione dei programmi di MQ, questo è praticamente impossibile. Se l'utente decide di cancellare il file di crittografia, l'Expert Advisor lo creerà di nuovo, con la vecchia data di protezione nella compilazione, e l'utente non sarà ancora in grado di fare un trade al momento attuale.

Ciò che è buono, un tale metodo limita solo leggermente la comodità dell'utente. Eseguire nuovamente l'EA risolverà completamente il ritardo troppo lungo. Allo stesso tempo, questo tipo di protezione non richiede DLL esterne, il che significa che può essere distribuito sul mercato. Per esempio, puoi creare una versione gratuita che commercia solo fino a una certa data.

Motivazione: