Dalla teoria alla pratica - pagina 532

 
Igor Makanu:

Cioè, è più facile controllare le idee in Matlab (o crearle da zero in MQL), ma se volete portare un'idea in MQL, dovrete studiare ALGLIB.

Per quale motivo? Oltre ad Alglib ci sono molte lib e pacchetti ben documentati. Sia in R che in Python. Ed è molto più ampio di Alglib. Quasi tutto è in C++. Porto e uso.

In generale, senza una modellazione preliminare sul lato, qualsiasi strategia più o meno complessa in MQL è improbabile. E poi non vorrete nemmeno tradurlo in MQL)).

SZZ Negli ultimi 10 anni per vari motivi ho cambiato diversi terminali e sono arrivato alla conclusione che l'ATS non deve dipendere dal terminale. E ora sto lavorando con 2 terminali diversi. Il terminale dovrebbe essere solo il fornitore di dati e "esecutore" delle richieste.

 
Yuriy Asaulenko:

Perché? Ci sono molte lib e pacchetti ben documentati oltre ad Alglib. Sia in R che in Python. E molto più ampio di Alglib. Quasi tutto è in C++. Porto e uso.

In generale, senza una modellazione preliminare sul lato, qualsiasi strategia più o meno complessa in MQL è improbabile. E poi non vorrete nemmeno tradurlo in MQL)).

SZZ Negli ultimi 10 anni per vari motivi ho cambiato diversi terminali e sono arrivato alla conclusione che l'ATS non deve dipendere dal terminale. E ora sto lavorando con 2 terminali diversi. Il terminale dovrebbe essere solo un fornitore di dati ed "esecutore" di richieste.

Bene, ho fatto il porting di AlgLib come pratica di programmazione per MT5 - lo sto anche studiando per capire il concetto, per così dire, come AlgLib è costruito - ho passato una settimana, il risultato è positivo

Bene, la verifica delle idee - è reale per portare rapidamente qualcosa a MT5, ma per l'UI, il compito diventa più complicato.

Beh, il vantaggio non meno importante di Matlab è che ha un sacco di roba già pronta sul web, ahimè uno non avrebbe voglia di capire R e Python, ci vorranno altri 3-4 mesi di lettura e test )))).

SZS: Qualcuno ha scritto sul forum che le aziende IT ora apprezzano non la qualità della scrittura del codice, ma la velocità di testare le idee. Capisco perché tutti i nuovi software sono affamati di risorse, ma per i nostri scopi il concetto è corretto!

 
Igor Makanu:

Bene, la verifica delle idee - qualcosa può essere rapidamente portato a MT5, ma il compito diventa più complicato fino all'interfaccia utente, mentre con Matlab è più facile - ecco una formula, basta scriverla, controllarla e visualizzarla.

Beh, il vantaggio non meno importante di Matlab è che ha un sacco di roba già pronta sul web, ahimè uno non avrebbe voglia di capire R e Python, ci vorranno altri 3-4 mesi di lettura e test )))).

SZS: Qualcuno ha scritto sul forum che le attuali aziende IT non apprezzano la qualità della scrittura del codice, ma solo la velocità di testare le idee. Capisco perché tutti i nuovi software sono affamati di risorse, ma per i nostri scopi il concetto è corretto!

Beh, i vantaggi di MathLab per la modellazione non sono in discussione - è veloce, conveniente e reattivo. R, Python, ecc. non sono inferiori da questo punto di vista, a parte il fatto che sono gratuiti.

Python (che ora cerca di fare qualcosa di reale in background, molto lentamente) piace per il fatto che è buono sia come ambiente di modellazione che di sviluppo. Cioè dopo la modellazione si ha subito un sistema pronto. Non resta che collegarlo al terminale. https://www.mql5.com/ru/forum/269426

Делаем торговую систему на Python для МТ.
Делаем торговую систему на Python для МТ.
  • 2018.07.30
  • www.mql5.com
Возникла мысль написать торговую систему на Python, и коли уж возникла, почему-бы не сделать эту систему общедоступной...
 
Yuriy Asaulenko:

Beh, non c'è disaccordo sui vantaggi di MathLab per la modellazione - veloce, conveniente, veloce. R, Python, ecc. non sono inferiori da questo punto di vista, a parte il fatto che sono gratuiti.

Python (che ora cerca di fare qualcosa di reale in background, molto lentamente) piace per il fatto che è buono sia come ambiente di modellazione che di sviluppo. Cioè dopo la modellazione si ha subito un sistema pronto. Non resta che collegarlo al terminale. https://www.mql5.com/ru/forum/269426

Se avete una buona conoscenza di Python, potete usarlo come ambiente di modellazione o potete usare una dll vecchio stile.

o provare a farlo al 100% da zero su MT4 puro ))))

ZS: non c'è nessun problema a controllare le tue idee, tutte le piattaforme sono abbastanza sviluppate - giudico dalla comunità, qualsiasi domanda confusa viene risolta durante un giorno - un sacco di forum in lingua russa e partecipanti attivi, ma il problema è diverso.... nelle giuste aree di ricerca!

 
Igor Makanu:

ma il problema è qualcos'altro.... nella giusta direzione della ricerca!

Beh, è a questo che serve la modellazione, non a scrivere subito un ATC.

Ho modellato il precedente PBX per circa sei mesi. Alla fine si è rivelato un sistema molto semplice e bello. Ma nel processo è stato più che sufficiente per le complicazioni).

Qui non c'è quasi nessuna visualizzazione. Tutti i registri sono scritti nel database Access.

 
RRR5:

Come?


come si linearizza la funzione y=ax2+bx+c?

prendere una regressione multipla regolare, inserire 2 prezzi - regolare e al quadrato

e l'output è solo il prezzo

semplicemente non ne hai bisogno nella sua forma nuda e cruda

 
Maxim Dmitrievsky:

non compila, posso avere un esempio di come usarlo?

Scritto male. Questo è un file di supporto per il debug. Se lo prendete anche voi, tirerà un sacco di cose.

Disinstallate l'inlude di questo file e rimuovete tutti gli ASSERT e i TRACE.

 
Georgiy Merts:

Questo è un file di supporto per il debug.

Cancellatelo e cancellate tutti gli ASSERT e i TRACE.

Sì ok, l'ho già capito, grazie... Non so perché ne ho bisogno, solo per vedere come la gente intelligente codifica)

 

Nell'indicatore di regressione polinomiale che ho postato, la regressione è implementata attraverso una funzione:

double regression_QRMA(int period,int shift,int price) 
  {
   double lwma= iMA(NULL,0,period,0,MODE_LWMA,price,shift);
   double sma = iMA(NULL,0,period,0,MODE_SMA,price,shift);
   double qwma= ma_qwma(period,shift,price);
   double value=3.0*sma+qwma *(10-15/(period+2))-lwma *(12-15/(period+2));
   return(value);
  }

dove

double ma_qwma(int period,int shift,int price) 
  {
   double sum=0;
   int j,i;
   for(j=shift,i=1;j<shift+period; j++,i++) 
     {
      sum+=switch_getPrice(price,j)*MathPow(period-i+1,2);
     }
   double value=6.0/(period *(period+1) *(2*period+1));
   return(value*sum);
  }


double switch_getPrice(int price,int shift) 
  {
   switch(price) 
     {
      case 0:
         return(Close[shift]);
      case 1:
         return(Open[shift]);
      case 2:
         return(High[shift]);
      case 3:
         return(Low[shift]);
      case 4:
         return((High[shift]+Low[shift])/2);
      case 5:
         return((High[shift]+Low[shift]+Close[shift])/3);
      case 6:
         return((High[shift]+Low[shift]+Close[shift]+Close[shift])/4);
      default:
         return(Close[shift]);
     }
  }


è corretto?).
è possibile implementare l'ISC tramite procedure guidate)?

 
RRR5:
In quell'indicatore di regressione polinomiale che ho postato, la regressione è implementata attraverso una funzione:
è corretto?).
È possibile implementare un ANC attraverso un fantoccio?)

Beh, la correttezza - vedi tu stesso. Trovo la formula per calcolare il valore abbastanza strana. Chiaramente non è MNC, ma potrebbe essere qualcosa nel mezzo.

Riguardo al "MOC attraverso i maghi" - molto dubbio. Il metodo dei minimi quadrati è una ricerca dei coefficienti della curva approssimativa tale che la somma dei quadrati delle differenze dei valori dei punti sorgente e approssimati sia minima.

Prendiamo i punti iniziali, per ogni ascissa contiamo le ordinate approssimate, sottraiamo le ordinate reali, al quadrato, e sommiamo tutti i quadrati. Differenziamo questa somma per ogni incognita (le incognite sono i coefficienti della curva approssimativa), e otteniamo un sistema di equazioni. Se lo approssimiamo con un polinomio otteniamo un sistema di equazioni algebriche lineari. Mi sembra che non importa come la giri, non otterrai la stessa cosa.