[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 22

 
granit77:
Com'è la sua logica? Sei venuto a chiedere aiuto o sei già avanti? Senti la differenza?
E in sostanza: tu sei la quinta persona che cerca di spiegare che la domanda deve essere formulata in modo più specifico per poter dare una risposta specifica.

Colleghi, aiuto! Una EA può essere cooptata con un'altra e aggiungere dei valori!

-C'è un appello specifico, basta che un professionista dica "Sì, ti aiuterò" e io ci metterei tutto il punto e i miei EA!

Scordatelo! Grazie per il vostro aiuto!

 
Ereke:

Colleghi, aiuto! Una EA può essere cooptata con un'altra e aggiungere dei valori!

-Sono state le mie parole! C'è un appello specifico! Serve solo un professionista che dica AIUTO! E io avrei esposto tutto il punto e i miei EA!

Non importa! Grazie per il vostro aiuto!

Giustamente superato. Se questo è un indirizzo specifico, io sono Gran Maestro dell'Ordine dei Rosenkreuzers.
 
Roman.:


Ecco come si possono organizzare le condizioni nel codice affinché il prezzo di chiusura (diciamo una candela bianca) rompa un frattale verso l'alto:

if (Close[1] > upfractal) { DO IT }

Ilprezzo di chiusura può essere molto al di sopra del frattale (se il frattale è in alto) e quindi il potenziale profitto è perso. Controllo la ripartizione dei prezzi ad ogni tick.
 
granit77:
Esatto, lascia perdere. Se questo è un indirizzo specifico, io sono Gran Maestro dell'Ordine dei Rosenkreuzers.


Un altro saputello!

 
Roman.:



Che cosa sono le tue schiere di alci e tees qui - è la prima volta che vedo un tale disegno?


Mi dispiace, era la mia inerzia da un altro modello, dove i lotti e le pause erano calcolati usando una variabile contenente un array di prezzi di apertura. E, se non fossero stati fatti array, non avrebbe compilato.
 
Roman.:



Per quanto riguarda la tua domanda da https://www.mql5.com/ru/forum/131277/page19 - fai il fatto della formazione della rottura della MA come una variabile di tipo bool, e poi segui la rottura frattale.

Cioè, se МА rompe dal basso verso l'alto flagUp=true...


Ce l'ho nel mio codice

 bool   Двверх=false,
        Дввниз=false,
        Сделкавверх=false,
        Сделкавниз=false;


//--------------------------------------------------------------------
        if(NormalizeDouble(MA_8,Digits)>NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_7,Digits)>=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_6,Digits)>=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_5,Digits)>=NormalizeDouble(MA_2,Digits) 
        && NormalizeDouble(MA_3,Digits)>=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_4,Digits)>=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_2,Digits)<NormalizeDouble(MA_1,Digits)) // Перелом вверх
          {
            Двверх=true;
            Alert("Двверх");
            Дввниз=false;
            Сделкавниз=false;
            dwfractal=0;
            
          }
 
Ereke:
Quando ti viene fatta una domanda, devi essere disposto a rispondere! Se no, non scrivere e tieni per te le tue battute! Ragazzo intelligente! "Se ti è sfuggito, guarda il nome del thread! Non è stato creato per quelli che vengono qui a scrivere battute sui nuovi arrivati nel mercato Forex!

Il mio uomo. Hai visto la tua domanda? Voglio combinare due EA e aggiungere parametri. Il punto è questo. Dove sono i due EA? Quali diavolo sono i parametri da aggiungere? Questo è quello che stavo sottolineando.

Se tu avessi allegato gli EA e specificato quali parametri volevi aggiungere, sarebbe stata una conversazione diversa. Guardate come le altre persone fanno domande - allegano il codice che non riescono a capire. O avete pensato che ora una folla di altruisti vi inonderà con i loro suggerimenti e aspetterà pazientemente le vostre ulteriori istruzioni per l'azione? Sbagliato. Ma poi... Victor ha ragione - un colpo in aria...

O sei solo un troll?

 
Roman.:


Poi, se il frattale viene sfondato, entriamo nel mercato. Pensateci - come farà la MA a sfondare dal basso e il frattale superiore allo stesso tempo sullo stesso TF temporale? Prima di tutto, dobbiamo determinare il fatto della rottura della MA dal basso verso l'alto, e poi monitorare la rottura del prezzo del frattale superiore. Se la rottura МА dall'alto verso il basso avviene prima della penetrazione di quel frattale, allora lasciamo cadere il flagUp = false, impostiamo flagDw = true e monitoriamo la penetrazione del prezzo del frattale inferiore. Va più o meno così.


Ce l'ho anch'io. All'inizio ho impostato il fatto della rottura del prezzo:

//--------------------------------------------------------------------
        if(NormalizeDouble(MA_8,Digits)>NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_7,Digits)>=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_6,Digits)>=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_5,Digits)>=NormalizeDouble(MA_2,Digits) 
        && NormalizeDouble(MA_3,Digits)>=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_4,Digits)>=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_2,Digits)<NormalizeDouble(MA_1,Digits)) // Перелом вверх
          {
            Двверх=true;

Poi controllo ad ogni tick per vedere se il frattale è rotto:

if (Двверх==true && upfractal !=0 && Bid > NormalizeDouble(upfractal+1*Point,Digits) && Tвверх!=Time[0] && Сделкавверх==false) // Условие открытия ордера при пробитии фрактала вверх
 

Buon pomeriggio.

Sono nuovo di mql4, ho imparato alcune cose e non molto altro, ma ho un'idea generale.

La mia domanda è la seguente:

Ho bisogno di organizzare un ciclo di iterazione per giorni su un grafico di 15 minuti.

Cioè, lavorando sul giorno corrente (grafico a 15 minuti) dovrei essere in grado di analizzare i dati dei giorni precedenti e non analizzare le barre del giorno corrente (escludere il giorno corrente dall'analisi), e calcolare la volatilità giornaliera dei giorni precedenti (quanti giorni voglio) e farne la media.

Non capisco, come organizzare il ciclo della ricerca giornaliera in 15 minuti, attraverso quale funzione temporale.

Spero che la domanda sia chiara.

Grazie per l'aiuto

 
Roman.:



E qui

if(NormalizeDouble(MA_8,Digits) < NormalizeDouble(MA_2,Digits) 
        && NormalizeDouble(MA_7,Digits)<=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_6,Digits)<=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_5,Digits)<=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_3,Digits)<=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_4,Digits)<=NormalizeDouble(MA_2,Digits)
        && NormalizeDouble(MA_2,Digits)>NormalizeDouble(MA_1,Digits)) // Перелом вниз

la differenza di questi valori deve essere confrontata con "0", per esempio:

if(NormalizeDouble(MA_8,Digits) - NormalizeDouble(MA_2,Digits) < 0
        && NormalizeDouble(MA_7,Digits) - NormalizeDouble(MA_2,Digits) <= 0 
        .......
        && NormalizeDouble(MA_2,Digits) - NormalizeDouble(MA_1,Digits) > 0) // Перелом вниз
Roman, perché? Non è la stessa cosa? Per esempio, se MA_8<MA_2, è uguale a (MA_8-MA_2)<0 ?