Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1805

 
Posso scaricare 32 mt4 per installarlo su un sistema operativo a 64 bit?
 
Seric29 #:
Posso scaricare 32 mt4 per installarlo su un sistema operativo a 64 bit?
 
Seric29 #:
È possibile scaricare 32 mt4 per installarlo su un sistema operativo a 64 bit?
Beh, MT4 x64 non esiste affatto... E qualsiasi applicazione x32 può essere installata su un sistema operativo x64
 
Mihail Matkovskij #:

L'ho notato solo ora.

Indice 1.

Mentre voi avete il MA con un indice di 0! Cioè, cammina per tutta la barra e può andare oltre Open e Close. Pertanto, è meglio indicizzare MA per 1.

Poi tutti i segnali saranno presi eccezionalmente sulla barra formata e il robot sarà completamente coerente con il sistema di trading con segnali sui prezzi aperti. Pertanto, il robot dovrà solo seguire l'apertura della barra (ho già aggiunto questo codice) ed entrare sulla barra appena formata. Sarà più affidabile. Non avrà bisogno di provare come ha dovuto fare Makar a causa dell'algoritmo di ingresso sbagliato.

Grazie. Ne sono consapevole e cercherò di eseguire il mio TS sulla storia con "1".

 
MakarFX #:
Artem, la strategia ha un ordine nel mercato fino a quando chiude al TP o allo SL.

Signori, grazie a tutti, ma non pensavo che la mia domanda avrebbe generato così tante "polemiche"))

Sono un sostenitore degli EA, che sono semplici come gli AK-47.

segnale - ingresso

stop/stop/stop-out

commercio in un solo ordine.

Sto usando il codice di altre persone e aggiungendo il mio (con il vostro aiuto) e non ho intenzione di cambiare nulla a meno che non sia necessario perché "funziona e sembra semplice".

Ora sono preoccupato per una nuova domanda

Come far deviare il punto di entrata di n barre?

bool bSignalBuy()
  {
   if(dMA > Open[1] && dMA < Close[1])
     if (TimeCurrent()> iTime(NULL,0,5)) 
      return(true);

   return(false);
  }
//+-----------------------------------------------------------------------------------------------+
//|                                                             Функция поиска сигнала на продажу |
//+-----------------------------------------------------------------------------------------------+
bool bSignalSell()
  {
   if(dMA < Open[1] && dMA > Close[1])
     if (TimeCurrent()> iTime(NULL,0,5))
      return(true);

   return(false);
  }

Cioè, presumo che se:

TimeCurrent - tempo di arrivo dell'ultima quotazione > iTime - dove "5" si spostarispetto alla barra corrente indietro del numero di barre specificato, quindi il segnale è andato.

Qualcosa è andato storto da qualche parte, visto che non funziona ancora.

 
законопослушный гражданин #:

Ho sbagliato qualcosa da qualche parte, non funziona ancora.

ha sbagliato tutto.

prova a pensare - questa condizione:

if (TimeCurrent()> iTime(NULL,0,5))

mai restituito false?

Per quanto riguarda l'argomento - nel ciclo dalla barra 1 alla barra iBars(NULL,0) cercate un segnale, se avete trovato un segnale, restituite il numero di barra dove avete trovato l'incrocio? o ecc.

se non trovate il segnale restituite -1 o forse INT_MAX .... dipende da come si vuole gestire la situazione se non ci fosse un crossover

 
Igor Makanu #:

ha sbagliato tutto.

prova a pensare - questa condizione:

mai restituito false?

Per quanto riguarda l'argomento - nel ciclo dalla barra 1 alla barra iBars(NULL,0) cercate un segnale, se avete trovato un segnale restituite il numero della barra dove avete trovato l'incrocio? o ecc.

se non trovate il segnale restituite -1 o forse INT_MAX .... dipende da come si vuole gestire la situazione se non ci fosse un crossover

Quindi vuoi essere "legato" non al tempo ma al numero di barre?

 
законопослушный гражданин #:

Quindi non è il tempo che conta, ma il numero di battute?

bene quasi.... ancora una volta: eseguire in un ciclo i segnali su ogni bar.... capito?

for(int i=1;i<Bars;i++)
{
if(dMA < Open[i] && dMA > Close[i]) return(i);
}
return(INT_MAX);
 
Igor Makanu #:

bene quasi.... ancora una volta: eseguire i segnali su ogni barra.... l'hai preso?

Sì. spiegato, davvero non capisco ancora, perché ho bisogno di "ciclare" attraverso tutte le barre?

Ho una barra espressa in termini di prezzo di apertura e di chiusura. Dà un segnale per aprire un ordine sulla barra successiva.

Ho pensato che se esprimessi la "barra del segnale" attraverso il tempo invece del prezzo, potrei semplicemente aggiungere la quantità di tempo necessaria ad essa e "spostare" il tempo di apertura della posizione.

 
законопослушный гражданин #:

Sì. spiegato, davvero non capisco perché devo "passare attraverso" tutte le barre?

Ho una barra espressa in termini di prezzo di apertura e di chiusura. Dà un segnale per aprire un ordine sulla barra successiva.

Ho pensato che se esprimessi la "barra del segnale" attraverso il tempo invece del prezzo, potrei semplicemente aggiungere la quantità di tempo necessaria ad essa e "spostare" il tempo di apertura della posizione.

Dovete decidere - come formulare la domanda?

cittadino rispettoso della legge #:

Come rendere il punto di entrata ritirato da n barre?

qui e cercate una barra dove l'ultimo segnale era - per impostare un segnale di controllo duro sulla barra #5 - non è l'opzione migliore, imho - cercate nel ciclo, se volete, poi fate il ciclo non per tutte le barre, ma per esempio da 1 a N

A proposito: la barra, tra l'altro, è una soluzione universale - ora volete su un TF aprire un ordine in 15 minuti, poi decidete che ne avete bisogno su un TF più alto in 2 ore - conoscendo la barra dove è stato l'ultimo segnale, potete immediatamente ottenere il tempo di questa barra