L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 219

 
Yuriy Asaulenko:

Hai assolutamente ragione, quando si lavora con i movimenti tutto è drammaticamente semplificato - non c'è niente da "codificare". Inoltre, non abbiamo nemmeno bisogno di essere "rivestiti di indicatori", possiamo vedere dove va il movimento senza di essi). Tutto è ancora più semplice di quanto si pensi:) Basta una banderuola su un albero o anche un dito alzato per vedere da dove soffia il vento. E quanto durerà e quanto sarà forte dipende dal vento). Possiamo entrare nel mercato in qualsiasi momento, e non abbiamo bisogno di aspettare nessuna linea, livello, ecc, abbiamo solo bisogno del "vento".

Riconoscendo il mercato come un processo casuale, non abbiamo bisogno di fare ipotesi sull'azione di "forze superiori" che controllano il mercato, non abbiamo bisogno di cercare di prevedere qualcosa, non abbiamo bisogno di cercare alcuni predittori, che (perché non possiamo trovarli noi), e altre ipotesi inutili. Anche se esistessero "poteri superiori", le loro azioni rimarrebbero comunque in gran parte imprevedibili per noi, cioè casuali. Nulla di tutto ciò ha importanza per noi ora).

Non sei per caso un sadomasochista? Perché rendersi così ridicoli. E il senso ederale (le nostre speculazioni su dove andranno le cose) è impossibile da algoritmizzare. Di solito veniamo a conoscenza delle cause e le capiamo dopo che la conseguenza si verifica. Nessuno ha cancellato un principio - non coinvolgere ipotesi superflue. E in tutte le ipotesi sulle "forze superiori" che controllano il mercato, e nei tentativi di interpretare le loro azioni, è proprio questo principio che viene violato.

Non sei un cosacco di qualche cucina da 2.000 dollari, vero? O forse sei nel ramo sbagliato?

L'unica cosa che può dare al "mercato un processo casuale" è abbandonare completamente il motivo del trading indipendente, quindi o dimenticare il mercato del tutto o fare qualcosa, per esempio aprire una società di intermediazione.

In questo caso la questione non è se ci sono leggi di mercato, sono nella natura stessa del mercato, e non si tratta nemmeno di "il buon senso è impossibile da algoritmizzare", come può essere, la questione è come algoritmizzare è molto meglio del buon senso, perché il buon senso non è concorrente ai bot delle grandi società finanziarie.

 
Gianni:

Non è che per caso sei un cosacco di una cucina da 2.000 dollari, vero? O forse avete il ramo sbagliato?

L'unica cosa che può dare il "riconoscimento del mercato come un processo casuale" è abbandonare completamente il motivo del trading indipendente, e quindi o dimenticare il mercato del tutto o impegnarsi nel mercato, aprire la propria società di intermediazione, per esempio.

In questo caso la questione non è se ci sono regolarità nel mercato, sono nella natura stessa del mercato, e non è nemmeno una questione di "il senso comune è impossibile da algoritmizzare", poiché è possibile, la questione è come algoritmizzare molto meglio del senso comune, poiché il senso comune non è concorrente dei bot delle grandi istituzioni finanziarie.

Raggiungere

 
Chiedo ai trader esperti di postare i risultati della soluzione di questo problema con i loro pacchetti matematici

Forum sul trading, sistemi di trading automatico e test di strategia

Tester di strategie MetaTrader 5!

Andrey Dik, 2016.11.21 16:38

Compito:

#property library
#property strict

int  countRuns    = 0;

//+------------------------------------------------------------------+
int GetParamCount () export
{
  textLen = StringLen(Code);
  return (textLen);
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
void GetParamProperties (double &min, double &max, double &step) export
{
  min = 0.0;
  max = 40.0;
  step = 1.0;
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
double FF (double &param []) export
{
  countRuns++;
  
  int sizeArray = ArraySize (param);
  if(sizeArray != textLen)
    return (0.0);
  
  int ffVolue = 0;
  
  for (int i=0; i< textLen; i++)
  {
    if(GetCode(param [i]) == StringSubstr(Code, i, 1))
      ffVolue++;
  }
    
  return (double(ffVolue));
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
int GetCountRunsFF () export
{
  return (countRuns);
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
void PrintCodeToFile (double &param []) export
{
  int sizeArray = ArraySize (param);
  if(sizeArray != textLen)
  {
    Print ("Неверное количество параметров, печать в файл производится не будет!");
    return;
  }
  
  string code = "";
  
  for(int i=0; i<textLen; i++)
  {
    code+=GetCode (param[i]);
  }
  
  int handle = FileOpen ("decodeFF.csv", FILE_READ|FILE_WRITE|FILE_ANSI|FILE_CSV);
  
  if(handle==INVALID_HANDLE)
  {
    Print ("Ошибка записи в файл востановленного текста ФФ. Ошибка: "+ (string)GetLastError());
    return;
  }
  FileWriteString(handle, code);
  FileClose (handle);
}
//+------------------------------------------------------------------+

string GetCode (double param)
{
  int p = (int) MathRound (param);
  if(p <0)
    p = 0;
  if(p > 40)
    p = 40;

  return (Key [p]);
}

string Key [41] = {"а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", ";", ":", ".", ",", "-", "?", "!", " "};
int textLen = 0;
string Code = "редко научная статья сочетает в себе эти два типа";

Risultati del mio algoritmo e della MT.

 
fxsaber:
Chiedo ai maestri di postare i risultati della risoluzione di questo problema matematico con i loro pacchetti di matematica.

rm(list=ls());gc()


library(GenSA)


letters_s <- c(LETTERS, month.name, 1, 2, ' ')


strings <- letters_s[round(runif(49, 1, 41))]


predictor_number <- 49

set.seed(1)

par_v <- as.numeric(runif(predictor_number, min = 1, max = length(letters_s)))

par_low <- as.numeric(rep(1, times = predictor_number))

par_upp <- as.numeric(rep(length(letters_s), times = predictor_number))


fitness_f <- function(par){

letters_s <- letters_s

strings <- strings

return(as.numeric(-sum(strings == letters_s[round(par)])))

# print(-sum(strings == letters_s[round(par)]))

}


start <- Sys.time()


sao <- GenSA(par = par_v, fn = fitness_f, lower = par_low, upper = par_upp

     , control = list(max.time = 2, smooth = FALSE, simple.function = FALSE))


trace_ff <- data.frame(sao$trace)$function.value

plot(trace_ff, type = "l")

percent(- sao$value)

final_vector <- letters_s[round(sao$par)]


Sys.time() - start


print(sum(letters_s[round(sao$par)] == strings))


lo risolve in meno di 2 secondi. problema facile.

 

Forum sul trading, sistemi di trading automatico e test di strategia

Tester di strategie MetaTrader 5!

fxsaber, 2016.11.23 08:33

È una buona idea andare nella comunità degli algoritmi di ottimizzazione e articolare il problema. Se dici R strappata, saranno subito interessati. E mostreranno il loro risultato.
 

fxsaber:

È una buona idea andare nella comunità degli algoritmi di ottimizzazione e formulare il problema. Se dite loro cheavete la R strappata, si interesseranno immediatamente. E vi mostreranno i loro risultati.

In generale, R ha strappato tutti

https://www.mql5.com/ru/forum/852/page68#comment_3864317

 
Dr.Trader:

Tutto sommato, R ha fatto a pezzi tutti.

https://www.mql5.com/ru/forum/852/page68#comment_3864317

A tutti gli inventori di biciclette di questo sito!

C'è un artigiano così cresciuto: da bambino assemblava cose molto interessanti con i lego, e poi è cresciuto e ha assemblato una bicicletta, a volte si può anche guidarla, anche se non c'è un posto dove andare.

Ma il suo orgoglio lo strangola e si avvicina alla Mercedes, l'azienda che produce tutto ciò che si muove sulla Terra, e dice: dai, gareggiamo o ti faccio a pezzi. E lo fa a pezzi, ma solo l'artigiano se ne accorge. E la preoccupazione? Ha sviluppo, design, produzione, reclami dei clienti... Centinaia di migliaia di dipendenti. In generale, è ancora un mal di testa - non c'è tempo per reinventare le biciclette.

PS.

Uomini, datevi da fare con R. Dopo tutto, la maggior parte di voi è in grado di padroneggiare un vero strumento per creare modelli decisionali. Questo potrebbe essere redditizio in un paio d'anni.

 
SanSanych Fomenko:


Uomini, prendete la R. Dopo tutto, la maggior parte di voi è in grado di padroneggiare un vero strumento di modellazione decisionale. Potrebbe benissimo essere redditizio in un paio d'anni.

Intelligenza artificiale, sfide e rischi - attraverso gli occhi di un ingegnere

Vi consiglio di leggerlo, penso che l'autore descriva adeguatamente l'essenza di ciò che sta accadendo
Искусственный интеллект, вызовы и риски – глазами инженера
Искусственный интеллект, вызовы и риски – глазами инженера
  • habrahabr.ru
Добрый день, коллеги. Сегодня хочется трезво посмотреть глазами инженера на так популярные сейчас искусственный интеллект и Deep learning, упорядочить, выстроить факты и выработать выигрышную стратегию – как с этим … взлететь, пролететь и не упасть кому-нибудь на голову? Потому-что, когда дело от лабораторных моделей на python/matplotlib/numpy...
 
SanSanych Fomenko:

Uomini, prendete la R. Dopo tutto, la maggior parte di voi è in grado di padroneggiare un vero strumento di modellazione decisionale. Potrebbe benissimo diventare un profitto in un paio d'anni.

Un paio d'anni? Non è già redditizio?
 
J.B:

Intelligenza artificiale, sfide e rischi - attraverso gli occhi di un ingegnere

Consiglio di leggerlo, secondo me l'autore ha presentato l'essenza di quello che sta succedendo in modo pertinente

un sacco di parole, ma l'essenza ....., può non prenderlo, o forse non c'è, come per me l'uomo appena lamentato un po '))