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

 

¡Hola!

¿Podría decirme cómo tener en cuenta el historial de los pedidos ya cerrados? Me gustaría probar un EA que, por ejemplo, después de cerrar una orden de compra StopLoss, abra la siguiente orden de venta. O, si la orden anterior se cerró con beneficio, para seguir operando en la misma dirección.

 
artmedia70:
Es que desde tu lado parece que todo el foro debe enseñarte incondicionalmente. Pero aquí nadie debe ni tiene que hacer nada. Siempre es útil leer la documentación. Razón de más para tenerlo a mano y necesario.

¿Qué te hace pensar que alguien me debe algo? Si no quieres decírmelo, ¿cuál es el problema? ¿Estoy obligando a alguien a hacer algo, forzándome o metiéndome con él en persona?

Nadie debe nada a nadie, estoy de acuerdo contigo al 100%...

Parto del hecho de que si haces algo, lo haces bien o no lo haces, si tienes una pregunta, das una respuesta o simplemente pasas de largo, no, tienes que añadir y devolver algo, y a la dirección equivocada....

Por el amor de Dios, nadie está presionado para responder a las preguntas de nadie aquí, espero .....

 
VladislavVG:

Vladimir, tendrás derecho a expresar toda esta histeria al equipo de soporte del terminal que compres.

Para los que no lo saben:

¡El terminal lo paga el broker, con el spread o comisión que pago! Así que el terminal no es gratuito ....

 
VOLDEMAR:

¿Qué pasa? :-)

Con unos 1500 mensajes, será mejor que domines el "Navegador del Foro", como te recomendó granit77... :-)

Es una BASE, ¡¡¡ABC!!!

 
Vinin:

Trae todo el código.
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_minimum 0
#property indicator_maximum 100

int mass1[9999];
int mass2[9999];

extern bool A = false;

void init()
        {
        SetIndexBuffer(0, mass1);
        SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1);
        SetIndexBuffer(1, mass2);
        SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1);
        }

void start()
        {
        int limit = Bars - IndicatorCounted();
        int i = 0, g = 0, summ = 0;
        int startbar, endbar, starttime, endtime, lowbarend, lowbarstart, highbarstart, highbarend;
        double low, high;
        int lowsum, highsum;
        starttime = iTime(Symbol(), Period(), i);
        endtime = iTime(Symbol(), Period(), i + 1);
        startbar = iBarShift(Symbol(), PERIOD_M1, starttime, false);
        endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
        
        while(i < 5)
                {
                lowsum = 0;
                highsum = 0;
                if(i != 0)
                        {
                        starttime = iTime(Symbol(), Period(), i);
                        endtime = iTime(Symbol(), Period(), i + 1);
                        startbar = iBarShift(Symbol(), PERIOD_M1, starttime, false);
                        endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
                        }
                        else
                        {
                        starttime = iTime(Symbol(), Period(), i);
                        endtime = iTime(Symbol(), Period(), i + 1);
                        startbar = iBarShift(Symbol(), PERIOD_M1, TimeCurrent(), false);
                        endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
                        }
                        
                //Alert(TimeToStr(starttime, TIME_DATE|TIME_MINUTES),"   ",TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES));   
                low = iLow(Symbol(), PERIOD_M1, endbar);
                high = iHigh(Symbol(), PERIOD_M1, endbar);
                lowbarend = endbar;
                highbarend = endbar;
                lowbarstart = endbar;
                highbarstart = endbar;
                
                while(endbar >= startbar)
                        {
                        if((low - iLow(Symbol(), PERIOD_M1, endbar)) / Point > 0)
                                {
                                //Alert(low, " ", iLow(Symbol(), PERIOD_M1, endbar), " ", endbar, " ", startbar);
                                low = iLow(Symbol(), PERIOD_M1, endbar);
                                lowbarstart = endbar;
                                }
                        if((iHigh(Symbol(), PERIOD_M1, endbar) - high) / Point > 0)
                                {
                                high = iHigh(Symbol(), PERIOD_M1, endbar);
                                highbarstart = endbar;
                                //Alert(high, " ", iHigh(Symbol(), PERIOD_M1, endbar), " ", endbar, " ", startbar);
                                }
                        endbar--;
                        }
                        //Alert(highbarstart, " ", highbarend, " = ", lowbarstart, " ", lowbarend);
                        
                        while(lowbarstart < lowbarend + 1)
                                {
                                lowsum = lowsum + iVolume(Symbol(), PERIOD_M1, lowbarstart);
                                lowbarstart++;
                                }
                        while(highbarstart < highbarend + 1)
                                {
                                highsum = highsum + iVolume(Symbol(), PERIOD_M1, highbarstart);
                                highbarstart++;
                                }
                        mass2[i] = lowsum;
                        mass1[i] = highsum;
                        Alert(mass2[i], " ", highsum, " ", ArraySize(mass1));
                        //Alert(mass1[i], " ", i);
                i++;
                }
        }
Mira esto, por favor
 
VOLDEMAR:

Para los que no lo saben:

¡El terminal lo paga el broker, del spread o comisión que pago ! Así que el terminal no es gratuito ....

Para los que creen saber ;) :

Así que el corredor puede acudir al servicio técnico con esas preguntas, ya que es él quien les paga, no tú )))))))))). Puedes acudir a tu broker: les pagas el diferencial, así que ¿por qué no les das un toque? Puede que te dé una sesión de entrenamiento "gratis"). Al mismo tiempo, pueden responderle cómo funcionan los mercados, las empresas de corretaje y quién debe qué a quién).

Si no lo entiendes y te da pereza estudiarlo por ti mismo ;Y en general - díselo a los desarrolladores de eSignal o TradeStation, o a los desarrolladores y usuarios de otras plataformas de pago y datáfonos.

SZZY Sólo un loco deseo de confundir los deseos con la realidad ;) ?

 
sss2019:
Aquí tienes.


Díganos qué quería conseguir.
 
Vinin:

Díganos qué quería conseguir.

Muestra las líneas en el gráfico según los datos de las matrices. Las alertas muestran que las matrices están llenas, pero las líneas no se muestran.
 

Buenas tardes.

Por favor, aconsejadme, oh grandes gurús:)

¿Es posible terminar las Líneas de Fibonacci?

Me gustaría ver la siguiente aplicación -

Después de dibujar estas líneas en el gráfico, el precio de este nivel se escribirá automáticamente delante de los niveles.

Y cambiaría automáticamente al estirar la fibra

 
sss2019:

Muestra líneas en el gráfico según los datos de las matrices. Las alertas muestran que las matrices están llenas, pero las líneas no se muestran.


Algo se está dibujando

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_minimum 0
#property indicator_maximum 100

double mass1[];
double mass2[];

extern bool A = false;

void init() {
   SetIndexBuffer(0, mass1);
   SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1);
   SetIndexBuffer(1, mass2);
   SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1);
}

void start() {
   int limit = Bars - IndicatorCounted();
   int i = 0, g = 0, summ = 0;
   int startbar, endbar, starttime, endtime, lowbarend, lowbarstart, highbarstart, highbarend;
   double low, high;
   int lowsum, highsum;
   starttime = iTime(Symbol(), Period(), i);
   endtime = iTime(Symbol(), Period(), i + 1);
   startbar = iBarShift(Symbol(), PERIOD_M1, starttime, false);
   endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
        
   while(i < 5) {
      lowsum = 0;
      highsum = 0;
      if(i != 0) {
         starttime = iTime(Symbol(), Period(), i);
         endtime = iTime(Symbol(), Period(), i + 1);
         startbar = iBarShift(Symbol(), PERIOD_M1, starttime, false);
         endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
      }
      else
      {
         starttime = iTime(Symbol(), Period(), i);
         endtime = iTime(Symbol(), Period(), i + 1);
         startbar = iBarShift(Symbol(), PERIOD_M1, TimeCurrent(), false);
         endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
      }
                        
      //Alert(TimeToStr(starttime, TIME_DATE|TIME_MINUTES),"   ",TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES));   
      low = iLow(Symbol(), PERIOD_M1, endbar);
      high = iHigh(Symbol(), PERIOD_M1, endbar);
      lowbarend = endbar;
      highbarend = endbar;
      lowbarstart = endbar;
      highbarstart = endbar;
                
      while(endbar >= startbar) {
         if((low - iLow(Symbol(), PERIOD_M1, endbar)) / Point > 0) {
            //Alert(low, " ", iLow(Symbol(), PERIOD_M1, endbar), " ", endbar, " ", startbar);
            low = iLow(Symbol(), PERIOD_M1, endbar);
            lowbarstart = endbar;
         }
         if((iHigh(Symbol(), PERIOD_M1, endbar) - high) / Point > 0) {
            high = iHigh(Symbol(), PERIOD_M1, endbar);
            highbarstart = endbar;
            //Alert(high, " ", iHigh(Symbol(), PERIOD_M1, endbar), " ", endbar, " ", startbar);
         }
         endbar--;
      }
      //Alert(highbarstart, " ", highbarend, " = ", lowbarstart, " ", lowbarend);
                        
      while(lowbarstart < lowbarend + 1) {
         lowsum = lowsum + iVolume(Symbol(), PERIOD_M1, lowbarstart);
         lowbarstart++;
      }
      while(highbarstart < highbarend + 1) {
         highsum = highsum + iVolume(Symbol(), PERIOD_M1, highbarstart);
         highbarstart++;
      }
      mass2[i] = lowsum;
      mass1[i] = highsum;
//      Alert(mass2[i], " ", highsum, " ", ArraySize(mass1));
      //Alert(mass1[i], " ", i);
      i++;
   }
}