Risposta

Alcuni bug? Differenza tra MQL e EL

3 risposte

eastpeace

Cliente, bbp_partecipante, comunità, sq-ultimate, 305 risposte.

Visita il profilo

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.

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

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.

0

eastpeace

Cliente, bbp_partecipante, comunità, sq-ultimate, 305 risposte.

Visita il profilo

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?

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

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!

0

Stai visualizzando 3 risposte - da 1 a 3 (di 3 totali)