Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 804
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Puoi dirmi cosa si intende nella voce
int i,limit=prev_calculated==0 ? rates_total-1 : rates_total-prev_calculated;
"==" , "?" , ": "
?
Grazie, Igor. Non l'ho detto correttamente. L'indicatore viene calcolato e disegnato per un numero specificato di barre (50 in questo caso) e in una finestra separata. Non ha bisogno del prezzo aperto ma della prima barra del giorno per indicare la MA. Ma comunque, grazie.
leggi SetIndexDrawBegin() - questa è una restrizione per disegnare il buffer dell'indicatore, mai usato
o nel mio esempio si può fare così:
cioè limitare il calcolo dei buffer degli indicatori all'impostazioneBarCount
Puoi dirmi cosa si intende nella voce
int i,limit=prev_calculated==0 ? rates_total-1 : rates_total-prev_calculated;
"==" , "?" , ": "
?
https://docs.mql4.com/ru/basis/operators/ternary
Ho riscritto il mio esempio, nella prima versione non funzionava correttamente quando si cambiavano i TF, è necessario resettare dayopen e lastday, sono descritti con il modificatore static
Restituisce anche l'indice nel parametro della funzione passato per riferimento
Restituito:
doppio GetPatt5barsDN()
{
doppio low3 = 0;
int index = 0;
for(int i=1; i<20; i++)
{
se
((Close[i] > Open[i]) &&
(Close[i+1] > Open[i+1]) &&
(Close[i+2] > Open[i+2]) && //Low[i+2] è necessario su questa candela
(Close[i+3] < Open[i+3]) &&
(Close[i+4] < Open[i+4])
low3 = Low[i+2];
indice = i+2;
}
ritorno(low3);
ritorno(indice);
}
Cosa devo fare dopo?
Restituito:
doppio GetPatt5barsDN()
{
doppio low3 = 0;
int index = 0;
for(int i=1; i<20; i++)
{
se
((Close[i] > Open[i]) &&
(Close[i+1] > Open[i+1]) &&
(Close[i+2] > Open[i+2]) && //Low[i+2] è necessario su questa candela
(Close[i+3] < Open[i+3]) &&
(Close[i+4] < Open[i+4])
low3 = Low[i+2];
indice = i+2;
}
ritorno(low3);
ritorno(indice);
}
Cosa devo fare dopo?
Non c'è modo di recuperarlo.
Come questo.
Ulteriori
double min = Low[GetPatt5barsDN()];
Restituito:
doppio GetPatt5barsDN()
{
doppio low3 = 0;
int index = 0;
for(int i=1; i<20; i++)
{
se
((Close[i] > Open[i]) &&
(Close[i+1] > Open[i+1]) &&
(Close[i+2] > Open[i+2]) && //Low[i+2] è necessario su questa candela
(Close[i+3] < Open[i+3]) &&
(Close[i+4] < Open[i+4])
low3 = Low[i+2];
indice = i+2;
}
ritorno(low3);
ritorno(indice);
}
Cosa devo fare dopo?
Dov'è il ritorno dell'indice tramite un parametro per riferimento?
E per favore inserite il codice correttamente:
C'è una funzione in MQL4 che può identificare le quotazioni da un tipo di conto, come 5 o 4 cifre decimali, quali sono i modi per identificare quanti zeri ha un asset dopo la virgola per esempio EURJPY ha 2 cifre decimali, EURUSD ha 4 cifre decimali?
https://docs.mql4.com/ru/predefined/digitsvar
Dov'è il ritorno dell'indice tramite un parametro per riferimento?
E per favore inserite il codice correttamente:
Ora mi sembra di aver capito bene:
Ma alla compilazione genera un avvertimento: possibile perdita di dati a causa della conversione di tipo in linea:
indice = GetPatt5barsDN(indice);
Non ci sono errori nell'intestazione della funzione (o nella funzione stessa) durante la compilazione.