![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Per quanto riguarda gli avvertimenti durante la compilazione del "valore di ritorno di ''order send/select,modify,close'' sono stati corretti aggiungendo (bool dummyResult) precedentemente ma ora vedo che usi semplicemente (bool dummy), va bene per tutte e tutte le situazioni o il nuovo (bool dummy) per alcuni indicatori e situazioni specifiche?
saluti
Carissimo MLADEN
Per quanto riguarda gli avvertimenti durante la compilazione del "valore di ritorno di ''order send/select,modify,close'' sono stati corretti aggiungendo (bool dummyResult) precedentemente ma ora vedo che usi semplicemente (bool dummy), va bene per tutte e tutte le situazioni o il nuovo (bool dummy) per alcuni indicatori e situazioni specifiche?
saluti
Ciò che si usa per controllare realmente se le operazioni sugli ordini sono a posto è GetLastError() (dato che fornisce molti più dettagli del semplice booleano che il ritorno di default delle operazioni sugli ordini restituisce) - quindi, sì, è OK, e poi, se sono necessari più dettagli per un possibile errore, allora, in tutti i modi, si dovrebbe usare GetLastError()
(cosa faremo dopo il 31 gennaio?) :(
WojtekPaul,
In che senso?
WojtekPaul,
In che senso?
Ma guarda anche questo post: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated/page4#comment_1849089
Di solito questi avvertimenti sono benigni.
Ciò che viene usato per controllare realmente se le operazioni di ordine sono OK è GetLastError() (poiché fornisce molti più dettagli del semplice ritorno booleano che il ritorno predefinito dalle operazioni di ordine restituisce) - quindi, sì, è OK, e poi, se sono necessari più dettagli per un possibile errore allora, in tutti i modi, GetLastError() dovrebbe essere usato
Grazie per la guida d'aiuto.
saluti
Intendeva questo: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated
Ma controlla anche questo post: https://www.forex-tsd.com/forum/announcements-forex-press/1811320-forex-tsd-is-going-to-be-terminated/page4#comment_1849089
Mladen,
Grazie per le informazioni. Questo è / era il mio uno dei forum più favorevoli, quindi è una brutta notizia anche per me. Tuttavia, ci sono altri posti con forum e chat già pronti in rete. (Ho messo un esempio nel thread "Forex-TSD sta per essere chiuso...").
Ciao a tutti,
Ho bisogno di un codificatore per mettere una freccia con allarme per questa extrategia. Manualmente questa strategia sta dando il 100% di vittoria.
Di seguito il link alla strategia.
http://www.binaryoptionsedge.com/topic/1879-high-power-option-2015/page-2#entry108014
Messaggio #29
Obrigado.
Caro Mladen, è possibile che le due seguenti funzioni:
and
iCustomMa(ma_ema,getPrice(pr_high,Open,Close,High,Low,i),MAPeriod,i,0);(or iCustomMa(ma_ema,iMA(NULL,0,1,0,MODE_SMA,PRICE_HIGH,i),MAPeriod,i,0); )
#define _maWorkBufferx2 2
#define _maWorkBufferx3 3
#define _maWorkBufferx5 5
double iCustomMa(int mode, double price, double length, int i, int instanceNo=0)
{
if (length<=1) return(price);
int r = Bars-i-1;
switch (mode)
{
// ...
case ma_ema : return(iEma(price,length,r,instanceNo));
// ...
default : return(0);
}
}
double workEma[][_maWorkBufferx1];
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
//
double alpha = 2.0 / (1.0+period);
workEma[r][instanceNo] = workEma[r-1][instanceNo]+alpha*(price-workEma[r-1][instanceNo]);
return(workEma[r][instanceNo]);
}
che iEma funziona in modo leggermente diverso dall'EMA integrato?
Caro Mladen, è possibile che le due seguenti funzioni:
and
iCustomMa(ma_ema,getPrice(pr_high,Open,Close,High,Low,i),MAPeriod,i,0);(or iCustomMa(ma_ema,iMA(NULL,0,1,0,MODE_SMA,PRICE_HIGH,i),MAPeriod,i,0); )
#define _maWorkBufferx2 2
#define _maWorkBufferx3 3
#define _maWorkBufferx5 5
double iCustomMa(int mode, double price, double length, int i, int instanceNo=0)
{
if (length<=1) return(price);
int r = Bars-i-1;
switch (mode)
{
// ...
case ma_ema : return(iEma(price,length,r,instanceNo));
// ...
default : return(0);
}
}
double workEma[][_maWorkBufferx1];
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
//
double alpha = 2.0 / (1.0+period);
workEma[r][instanceNo] = workEma[r-1][instanceNo]+alpha*(price-workEma[r-1][instanceNo]);
return(workEma[r][instanceNo]);
}
che iEma funziona in modo leggermente diverso dall'EMA integrato?
Fate un loop di iCustomMa() su tutta la serie, e i risultati dovrebbero essere gli stessi
PS: quella iEma() è obsoleta. La nuova versione va così (non cambierà i valori, ma è a "prova di modalità rigorosa")
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars);
//
workEma[r][instanceNo] = price;
if (r>0 && period>1)
workEma[r][instanceNo] = workEma[r-1][instanceNo]+(2.0/(1.0+period))*(price-workEma[r-1][instanceNo]);
return(workEma[r][instanceNo]);
}
Grazie mille per la tua veloce risposta! Potresti per favore dirmi dove posso
trovare il codice attuale delle medie mobili:
enum enMaTypes
{
ma_sma, // simple moving average - SMA
ma_ema, // exponential moving average - EMA
ma_dsema, // double smoothed exponential moving average - DSEMA
ma_dema, // double exponential moving average - DEMA
ma_tema, // tripple exponential moving average - TEMA
ma_smma, // smoothed moving average - SMMA
ma_lwma, // linear weighted moving average - LWMA
ma_pwma, // parabolic weighted moving average - PWMA
ma_alxma, // Alexander moving average - ALXMA
ma_vwma, // volume weighted moving average - VWMA
ma_hull, // Hull moving average
ma_tma, // triangular moving average
ma_sine, // sine weighted moving average
ma_linr, // linear regression value
ma_ie2, // IE/2
ma_nlma, // non lag moving average
ma_zlma, // zero lag moving average
ma_lead, // leader exponential moving average
ma_ssm, // super smoother
ma_smoo // smoother
};
Per quanto ne so questa è l'ultima lista di medie mobili disponibili come codice aperto
(le altre MA sono già in formato ex4).