Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 225
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
Ciao, ho una situazione come questa e voglio risolverla senza usare le stampelle. L'Expert Advisor apre una posizione e ha uno Stop e un Take. C'è una situazione in cui durante il test su una candela (cioè quando la condizione di apertura della posizione è soddisfatta), subito dopo la chiusura del primo ordine, vengono aperti il secondo, il terzo, ecc. Questo è dovuto al fatto che su questa candela le condizioni per l'apertura di una posizione sono soddisfatte e dopo un po' di tempo, scatta un ordine stop o take (la condizione di apertura è ancora soddisfatta, la candela non è chiusa).
Ciao, ho una situazione come questa e voglio risolverla senza usare le stampelle. L'Expert Advisor apre una posizione e ha uno Stop e un Take. C'è una situazione in cui durante il test su una candela (cioè quando la condizione di apertura della posizione è soddisfatta), subito dopo la chiusura del primo ordine, vengono aperti il secondo, il terzo, ecc. Questo è dovuto al fatto che le condizioni per l'apertura di una posizione sono soddisfatte proprio su quella candela e un ordine stop o take scatta qualche tempo dopo (le condizioni di apertura sono ancora soddisfatte, la candela non è chiusa).
Ecco un esempio di come puoi usarlo...
Controlla per data se c'è una posizione aperta e se la posizione è stata aperta e chiusa su quella candela...
Ecco un esempio di come può essere usato...
Il codice standard di riferimento non funziona
https://docs.mql4.com/ru/basis/types/casting
Portare dati del tipo struttura semplice
come trattare?
Utilizzato per convertire valori di diversi tipi di base. Per esempio, c'è un array uchar arr[].Abbiamo bisogno di scrivere il valore del doppio in una certa posizione.
void GetBytes(double x,uchar &arr[],int pos)
O viceversa.
double GetDouble(uchar &arr[],int pos)
Forse qualcuno può suggerire una soluzione più semplice.
doppioiMA(
simbolo stringa,// nome del simbolo
inttimeframe,// timeframe
intma_period,// periodo
intma_shift,// sposta la media
intma_method,// metodo di mediazione
intapplied_price,//tipo di prezzo
intshift// shift
);
doppioiMA(
stringasimbolo,// nome del simbolo
inttimeframe,// timeframe
intma_periodo,//periodo
intma_shift,// spostamento della media
intma_method,// metodo di mediazione
intapplied_price,//tipo di prezzo
int shift//shift
);
"EURUSD"
"EURUSD"
È tra virgolette, grazie!
doppioiMA(
stringasimbolo,// nome del simbolo
inttimeframe,// timeframe
intma_periodo,//periodo
intma_shift,// spostamento della media
intma_method,// metodo di mediazione
intapplied_price,//tipo di prezzo
int shift//shift
);