Alcuni bug? Differenza tra MQL e EL
3 risposte
eastpeace
7 anni fa #115663
Sto ancora lavorando con SQ3.8. E può generare alcune semplici e buone strategie. Credo che sia come per molti utenti di SQ.
E faccio più trading di contratti futures che di forex. Ho trovato qualche differenza tra mql e el.
ex.
pseudocodice:
====================================================================
== Condizioni di ingresso
====================================================================
LongEntryCondition = (Low(3) < High(2))
ShortEntryCondition = (High(3) > Low(2))
Codice mql:
// REGOLE DI ISCRIZIONE
// LONG: (Low(3) < High(2))
se(TradeLong) {
bool LongEntryCondition = (Low[3] < High[2]);
if(LongEntryCondition == true) {
openPosition(1);
}
}
// SHORT: (High(3) > Low(2))
if(TradeShort) {
bool ShortEntryCondition = (High[3] > Low[2]);
if(ShortEntryCondition == true) {
openPosition(-1);
}
}
ma in el:
LongEntryCondition = (Low[2] < High[1]);
ShortEntryCondition = (High[2] > Low[1]);
I periodi di backtrace in el sono più brevi di altri.
Ma so che l'indice in TS/MC's El, l'ultimo è anche Zero.
Un'altra istanza è barsinceentry/getOpenBarsForOrder. Anche quella di El è più breve.
Penso che tutti inizino a contare da zero quando si apre un ordine/entrata.
int getOpenBarsForOrder(int expBarsPeriod) {
datetime opTime = OrderOpenTime();
int numberOfBars = 0;
for(int i=0; i<expBarsPeriod+10; i++) {
if(opTime < Time[i]) {
numberOfBars++;
}
}
return(numberOfBars);
}
Ho caricato lo str qui sotto.
Quando hai tempo, controlla questo! Credo che la maggior parte delle persone usi ancora SQ3.8 per generare le stringhe.
tomas262
7 anni fa #139772
Salve,
Ciò è dovuto al fatto che in TradeStation i timestamp delle barre rappresentano l'ora di chiusura di una barra, mentre in MetaTrade lo stesso tempo rappresenta l'ora di apertura della barra stessa.
eastpeace
7 anni fa #139780
Oh, capisco un po' cosa intendi.
Ma nel timeframe giornaliero, la data e l'ora di apertura delle barre e la data di chiusura sono le stesse, credo. L'indice della barra corrente della MT4 è 1?
tomas262
7 anni fa #139803
Salve,
La cosa più importante è il motore utilizzato per sviluppare le strategie. Se si utilizza il motore TradeStation e si trova una strategia che utilizza Close[10], quando si visualizza il codice MQL4 questo includerà sempre il riferimento a Close[11]. StrategyQuant è impostato in questo modo. Sviluppate sempre le strategie solo nel motore con cui farete trading in seguito!
Stai visualizzando 3 risposte - da 1 a 3 (di 3 totali)