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

 
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).

Si prega di consigliare come fare un'entrata (la condizione per aprire una posizione) e se la stessa candela farà scattare un take o uno stop in modo da non aprire una nuova posizione (la condizione per l'apertura è soddisfatta). Grazie!

 
Profitpamm:
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).
Si prega di consigliare come fare un'entrata (la condizione per aprire una posizione) e se la stessa candela farà scattare un take o uno stop in modo da non aprire una nuova posizione (la condizione per l'apertura è soddisfatta). Grazie!

Controlla per data se c'è una posizione aperta e se la posizione è stata aperta e chiusa su questa candela...
 
Profitpamm:
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).

Si prega di consigliare come fare un'entrata (condizione per l'apertura di una posizione) e se la stessa candela farà scattare un take o uno stop in modo da non aprire una nuova posizione (la condizione di apertura è soddisfatta). Grazie!


Ecco un esempio di come puoi usarlo...

datetime zap_tim;

//=======================
void start()
{
if(zap_tim!=Time[0])
 {
  OrderSend(............);
  zap_tim=Time[0];
 }
}
 
-Aleks-:

Controlla per data se c'è una posizione aperta e se la posizione è stata aperta e chiusa su quella candela...
Grazie Aleks!
 
Valerius:


Ecco un esempio di come può essere usato...

Valerius, grazie mille per il chiarimento!
 

Il codice standard di riferimento non funziona

https://docs.mql4.com/ru/basis/types/casting

Portare dati del tipo struttura semplice

333

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.

Приведение типов - Типы данных - Основы языка - Справочник MQL4
Приведение типов - Типы данных - Основы языка - Справочник MQL4
  • docs.mql4.com
Приведение типов - Типы данных - Основы языка - Справочник MQL4
 

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
);

Come si mette una coppia al posto delsimbolo?
 
Rustam Bikbulatov:

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
);

Come si mette una coppia al posto delsimbolo?

"EURUSD"
 
Alekseu Fedotov:

"EURUSD"

È tra virgolette, grazie!
 
Rustam Bikbulatov:

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
);

Come si mette una qualsiasi coppia al posto delsimbolo?
double  iMA("EURCAD", Period(), ...);
Motivazione: