[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 306

 
borilunad:
a meno che, naturalmente, il mercato stesso non li metta a punto per voi, cioè programmati con un feedback

Ho inserito da un lato la raccolta di statistiche, e dall'altro la scansione per parametri trasmessi (ad esempio la scansione per periodo di ondeggiamento) al fine di trovare il massimo dalle statistiche, e la scansione di nuovo periodicamente da un tasto di scelta rapida assegnato. Quali altri modi ci sono?

A proposito di umorismo.

#property indicator_chart_window
void start(){
   if(Bid>Ask) Alert("Это конец света");
   return;
}

- indicatore della fine del mondo.

 

Ciao a tutti!

Sto testando una strategia che prevede l'apertura di un ordine a mercato all'apertura

diogni candela a cinque minuti.

Alcuni ordini il tester (MT-4 di Alpari) non si apre e dà errore 148.

Questo errore è causato dal superamento del limite di ordini aperti contemporaneamente.

Non ho intenzione di aprire ogni cinque minuti nella vita reale.

D: Come posso rimuovere qualsiasi limite di ordini aperti allo stesso tempo?

Nel tester?

Grazie.

 

gyfto, hai capito male o non mi sono spiegato bene. Abbiamo una posizione aperta, dobbiamo determinare il suo prezzo aperto, e quando la barra chiude sopra il prezzo aperto, usciamo.

 
borilunad:
Victor, come puoi farlo senza externs, devi fare il debug nel tester, nella demo! Scrivi davvero in modo tale da non dover modificare nulla? Sono d'accordo che la stabilità è necessaria nel vostro TS, ma è impossibile non modificare i parametri, a meno che, naturalmente, il mercato non li modifichi, cioè, li avete programmati con un feedback! Allora sei già un grande asso! Congratulazioni!


Non è questo, è solo che con me, tutto quello che scrivo non ha quasi nessun parametro di ottimizzazione. Preferisco esattamente le strategie basate sull'azione dei prezzi Induks che ho studiato tranquillamente, solo per essere in grado di lavorare con loro. Ma mi interessano solo per visualizzare quello che succede.

E per trasformare i parametri in parametri, è un adattamento al mercato. E adattarlo a un periodo di tempo specifico è una panacea?

 
cursed:

gyfto, hai capito male o non mi sono spiegato bene. Abbiamo una posizione aperta, dobbiamo determinare il suo prezzo aperto, e quando la barra chiude sopra il prezzo aperto, usciamo.


A giudicare da quanto sopra, la tua condizione è nel posto sbagliato. Dovreste inizialmente organizzare la ricerca degli ordini e poi, quando l'ordine viene trovato, il suo parametro dovrebbe essere confrontato con qualcos'altro.

Altrimenti, viene confrontato con il prezzo di chiusura della barra al di fuori della ricerca, e quindi non abbiamo alcun risultato.

 
hoz:

... E poi i parametri, è un adattamento al mercato. E adattarlo a un periodo di tempo specifico è una panacea?

Sì, se quel lasso di tempo è RealTime. :)
 
Zhunko:

Victor, hai molte variabili nella tua funzione e nessuna dichiarata.

Il compilatore ha detto:

variabile non definita

Una variabile non è definita. Ce ne sono 18.


Vadim, vedo che non sono dichiarati. Ci ho pensato per un po' di tempo. Non hai dichiarato nessuna variabile globalmente, proprio come me. Ma non ci sono errori durante la compilazione! Ho capito che tutte le vostre variabili sono definite attraverso parametri di funzione nell'inclusione, giusto?

 
tara:
Sì, se quel tratto di tempo è RealTime. :)


Non è un adattamento, è una specie di adattamento automatico :)
 
hoz:


Vadim, vedo che non sono dichiarati. Ci ho pensato per un po'. Non hai dichiarato nessuna variabile globalmente, proprio come me. Ma non ci sono errori durante la compilazione! Ho capito che tutte le vostre variabili sono definite attraverso parametri di funzione nell'inclusione, giusto?

Qualsiasi variabile deve essere dichiarata prima di poter essere utilizzata. Potete averla nei parametri, potete averla globalmente nella libreria.
 
<br / translate="no">

A giudicare dal design della funzione, è altamente specializzato. Perché metterlo nella biblioteca? Soprattutto perché probabilmente sarà chiamato in un ciclo su ogni barra.

Stavi dicendo qualcosa sulla velocità e l'ottimizzazione. State creando un codice molto lento. In MQL4 non bisogna mettere le funzioni in un ciclo. Meno chiamate di funzione in un ciclo, più velocemente il codice viene eseguito.

Quindi questa è una funzione della biblioteca:

//+-------------------------------------------------------------------------------------+
//| Получаем машку с заданными параметрами                                              |
//+-------------------------------------------------------------------------------------+
double GetMA(int typeOfMA)
{
   switch (typeOfMA)
   {
      case 1:      return (iMA(NULL, i_fastMATF, i_fastMAPeriod, i_fastMAShift, i_fastMAMethod, i_fastMAApplied, i_fastMAIndex));
      case 2:      return (iMA(NULL, i_slowMATF, i_slowMAPeriod, i_slowMAShift, i_slowMAMethod, i_slowMAApplied, i_slowMAIndex));
      case 3:      return (iMA(NULL, i_filtrMATF, i_filtrMAPeriod, i_filtrMAShift, i_filtrMAMethod, i_filtrMAApplied, i_filtrMAIndex));
   }
}

Vadim, circa Funzioni in loop. Intendi quello che restituisce l'operatore di commutazione? Ma non è che sto ottenendo valori su tutto il numero di variabili del ciclo. Confronta solo il tipo di maschera (variabile di ingresso della funzione) e poi calcola il valore della maschera. Si scopre che non ci sono calcoli aggiuntivi. Devo solo selezionare il tipo di maschera, e questo è tutto! Voglio capire cosa intendi per:

Zhunko:

In MQL4 non si dovrebbero mettere funzioni nei cicli. Meno chiamate di funzione nel ciclo, più velocemente il codice funziona.

Posso chiarire?