Codice Morse

 

L'essenza dell'EA è di impostare certe combinazioni di candele. Le regole sono: una candela rialzista significa "1", una candela ribassista significa "0". Quindi, è possibile cercare tali combinazioni di candele semplicemente specificando "101":

Codice Morse

Finora, il problema è nella codifica della rappresentazione delle combinazioni - non è possibile specificare un numero in forma binaria nei parametri di input.

Forum sul trading, sistemi di trading automatico e test di strategia

Codice Morse

Vladimir Karputov, 2017.04.06 10:25

Finora il codice Morse versione "1.003": è possibile impostare manualmente una stringa di descrizione di un modello e anche eseguire singoli passaggi nel tester.

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Codice Morse

Vladimir Karputov, 2017.04.07 08:42

Codice Morse versione "1.005

...

Risolto due problemi:

1). l'utente vede il modello come "0101" nei parametri di input:

Comoda visualizzazione dei parametri di ingresso

2). Il parametro di ingresso è perfettamente ottimizzato nel tester.



 
Vladimir Karputov:

L'essenza dell'EA è di impostare certe combinazioni di candele. Le regole sono: una candela rialzista significa "1", una candela ribassista significa "0". Quindi, è possibile cercare tali combinazioni di candele semplicemente specificando "101":

Mentre il problema è nella codifica della rappresentazione delle combinazioni - nei parametri di input non possiamo specificare il numero in forma binaria.


è possibile scrivere un testo e poi analizzare la stringa....
 

(Va bene).

Nei parametri di input, è possibile specificare numeri in forma decimale. E può anche essere convertito in binario o già usato come una sequenza di segni binari estraendo ogni bit individualmente. È così semplice)).


 
Vladimir Pastushak:

è possibile messaggiare e poi disaccoppiare la stringa....

Come bozza ho fatto così, più tutti i tipi di controlli - per la lunghezza della stringa e per assicurarsi che solo i caratteri '0' e '1' fossero nella stringa. Ma c'è un nuovo problema: una tale stringa non può essere eseguita in tester in modalità ottimizzazione:).
 
Aliaksandr Hryshyn:

(Va bene).

Nei parametri di input, è possibile specificare numeri in forma decimale. E può anche essere convertito in binario o già usato come una sequenza di segni binari estraendo ogni bit individualmente. È semplice)).



È possibile impostarlo come parametro binario, ma non è possibile presentarlo come rappresentazione binaria nei parametri di ingresso:

Forum sul trading, sistemi di trading automatico e test di strategia

Parametro di ingresso in forma binaria

Vladimir Karputov, 2017.04.05 09:24

Esempio di aiuto per itipi char, short, int e long:

... Per le variabili intere, i valori possono essere specificati in forma binaria usando il prefisso B. Per esempio, potete codificare le ore di lavoro di una sessione di trading in una variabile di tipo int e utilizzare le informazioni su di essa secondo l'algoritmo richiesto:

//--- для рабочих часов ставим 1, для нерабочих указываем 0 
   int AsianSession   =B'111111111'; // азиатская сессия с 0:00 часов до 9:00 
   int EuropeanSession=B'111111111000000000'; // европейская сессия  9:00 - 18:00 
   int AmericanSession =B'111111110000000000000011'; // американская 16:00 - 02:00 


Ma specificando il parametro di ingresso in forma binaria (esattamente nella forma11111111111000000000)

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                                      Copyright 2017, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property script_show_inputs
//--- для рабочих часов ставим 1, для нерабочих указываем 0 
input int AsianSession=B'111111111'; // азиатская сессия с 0:00 часов до 9:00 
input int EuropeanSession=B'111111111000000000'; // европейская сессия  9:00 - 18:00 
input int AmericanSession=B'111111110000000000000011'; // американская 16:00 - 02:00 
//---
string text="10";
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
//---

  }
//+------------------------------------------------------------------+

non funzionerà - nei parametri di input, la rappresentazione binaria del numero è convertita in un numero regolare:

Parametri di ingresso


Domanda: c'è un modo per impostare i valori nei parametri di input esattamente in forma binaria (in modo che un utente non veda un numero, ma solo una rappresentazione binaria, come11111111111000000000)?


 
La situazione non sembra molto affidabile per una candela Close == Open
E l'opzione -1 0 1 è suggerita
Dove 0 è adatto a qualsiasi direzione
 
Vladimir Karputov:

L'ho fatto in questo modo come bozza, più tutti i tipi di controlli - per la lunghezza della stringa e per assicurarsi che solo i caratteri '0' e '1' fossero nella stringa. Ma c'è un nuovo problema: una tale stringa non può essere eseguita in tester in modalità ottimizzazione:).


Rendere il parametro di input di tipo int e poi cambiare il tipo int in stringa e analizzare ....

 
Sergey Dzyublik:
La situazione non sembra molto affidabile per una candela Close == Open
E l'opzione -1 0 1 è suggerita
Dove 0 va bene per qualsiasi direzione

Ho rifiutato la variante Close == Open perché è inaffidabile -> una tale candela non ha direzione.
 
Quale INT?
È solo attraverso stringhe o array.
 
Vladimir Karputov:

Potete impostarlo come parametro in forma binaria, ma non potete rappresentarlo nei parametri di input in forma binaria:


Ho scritto che si può impostare in forma decimale, come un intero ordinario, e poi estrarre i singoli bit da esso.
 
Vladimir Karputov:

Ho scartato l'opzione "Close == Open" come inaffidabile -> una tale candela non ha direzione.

Bene, allora dobbiamo considerare tutte le varianti attraverso il grafico dei fluidi.
Perché quello che è stato buttato fuori, potrebbe dare una direzione completa a -30 secondi
Motivazione: