Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 219

 
Yuriy Asaulenko:

Tienes toda la razón, cuando se trabaja con movimientos todo se simplifica drásticamente, no hay nada que "codificar". Además, ni siquiera es necesario estar "revestido de indicadores", podemos ver hacia dónde va el movimiento sin ellos). Todo es más sencillo de lo que crees:) Basta con una veleta en un mástil o incluso un dedo levantado para ver de dónde sopla el viento. Y el tiempo que dure y la fuerza que tenga dependerá del viento). Podemos entrar en el mercado en cualquier momento, y no necesitamos esperar ninguna línea, nivel, etc., sólo necesitamos el "viento".

Reconociendo el mercado como un proceso aleatorio, no necesitamos hacer ninguna suposición sobre la acción de "fuerzas superiores" que controlan el mercado, no necesitamos tratar de predecir nada, no necesitamos buscar algunos predictores, que (porque no podemos encontrarlos nosotros mismos), y otras hipótesis innecesarias. Incluso si los "poderes superiores" existen, sus acciones seguirían siendo en gran medida imprevisibles para nosotros, es decir, aleatorias. Nada de eso nos importa ahora).

No eres sadomasoquista por casualidad, ¿verdad? Por qué hacer tal burla de ti mismo. Y el sentido ederal (nuestras especulaciones sobre hacia dónde irán las cosas) es imposible de algoritmizar. Normalmente nos enteramos de las causas y las entendemos después de que se produzca la consecuencia. Nadie anuló un principio - no involucrar a las hipótesis superfluas. Y en todas las hipótesis sobre "fuerzas superiores" que controlan el mercado, y en los intentos de interpretar sus acciones, es precisamente este principio el que se viola.

No eres un cosaco de una cocina de 2 dólares, ¿verdad? ¿O tal vez te has equivocado de rama?

Lo único que puede dar al "mercado un proceso aleatorio" es abandonar por completo el motivo de la negociación independiente, y entonces olvidarse por completo del mercado o hacer algo al respecto, por ejemplo, abrir una empresa de corretaje.

En este caso la cuestión no es si hay leyes de mercado, están en la propia naturaleza del mercado, y ni siquiera se trata de "el sentido común es imposible de algoritmizar", porque es posible, la cuestión es cómo algoritmizar es mucho mejor que el sentido común, porque el sentido común no es competidor de los bots de las grandes empresas financieras.

 
Gianni:

No serás un cosaco de una cocina de 2 dólares, ¿verdad? ¿O tal vez te has equivocado de rama?

Lo único que puede dar el "reconocimiento del mercado como un proceso aleatorio" es abandonar por completo el motivo del comercio independiente, y entonces olvidarse por completo del mercado o dedicarse a él, abriendo su propia empresa de corretaje, por ejemplo.

En este caso la cuestión no es si hay regularidades en el mercado, están en la propia naturaleza del mercado, y ni siquiera es una cuestión de "el sentido común es imposible de algoritmizar", ya que es posible, la cuestión es cómo algoritmizar mucho mejor que el sentido común, ya que el sentido común no es competidor de los bots de las grandes entidades financieras.

Entrar en

 
Pido a los comerciantes experimentados que publiquen los resultados de la resolución de este problema con sus propios paquetes matemáticos

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

¡Probador de estrategias de MetaTrader 5!

Andrey Dik, 2016.11.21 16:38

Tarea:

#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 = "редко научная статья сочетает в себе эти два типа";

Resultados de mi algoritmo y MT.

 
fxsaber:
Pido a los maestros que publiquen los resultados de la resolución de este problema matemático con sus paquetes matemáticos.

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 resuelve en menos de 2 segundos. problema fácil.

 

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

¡Probador de estrategias de MetaTrader 5!

fxsaber, 2016.11.23 08:33

Es una buena idea ir a la comunidad de algoritmos de optimización y articular el problema. Si les dices que estás desgarrado R, se interesarán enseguida. Y mostrarán su resultado.
 

fxsaber:

Es una buena idea acudir a la comunidad de algoritmos de optimización y formular el problema. Si les dices quehas roto la R, se interesarán inmediatamente. Y te mostrarán sus resultados.

En general, R ha destrozado a todos

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

 
Dr.Trader:

En definitiva, R ha destrozado a todos.

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

¡A todos los inventores de bicicletas de este sitio!

Hay un artesano tan grande: de niño montaba cosas muy interesantes de lego, y luego creció y montó una bicicleta, a veces incluso se puede montar en ella, aunque no hay donde ir.

Pero su orgullo le estrangula y se acerca a Mercedes, la empresa que fabrica todo lo que se mueve en la Tierra, y le dice: vamos, compitamos o te haré pedazos. Y lo rompe en pedazos, pero sólo el artesano lo nota. ¿Qué hay de la preocupación? Tiene desarrollo, diseño, producción, reclamaciones de clientes... Cientos de miles de empleados. En general, sigue siendo un dolor de cabeza: no hay tiempo para reinventar las bicicletas.

PS.

Hombres, ocupaos de R. Al fin y al cabo, la mayoría de ustedes son capaces de dominar una verdadera herramienta para crear modelos de decisión. Esto puede ser rentable en un par de años.

 
SanSanych Fomenko:


Hombres, tomen la R. Al fin y al cabo, la mayoría de ustedes son capaces de dominar una herramienta real de modelado de decisiones. Podría ser muy rentable en un par de años.

Inteligencia artificial, retos y riesgos - a través de los ojos de un ingeniero

Os recomiendo que lo leáis, creo que el autor describe adecuadamente la esencia de lo que está ocurriendo
Искусственный интеллект, вызовы и риски – глазами инженера
Искусственный интеллект, вызовы и риски – глазами инженера
  • habrahabr.ru
Добрый день, коллеги. Сегодня хочется трезво посмотреть глазами инженера на так популярные сейчас искусственный интеллект и Deep learning, упорядочить, выстроить факты и выработать выигрышную стратегию – как с этим … взлететь, пролететь и не упасть кому-нибудь на голову? Потому-что, когда дело от лабораторных моделей на python/matplotlib/numpy...
 
SanSanych Fomenko:

Hombres, tomen la R. Al fin y al cabo, la mayoría de ustedes son capaces de dominar una herramienta real de modelado de decisiones. Es muy posible que dé beneficios en un par de años.

¿Un par de años? ¿No es ya rentable?
 
J.B:

Inteligencia artificial, retos y riesgos - A través de los ojos de un ingeniero

Recomiendo su lectura, en mi opinión el autor ha presentado la esencia de lo que está ocurriendo de forma relevante

un montón de palabras, pero la esencia ....., puede que no lo capte, o tal vez no está allí, como para mí el hombre sólo se quejó un poco))

Razón de la queja: