¿Los diez "errores" del principiante en trading?

rsi | 15 febrero, 2016



Introducción

Se le dice una y otra vez a un principiante en trading: "la tendencia es tu amiga, no vayas contra ella" o "coloca tus órdenes de stop lo más corto posible, pero deja que tu beneficio crezca" (véase por ejemplo, el artículo [1]). Parce que no hay ningún lugar a duda de la validez de estas afirmaciones, especialmente cuando está claramente demostrada por muchos investigadores (véase el ejemplo, [2, págs. 35-40]). ¿Quien se opondría a colocar una posición "siguiendo la tendencia" y obtener beneficio? ¿Y si hemos cometido un error y ha resultado "no ser una tendencia"? Y entonces comienza el desarrollo de la primera tendencia: para reducir el riesgo, hay que utilizar una cobertura, puesto que podemos equivocarnos en la definición de la tendencia o en el pronóstico del cambio aleatorio de los precios en un mercado con gran volatilidad, etc Esto quiere decir que tenemos que tomar algunas medidas – los males previstos son menores – en el caso de que el precio no siga la tendencia prevista.

Por lo tanto, hay que tener en cuenta la naturaleza aleatoria de los movimientos del precio. Así que no todos los intentos de actuar "según lo enseñado" garantizan resultados positivos. Sin embargo, ¿por qué ocurren estos "errores de principiantes en el trading"? Son principiantes, así que aún no han tenido tiempo de olvidar las máximas del manual de referencia, que se presentaron casi como "Los Diez Mandamientos".

El autor no quiere en ningún caso hacer reproches a mi estimado colega Collector. En su artículo [1], dio con buena fe una breve descripción de las afirmaciones a menudo repetidas, muy conocidas y reconocidas por muchas personas. Estas ideas estaban muy difundidas por las prisas de algunos en obtener un resultado positivo estando en el mercado con una sola posición abierta. Es decir que piensan que es necesario cerrar una posición antes de abrir una nueva. Lo compararía con la pesca con una sola caña, es una bonita actividad recreativa para los aficionados, pero los profesionales suelen utilizar distintos anzuelos y líneas. Cuando se trata de un sistema de trading, es mejor no limitar el análisis a una sola orden. Según el punto de vista del autor, la posibilidad de utilizar una serie de órdenes de cierre y apertura de forma consecutiva o simultánea, teniendo en cuenta la situación de las posiciones ya abiertas junto con las señales habituales, deben ser inmediatamente consideradas como la oportunidad para adaptarse al comportamiento del precio, ya que el "margen de discreción" del desarrollador del sistema de trading no es sólo un instrumento de ahorro.



¿Los diez "errores" de principiante en trading?

Supongamos que estamos "en números rojos" con una posición larga. De acuerdo con las reglas establecidas, tenemos que cerrarla lo antes posible, "reduzca sus pérdidas". Pero yo digo que acabamos de decidir comprar, es decir, estábamos seguros de que el precio va a subir, por ejemplo, un oscilador "comprobado" ha dibujado una desviación en la zona de sobreventa. ¿Por qué tenemos que salir del mercado ahora, cuando el precio es más bajo y la venta es aún más rentable? Es más lógico entrar en la misma dirección para reforzar la posición larga. Esto parece por lo menos más consistente. El resultado positivo actual será el total combinado de dos posiciones, no el de cada una por separado. En esto casos, el autor abre a veces una tercera posición, pero corta. El resultado total depende entonces de tres órdenes.

En general, lo que tiene que formar la base de un sistema de trading es el control sobre un conjunto determinado de órdenes (incluyendo las reglas para la apertura, cierre, elección de volumen, modificación de los niveles de StopLoss y TakeProfit de acuerdo con los cambios en el precio y otras condiciones). Limitar la cantidad de órdenes a una, dos o tres es un caso particular de este planteamiento general.

Así que nadie va en contra de la tendencia. La pregunta es: ¿Cómo reconocerla correctamente y a tiempo? Podemos decir que es el "ser o no ser" de la mayoría de los sistemas conocidos de trading.

Si se comparan las bandas de Bollinger con distintos períodos de promedio, es fácil ver que son más anchas con los períodos más largos (véase la siguiente figura: el período más corto es de 70 minutos, el más largo es de 370 minutos). El valor promedio en un período menor contribuye en la dispersión en un período mayor.



Cuando la línea promedia (el promedio móvil) se vuelve hacia atrás por un tiempo igual a la mitad del período seleccionado, se puede considerar que es la línea de tendencia (con antelación). Suponiendo que sabemos con antelación que el siguiente valor del promedio de la posición corta va a cambiar, se puede tener en cuenta el cambio aleatorio del pecio para obtener la dispersión en un marco de tiempo más corto, pero determinando el valor promedio del cambio. Al observar el proceso, obviamente no estacionario, del cambio del precio (el período corto es igual a la longitud de la barra), todo el mundo puede "ver" (¡todo el mundo quiere ver!) la suma del proceso aleatorio (caracterizado por la dispersión en un intervalo corto, visualmente dentro del rango, por la diferencia entre alto y bajo, es decir, por una valor bastante pequeño) y un desconocido, pero no aleatorio, proceso predefinido (tendencia) con un rango mucho más grande. Esto crea la ilusión de que es posible y el deseo de adivinar la dirección de la tendencia en un futuro próximo. "Vemos" objetos de análisis técnico en el gráfico del precio en función del tiempo del mismo modo que vemos figuras de animales u objetos al mirar las nubes. Sólo vemos lo que queremos y estamos dispuestos a ver, es así como funciona nuestra percepción.

La estadística no se equivoca. Pone de manifiesto que, en promedio, la probabilidad de adivinar con acierto se aproxima a 0.5, incluso para los mejores traders. Pero estos últimos no obtienen sus ganancias adivinando, lo hacen gracias a sus experiencias, su capacidad de controlar una posición abierta, las coberturas, las carteras, etc., además de su suerte, sólo hay que leer sus entrevistas. ¿No sería más fácil para un principiante rendirse y simplemente reconocer que el proceso es completamente aleatorio y prácticamente estacionario? ¿Qué significa esto para nosotros?

En primer lugar, está claro que cualquier desviación del promedio volverá probablemente a su estado inicial y por lo tanto no hay que tener miedo a colocar órdenes en contra de la tendencia. Y tampoco hace falta tener miedo a perder con una posición abierta o tener prisa en cerrarla.

En segundo lugar, el trading del Forex se convertirá en un factor estabilizador de la economía mundial, el trading en contra de la tendencia creará opiniones negativas y reducirá considerablemente las fluctuaciones del tipo de cambio. Por cierto, se sabe que la economía tiene su propia autorregulación, el crecimiento del tipo de cambio aumentaría los precios de exportación y estimularía la importación que volvería a bajar los tipos de cambio, y así sucesivamente. Pido disculpas por la excesiva simplificación (y para la tautología). No hay que sobrevalorar la situación y tener miedo a que se corrija el tipo de cambio cuando todo el mundo empiece a hacer trading en contra de la tendencia, este panorama está todavía muy lejos, y lo que es muy importante es que hay otro factores (fundamentales) que afectan al precio (¡aquí es dónde empieza a funcionar el análisis fundamental!)

En tercer lugar, los "diez" errores del principiante en trading descritos en [1] no son errores en absoluto, sino pasos adecuados. Vamos a verlos uno por uno [1].

  1. Hacer trading nada más abrirse el mercado

    Puesto que hemos perdido toda esperanza en adivinar la dirección de la tendencia, no hace falta esperar el momento adecuado, tenemos que entrar al mercado tan pronto como sea posible. También sería conveniente abrir dos posiciones con el mismo volumen, pero con direcciones opuestas, una corta y una larga. Una de ellas generará ganancias antes que la otra, y la otra podrá hacerlo más adelante, cuando el precio cambia de sentido y se mueve en una dirección rentable. Por lo tanto, en el momento de apertura y hasta el cierre de alguna de las dos posiciones, la operación de trading está cubierta al 100%, el riesgo es casi nulo (sólo podemos perder con la comisión, en su caso, el margen (spread), y la diferencia entre los swaps de las posiciones cortas y largas, siempre y cuando se necesita más de un día para su cierre).

  2. Precipitarse en retirar las ganancias

    ¡Nunca es demasiado pronto para retirar las ganancias! Esto no puede mejorar nuestra situación. Si, por ejemplo, hemos fijado el beneficio en una posición larga y el precio ha bajado más que el valor spread+comisión, podemos comprar de nuevo, podremos duplicar el beneficio recogido en el mismo segmento, ¡pero seguro que que no vamos a perder el beneficio fijado antes! Por ejemplo, compramos a 1.2300, cerramos a 1.2340; el precio cayó a 1.2320 - compra. Si el precio sube otra vez, ganaremos otra vez en el intervalo entre 1.2320 y 1.2340. Si no hubiéramos fijado el beneficio en 1.2340, sólo tendríamos veinte pips en lugar de cuarenta a 1.2320.

  3. Añadir lotes a una posición perdedora

    Esto es a veces necesario si una posición perdedora es el resultado de una desviación del promedio, es decir, cuando existe la posibilidad de que vuelva incrementada al promedio. Hay que añadir lotes a una posición perdedora, más se desvía el precio de la dirección correcta, más lotes tenemos que añadir.

  4. Cerrar posiciones empezando con las mejores

    Este punto tiene mucho en en común con el punto 2. Es mejor cerrar las posiciones rentables, no las perdedoras, estas últimas pueden ser rentables si las dejamos abiertas.

  5. Venganza

    Esta sensación no se produce si cerramos las posiciones perdedoras o las cerramos junto con las posiciones rentables, obteniendo un resultado total positivo tal y como se hizo en el sistema de trading [4], cuyos resultados están al final de este artículo. Además, sólo los humanos pueden tener un sentimiento de venganza. Vamos a protegernos contra los sobresaltos emocionales mediante la creación de un sistema de trading automático.

  6. Las posiciones preferibles

    Al añadir lotes a una posición perdedora, lo último que hemos "añadido" será por supuesto el más adecuado. Si el precio sigue cayendo (estamos hablando ahora de una posición larga), añadimos otra vez. Pero si se supone que lo último que hemos "añadido" tiene que darnos un beneficio general, este será en la parte inferior, al principio de un giro.

  7. Hacer trading con el principio de "comprado para siempre"

    Es posible hacer trading mediante este principio por dos motivos. En primer lugar, como ya lo he mencionado, no hay que apresurarse en cerrar un posición perdedora, incluso si es muy "vieja", hay que esperar a que lleguen tiempos mejores. En segundo lugar, se puede ganar mediante swaps, 350% por año, lo que tampoco está nada mal. [3, p. 356]

  8. Cerrar una posición estratégica rentable el primer día

    Repetimos el punto 2, nunca es demasiado pronto para cerrar una posición rentable.

  9. Cerrar una posición al recibir una señal para abrir una posición opuesta

    Nuestro estimado Collector no excluye esta posibilidad en su artículo [1]. El autor de este artículo no considera que esto es un error, es simplemente un elemento de un sistema de trading.

  10. Las dudas

    En mi opinión, no existen traders que no tengan dudas. George Soros dijo una vez (reformulando el famoso dicho de Napoleón): "Primero hay que lanzarse al mercado y ver que hacer luego". La idea está bien, pero la primera parte - "cerrar todas las posiciones". Yo lo expresaría así: Deja tu ordenador hacer el trabajo y ve a dar un paseo.

Por lo tanto, los "Diez Mandamientos" postulados en [1] o en cualquier otro sitio por cualquier persona no deben considerarse como la verdad definitiva o una solución milagrosa contra las pérdidas. En la actualidad, sólo hay un modo que permite a los traders principiantes o expertos cometer menos errores, modelar sus propios sistemas de trading en sus ordenadores y probarlos con los datos del historial. Esto no les garantiza operaciones sin fallos, pero les dota de cálculos precisos, y no de confianza ciega.

Explicación de la estrategia de trading

Sin embargo, tiene sentido probar la estrategia de trading basada en el planteamiento propuesto, "¡no se puede hacer una tortilla sin romper huevos!", tenemos la ventaja de disponer de todas estas maravillosas herramientas en MT4. Para probarla, excluyendo la influencia de cualquier factor adicional (selección de los tiempos de entrada y salida mediante señales), vamos a prescindir de las señales en el Asesor Experto [4], lo haremos sin el "ser o no ser". Abriremos al mismo tiempo dos órdenes opuestas para su ejecución instantánea ,es decir, cometemos los "errores" 1 y 7.

   kk=0; 
   tic=-1;  
   if (sob) 
         {
         if(max_lot_b==0.0)lotsi=0.1;else lotsi=2.0*max_lot_b;
         while(tic==-1 && kk<3)
            {
            tic=OrderSend(Symbol(),OP_BUY,lotsi,Ask,slip,0,Ask+(tp+25)*Point," ",m,0,Yellow);
            Print("tic_buy=",tic);
            if (tic==-1)
               {
               gle=GetLastError();
               kk++;               
               Print("Error #",gle," at buy ",kk);
               Sleep(6000);
               RefreshRates();   
               }
            }   
         lastt=CurTime();
         return;
         }
      tic=-1;
      kk=0;  
      if (sos) 
         {
         if(max_lot_s==0.0)lotsi=0.1;else lotsi=2.0*max_lot_s;
         while(tic==-1 && kk<3)
            {
            tic=OrderSend(Symbol(),OP_SELL,lotsi,Bid,slip,0,Bid-(tp+25)*Point," ",m,0,Red);
            Print("tic_sell=",tic);
            if (tic==-1)
               {
               gle=GetLastError();
               kk++;               
               Print("Error #",gle," at sell ",kk);
               Sleep(6000);
               RefreshRates();   
               }
            }
         lastt=CurTime();
         return;
         }
Si una de las órdenes llega hasta el nivel TakeProfit, abrirla de nuevo después de haber fijado el beneficio, es decir, cometemos los "errores" 2, 4 y 8 uno por uno.
   sob=(kol_buy()<1 || buy_lev_min-sh*Point>Ask) && 
      AccountFreeMargin()>AccountBalance()*0.5;       
   sos=(kol_sell()<1 || sell_lev_max+sh*Point<Bid) &&
      AccountFreeMargin()>AccountBalance()*0.5;
La segunda, es decir, la orden perdedora se reforzará con el doble de volumen después del cambio de precio en un intervalo determinado, después del mismo intervalo, se reforzará otra vez, y así sucesivamente hasta alcanzar el nivel de beneficio predeterminado y cerramos todas las órdenes en la misma dirección. Cometemos los "errores" 3 y 6 sucesivamente.

if(M_ob[kb_max][2]>0.0)scb=M_ob[kb_max][7]/(M_ob[kb_max][2]*10)>tp;
   if(M_os[ks_max][2]>0.0)scs=M_os[ks_max][7]/(M_os[ks_max][2]*10)>tp;
   
   kk=0;
   ii=0;
   if (scb)
      {
      while(kol_buy()>0 && kk<3)
         {
         kk++;
         for(i=1;i<=kb;i++)
            {
            if(M_ob[i][0]==0)break;else ii=M_ob[i][0];
            if (!OrderClose(ii,M_ob[i][2],Bid,slip,White)) 
               {
               gle=GetLastError();
               Print("Error #",gle," at close buy ",ii," (",kk,")");
               Sleep(6000);
               RefreshRates();  
               }
            }
         }
      }
   kk=0;  
   ii=0; 
   if (scs)
      {
      while(kol_sell()>0 && kk<3)
         {
         kk++;
         for(i=1;i<=ks;i++)
            {
            if(M_os[i][0]==0)break;else ii=M_os[i][0];
            if (!OrderClose(ii,M_os[i][2],Ask,slip,White))
               {
               gle=GetLastError();
               Print("Error #",gle," at close sell ",ii," (",kk,")");
               Sleep(6000);
               RefreshRates();  
               }
            }
         }
      }
Hacemos todo esto permanentemente cometiendo el "error" 10. El único "error" que todavía no hemos cometido de los que hemos mencionado anteriormente es el "error" 9, pero desde le principio no era un "error" real. Nos hemos protegido del "error" 5 dejando el control a nuestro ordenador. Se almacena la información actual de las posiciones abiertas en las matrices M_ob y M_os:

int kb,kb_max=0;
   kb=kol_buy()+1;
   double M_ob[11][8];
   ArrayResize(M_ob,kb);
   int ks=0,ks_max=0;
   ks=kol_sell()+1;
   double M_os[11][8];
   ArrayResize(M_os,ks);
   
   ArrayInitialize(M_ob,0.0);
   
   int kbi=0;
   for(i=0;i<OrdersTotal();i++)
     {
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
     if(OrderSymbol()==Symbol() && OrderType()==OP_BUY)
        {
        kbi++;
        M_ob[kbi][0]=OrderTicket();
        M_ob[kbi][1]=OrderOpenPrice();
        M_ob[kbi][2]=OrderLots();
        M_ob[kbi][3]=OrderType();
        M_ob[kbi][4]=OrderMagicNumber();
        M_ob[kbi][5]=OrderStopLoss();
        M_ob[kbi][6]=OrderTakeProfit();
        M_ob[kbi][7]=OrderProfit();
        }
      } 
   M_ob[0][0]=kb; 
   
   double max_lot_b=0.0;
   for(i=1;i<kb;i++)
      {
      if(M_ob[i][2]>max_lot_b)
         {
         max_lot_b=M_ob[i][2];
         kb_max=i;
         }
      }
   double buy_lev_min=M_ob[kb_max][1];   
   
   ArrayInitialize(M_os,0.0);
   int ksi=0;
   for(i=0;i<OrdersTotal();i++)
     {
     if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
     if(OrderSymbol()==Symbol() && OrderType()==OP_SELL)
        {
        ksi++;
        M_os[ksi][0]=OrderTicket();
        M_os[ksi][1]=OrderOpenPrice();
        M_os[ksi][2]=OrderLots();
        M_os[ksi][3]=OrderType();
        M_os[ksi][4]=OrderMagicNumber();
        M_os[ksi][5]=OrderStopLoss();
        M_os[ksi][6]=OrderTakeProfit();
        M_os[ksi][7]=OrderProfit();
        }
      } 
   M_os[0][0]=ks; 
   
   double max_lot_s=0.0;
   for(i=1;i<ks;i++)
      {
      if(M_os[i][2]>max_lot_s)
         {
         max_lot_s=M_os[i][2];
         ks_max=i;
         }
      }
   double sell_lev_max=M_os[ks_max][1];

Puede haber cierta cantidad de intervalos con movimientos en contra de la tendencia, por lo que es necesario contar con un depósito suficiente (en el ejemplo anterior, por lo menos 50000 $). Sin embargo, el sistema funcionará con depósitos iniciales pequeños, sólo hace falta incrementar el intervalo de sl. Si el depósito es de 1000 $, el intervalo debe ser 300, en este caso, el beneficio será un poco más pequeño.



Resultados de la prueba

Hemos llevado a cabo una prueba con USDCHF. Hemos elegido el gráfico por minutos para excluir la influencia de la calidad del modelado. Obtenemos resultados similares con otros símbolos, pero para obtener mejores resultados los parámetros sl y tp tienen que coincidir.

Informe de la prueba de estrategia
Asesor Experto Frank_ud

SímboloUSDCHF (Swiss Franc vs US Dollar)
Período1 Minuto (M1) 2006.02.16 18:06 - 2006.09.27 18:02
ModeloSólo precios de apertura (el método más rápido para analizar la barra que se acaba de completar)
Entradastp=65; sl=41;

Barras en la prueba200061Ticks modelados400022Calidad del modeladon/a

Depósito inicial 50000.00



Beneficio neto 168959.39 Beneficio bruto 204777.37 Pérdida bruta -35817.98
Factor de beneficio 5.72 Rentabilidad esperada 413.10

Disminución absoluta 0.00 Disminución máxima 5602.61 (3.41%) Disminución relativa 4.56% (2611.85)

Total de operaciones 409 Posiciones cortas (ganado %) 205 (59.51%) Posiciones largas (ganado %) 204 (61.27%)

Operaciones de beneficios (% del total) 247 (60.39%) Operaciones de pérdidas (% del total) 162 (39.61%)
Mayor Operación de beneficios 18874.04 Operación de pérdidas -1461.09
Media Operación de beneficios 829.06 Operación de pérdidas -221.10
Máximo ganancias consecutivas (beneficios en dinero) 14 (6950.34) pérdidas consecutivas (pérdidas en dinero) 7 (-5602.61)
Máximo beneficios consecutivos (número de ganancias) 25476.79 (8) pérdidas consecutivas (número de pérdidas) -5602.61 (7)
Media ganancias consecutivas 4 pérdidas consecutivas 3


# Tiempo Tipo Orden Lotes Precio S / L T / P Beneficio Saldo
12006.02.16 19:51buy10.101.31200.00001.3210

22006.02.16 19:52sell20.101.31150.00001.3025

3 2006.02.17 14:06 sell 3 0.20 1.3158 0.0000 1.3068
 
4 2006.02.20 4:21 t/p 3 0.20 1.3068 0.0000 1.3068 135.19 50135.19
5 2006.02.20 4:21 buy 4 0.20 1.3073 0.0000 1.3163
 
6 2006.02.23 16:15 close 2 0.10 1.3028 0.0000 1.3025 58.02 50193.21
7 2006.02.23 16:15 buy 5 0.40 1.3028 0.0000 1.3118
 
8 2006.02.23 16:16 sell 6 0.10 1.3038 0.0000 1.2948
 
9 2006.02.23 16:55 sell 7 0.20 1.3081 0.0000 1.2991
 
10 2006.02.24 10:14 close 1 0.10 1.3114 0.0000 1.3210 3.84 50197.05
11 2006.02.24 10:14 close 4 0.20 1.3114 0.0000 1.3163 75.17 50272.22
12 2006.02.24 10:14 close 5 0.40 1.3114 0,0000 1.3118 266.53 50538.75
13 2006.02.24 10:15 buy 8 0.10 1.3110 0.0000 1.3200
 
14 2006.02.24 10:36 sell 9 0.40 1.3123 0.0000 1.3033
 
15 2006.02.24 17:58 sell 10 0.80 1.3167 0.0000 1.3077
 
16 2006.02.27 1:20 t/p 8 0.10 1.3200 0.0000 1.3200 69.22 50607.97
17 2006.02.27 1:20 buy 11 0.10 1.3205 0.0000 1.3295
 
18 2006.02.27 1:22 sell 12 1.60 1.3211 0.0000 1.3121
 
19 2006.02.28 12:47 buy 13 0.20 1.3163 0.0000 1.3253
 
20 2006.02.28 17:24 close 6 0.10 1.3123 0.0000 1.2948 -68.52 50539.45
21 2006.02.28 17:24 close 7 0.20 1.3123 0.0000 1.2991 -71.52 50467.93
22 2006.02.28 17:24 close 9 0.40 1.3123 0.0000 1.3033 -10.01 50457.92
23 2006.02.28 17:24 close 10 0.80 1.3123 0.0000 1.3077 248.21 50706.13
24 2006.02.28 17:24 close 12 1.60 1.3123 0.0000 1.3121 1052.91 51759.04
25 2006.02.28 17:25 buy 14 0.40 1.3113 0.0000 1.3203
 
26 2006.02.28 17:26 sell 15 0.10 1.3111 0.0000 1.3021
 
27 2006.03.01 15:07 buy 16 0.80 1.3064 0.0000 1.3154
 
28 2006.03.01 18:52 close 11 0.10 1.3150 0.0000 1.3295 -39.72 51719.31
29 2006.03.01 18:52 close 13 0.20 1.3150 0.0000 1.3253 -17.66 51701.65
30 2006.03.01 18:52 close 14 0.40 1.3150 0.0000 1.3203 116.76 51818.41
31 2006.03.01 18:52 close 16 0.80 1.3150 0.0000 1.3154 523.19 52341.60
32 2006.03.01 18:53 buy 17 0.10 1.3162 0.0000 1.3252  

etc.

Como puede ver, los resultados de la prueba confirman la validez de la "refutación de los postulados".

El autor de este artículo comenzó el trading en 2002 y todavía se considera a sí mismo como un principiante en el trading y está seguro únicamente de dos postulados (axiomas, verdades, como quiera llamarlos) en el FOREX:
  • el mercado no está obligado a hacer nada por nadie;
  • el precio no tiene porqué seguir el pronóstico, sea de quien sea.

¡Más vale prevenir que curar!

Lista de referencias:

  1. Los diez errores básicos del principiante en trading: Un artículo de Collector en /en/articles/1418
  2. Torgovaya sistema treidera: faktor uspekha / Pod red.V.I. Safina. – SPb.: Piter, 2004. – 240 p.: En ruso (Sistemas de trading para un trader: Un factor de éxito)
  3. Yakimkin V.N., Ph. D. (Física/Matemáticas). Forex: kak zarabotat' bol'shie den'gi" - M.: IKF Omega-L, 2005. - 413 p.: En ruso (Forex: Cómo ganar mucho dinero)
  4. https://www.mql5.com/ru/code/7097