[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 620

 
sanyooooook:
algo así, donde el orden se arrastra según el valor de funk calculado
Gracias, veamos...
 

Chicos, no lo entiendo... Los aplazamientos solían borrarse cuando caducaban, pero ahora no es así: pueden permanecer en el probador durante un año... ¿Cuál podría ser la razón?

Estoy utilizando la función SetOrder de Kim que me envía los parámetros necesarios:

SetOrder(string sy, int op, double ll, double pp,
              double sl=0, double tp=0, int mn=0, string co="", datetime ex=0)

Yo lo llamo así:

   double   tp;
   string   sy=Symbol();
   double pa=MarketInfo(sy, MODE_ASK);
   double pb=MarketInfo(sy, MODE_BID);
   double po=MarketInfo(sy, MODE_POINT);
//-------------------------------------------------------------------------------------         

   Magic=511;
   Lots_New=NormalizeLot(Lots/2, False, NULL);
   SetOrder(NULL, OP_SELLSTOP, Lots_New, Bid-DistORD*Point, 0, Bid-(DistORD+tp)*Point,Magic,TimeCurrent()+1*60*60);
// Функция для рассчёта Take Profit по ATR

//+------------------------------------------------------------------+
//|                  Take from ATR                                   |
//+------------------------------------------------------------------+
double TakeProfitATR (int tf)
  {
   double   atr   =iATR(NULL,tf,14,0);
   double   mltp  =45000;
   if (tf==5) mltp=45000;
   double   tp    =MathRound(atr*mltp);
   return  (tp);
  }

Aquí es donde establezco el tiempo de vida pendiente:

TimeCurrent()+1*60*60

1 = una hora, 2 = dos horas, etc.
Lo más interesante es que antes todo funcionaba, pero ahora no...

¿Debemos normalizar esta expresión que calcula el precio de fijación del pedido?

Bid-DistORD*Point

DistORD = 40.0; // Distancia para realizar un pedido

A veces aparece el error 4107

 
Si DistORD estuviera intacta, no tendría que hacerlo, pero lo hace.
 

La cuestión de la equidad se ha planteado aquí recientemente... Me enganché un poco y esto es lo que me llevó mi investigación:


Utilicé el swing trading habitual con adiciones por tendencia y bloqueo de posiciones abiertas.
No utilicé el StopLoss, la toma fue dinámica calculada usando el ATR, rastreando todas las posiciones. Para la posición principal utilicé el trailing on parabolic (a decir verdad - no muy bueno),
Para los restos y lotes utilicé un sistema de salida de tres niveles en el que al llegar a cada uno de ellos la posición se cerraba por partes.

Sin el control de la equidad, el sistema siempre fallaba a mediados y finales de año. Después de habilitar el control de la equidad - aquí está el gráfico delante de usted.

Cada vez que la renta variable aumentaba un 5% con respecto a su valor inicial, se cerraban completamente todas las posiciones y se iniciaba de nuevo el recuento.


Creo que hay algo de información para discutir... Sus pensamientos, amigos...

 
Ayuda para los nuevos aquí, mover la discusión a otro hilo.
 
artmedia70:

Creo que aquí hay información para debatir... Sus pensamientos, amigos...



en una demostración de 24 horas

No sé por qué, pero en el probador mis resultados son los mismos y no la demo completamente diferente

 
Roger:
Ayuda para los nuevos aquí, mover la discusión a otro hilo.
Así que aquí se planteó la cuestión de la equidad - por lo que estoy publicando los resultados de mi investigación... Y entonces, bueno, no es interesante, así que dejémoslo...
 
IgorM:


durante 24 horas en la demo

No sé por qué, pero en el probador tengo los mismos resultados, y no la demo completamente diferente

Ya está en la demostración...
 

¡¡¡Necesito ayuda!!! ¿Cómo elegir la última orden perdedora del historial?

 
Roger:
Si DistORD estuviera intacta, no tendría que hacerlo, pero lo hace.
Y si establecemos el tipo de DistORD como int en lugar de double. ¿Sería correcto utilizarla como una variable int en una expresión en la que se utilizan variables dobles?