Hacer cosas interesantes gratis - página 32

 
inoy:

Hola. Tal vez alguien esté interesado en escribir la red de arrastre original. No he encontrado nada similar en la web. El ToR real: tanto el stop como el beneficio se mueven (TralTP), pero siempre sólo en la dirección del PRECIO, es decir, el rango en ambos lados sólo se estrecha. Todo esto es sencillo, y el "truco" es que el arrastre cambia en % (y NO en pips) del SL o TP. Ejemplo: Tengo una posición abierta con SL = 300, TP = 100 (total 400 pips = 100%, SL = 75%, TP = 25% del rango). El precio se movió +50 pips, el stop loss está fijado en 150 pips. 150 pips del precio, es decir, -100. En total se ha mantenido la proporción inicial de 3/1. El precio ha vuelto al punto de apertura (0), para SL 100 puntos, significa que tenemos que mover TP a +33. Entonces, etc.

El precio no se mueve a saltos fantásticos (+50, -50)... La especificación técnica no es solucionable. O mejor dicho, se puede resolver, pero no será lo que tú quieres. La red de arrastre reaccionará a cada tic y el rango se reducirá más rápido de lo que usted desea. No digo que se estreche en cada tic, pero en cuanto pases algunos puntos, el rango se estrechará. Y ni siquiera estoy hablando de cinco dígitos, el arrastre será aún más sensible a las cotizaciones y el rango se reducirá aún más rápido.

 
Inmediatamente pensé en esto, que es para lo que sirve la variable Step. La red de arrastre no debe moverse en "unos pocos puntos", sino en un % determinado de rango, por ejemplo, el 25% del SL - TP actual. Alternativamente, la tarea puede resolverse de forma diferente en general (como opción): el usuario debe comprobar la relación P/L original en un intervalo de tiempo especificado por el usuario en minutos. El significado no cambiará, y la esencia de la idea sigue siendo la misma. Mejor aún, puedes hacer ambas cosas.
 
inoy:
Lo he pensado enseguida, para eso está la variable Step. La red de arrastre no debe moverse en "unos pocos puntos", sino en un % determinado del rango, por ejemplo, el 25% del margen actual SL - TP. Alternativamente, la tarea puede resolverse de forma diferente en general (como opción): el usuario debe comprobar la relación P/L original en un intervalo de tiempo especificado por el usuario en minutos. El significado no cambiará y la esencia de la idea sigue siendo la misma. Mejor aún, puedes hacer ambas cosas.

Mierda... Lo siento... No entendí bien ese parámetro ¡Paso! :))

Pero aun así, escribiré un pensamiento en voz alta. No hay que perder el tiempo con la pesca de arrastre, sino confiar en el análisis técnico...

 
Puede que tengas razón. Pero además de la AT, también existe el análisis probabilístico, que resuelve el problema de la elección con diferentes ratios de riesgo. La idea de la red de arrastre la obtuve de la prueba de Shapiro descrita por Elder.
 

Hola, he encontrado un buen indicador, da una señal clara de 20 pips como mínimo, pero las señales llegan muy poco y de forma inesperada, no tengo tiempo para seguirlas. He intentado poner una alerta (pitido) pero no funciona, ¡me gustaría poder usarlo también como Asesor Experto! Llevo cincuenta años usándolo y es muy bueno. ¡Llevo más de un año usándolo y es muy bueno!

aquí hay un milagro

Archivos adjuntos:
 
DDEEDD:

He encontrado un buen indicador, da una señal clara de 20 pips por lo menos, pero las señales vienen muy raramente y de forma inesperada, no tengo tiempo para seguirlas. He intentado poner una alerta (pitido) pero no funciona, ¡me gustaría poder usarlo también como Asesor Experto! Llevo cincuenta años usándolo y es muy bueno. ¡Llevo más de un año usándolo y es muy bueno!

aquí hay un milagro.


El indicador se asoma a 1 bar.

Más precisamente - dibuja un punto de entrada en la barra en la que comprueba el precio de cierre. lo que significa que no entrará en el precio de apertura de la barra, sino en el de cierre, es decir, con 1 barra de retraso.

esto es lo que analiza - el cruce del precio de cierre con la línea de arrastre (a una distancia de nPips) del último giro

estás en un piso



 

Estoy usando un Asesor Experto junto con él. Por supuesto que hay pérdidas, pero son insignificantes en comparación con la situación general.

 

He encontrado un indicador interesante en CodeBase y me gustaría cambiarlo ligeramente.

Salidas a la esquina superior derecha del
TF de trabajo
ApPrise
DnPrise

Distancia entre líneas en pips

¿Quizás quién pueda rehacerlo?

Archivos adjuntos:
 
Hola a todos. Quería hacer un zigzag rápido para mi EA usando el tema XLab_ZZZ del autor del hilo. Pero XLab_ZZZ cuenta desde el principio de la historia y necesito las dos primeras pausas de la derecha. Lo escribí, pero tiene un fallo y no sé dónde está. Míralo a simple vista, quizá veas dónde está el error. Mira los precios de apertura.
//+------------------------------------------------------------------+
//|                                                   1+FZZ_test.mq4 |
//+------------------------------------------------------------------+

 int Step=30;
 string tmp,line[4]; int last_time_signal_ss,last_time_signal_bs;
 double p1,p2,p3,p4,p5; int mp, t1,t2,t3,t4,t5;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
     mp=1; if(Digits==3 || Digits==5)mp=10; 
     for (int i=0;i<4;i++)line[i]="Line"+Symbol()+"_"+i+"_ZZ";
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   DeleteObjects("ZZ");Comment("");
//----
   return(0);
  }

void DeleteObjects(string text) {
   string name;
   for (int i = ObjectsTotal() - 1; i >= 0; i--) {
      name = ObjectName(i);
      if (StringFind(name,text) > -1) ObjectDelete(name);
   }
}
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  
  Signal();
 //_ObjectSet(line[0], p2,t2,Close[1],Time[0]);
 _ObjectSet(line[1], p3,t3,p2,t2);
 _ObjectSet(line[2], p4,t4,p3,t3);
 _ObjectSet(line[3], p5,t5,p4,t4);
//----
   return(0);
  }
//+------------------------------------------------------------------+
int Signal(){
int x,n;
p1=0;p2=0;p3=0;p4=0;p5=0; t1=0;t2=0;t3=0;t4=0;t5=0;
double hi=High[1], lo=Low[1], c=Close[1]; int th=0,tl=0;

for(int i=1; i<500;i++)
   {
    
    if(p2==0)
    {
    if(High[i]>hi){hi=High[i]; th=Time[i];}
    if(Low [i]<lo){lo=Low [i]; tl=Time[i];}
    if(hi-lo>Step*Point*mp)
      {
       if(c>lo && c<hi ){
                          if(th>tl){p2=hi;t2=th;p3=lo;t3=tl;}
                          if(tl>th){p2=lo;t2=tl;p3=hi;t3=th;}
                          continue;
                         }
       }
    }
    
    if(p2>0 && p4==0)
     {
     n=i;
       if(p3>p2){
                 if(p3-Low [n]>Step*Point*mp){p4=Low [n];t4=Time[n];continue;}
                 if(High[n]>p3)if(p3-Low [n]< Step*Point*mp){p3=High[n];t3=Time[n];}
                }  
       if(p3<p2){
                 if(High[n]-p3>Step*Point*mp){p4=High[n];t4=Time[n];continue;}
                 if(Low[n]<p3){p3=Low[n];t3=Time[n];}
                }  
     }
    
    if(p4>0)
      {
       x=i;
       if(p4>p3){
                 if(p4-Low [x]>Step*Point*mp){p5=Low [x];t5=Time[x];break;}
                 if(High[x]>p4){p4=High[x];t4=Time[x];}
                 
                }  
       if(p4<p3){
                 if(High[x]-p4>Step*Point*mp){p5=High[x];t5=Time[x];break;}
                 if(Low[x]<p4){p4=Low[x];t4=Time[x];}
                 
                }  
      }
    if(p5>0)break;
    
    }

return(0);}

void _ObjectSet(string name, double price1, int time1, double price2,int time2) {
   if(ObjectFind(name)!= -1)ObjectDelete(name); 
   ObjectCreate(name,OBJ_TREND,0,0,0,0,0);
   ObjectSet(name,OBJPROP_STYLE,STYLE_SOLID);
   ObjectSet(name,OBJPROP_COLOR,DodgerBlue);
   ObjectSet(name, OBJPROP_TIME1, time1);
   ObjectSet(name, OBJPROP_PRICE1, price1);
   ObjectSet(name, OBJPROP_TIME2, time2);
   ObjectSet(name, OBJPROP_PRICE2, price2);
   ObjectSet(name,OBJPROP_RAY,false); 
}
 
FION:
Quería hacer un zigzag rápido para el EA basado en el tema XLab_ZZZ del autor del hilo.

En primer lugar, usted está contando en una dirección equivocada. En segundo lugar, usted ha matado el propósito de mi zigzag en absoluto :)

Debe introducir el código del indicador en el Asesor Experto directamente tal cual. No le pasará nada al EA si calcula todo el historial (o desde la barra especificada) cuando se lanza.