[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 479

 
costy_:

¿Cómo se responde sin saber que NumTimeFrames TimeFrames[i] está vacío o qué?

Escribe más completo, cómo, o más bien, qué leer con cuidado si no hay nada. Escriba el código completo, de lo contrario lo más probable es que "roa el granito de la ciencia",,,,)) if(true)continue; else return("Sleep("+7*1000*60*60+"));

Has acertado.


int TimeFrames[]={5,15,30,60}; 
int NumTimeFrames=ArraySize(TimeFrames);
int total_bars[]; ArrayResize(total_bars,NumTimeFrames);
string instrument = Symbol();

// пробегаем по задданым периодам
for(i=0; i<NumTimeFrames; i++)
  {
    // пробегаем по всем барам выбранного периода, ЕСЛИ на нем появились новые бары 
    if(total_bars[i]!=iBars(instrument,TimeFrames[i]))
     {


        // тут вычисления индиктора

        total_bars[i]=iBars(instrument,TimeFrames[i]); // запоминаем число баров на данном периоде
     }


Básicamente, según he entendido, podemos omitir la comprobación de la aparición de nuevas barras.

En realidad, se puede reducir a una simple pregunta: "¿en qué órdenes y en qué momento descarga MT las cotizaciones de las empresas de corretaje?

 
palladin:

¿podría citar el código que ha utilizado para probar su afirmación?


//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Print(iBars(Symbol(), PERIOD_D1));
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Reshetov:

Como supuse que no habías entendido la pregunta.

Prueba esto:


int start()
  {
//----
   Print(iBars(Symbol(), PERIOD_M1));
//----
   return(0);
  }
//+------------------------------------------------------------------+


Запустите на периоде М5 и подождите минуту, в логе вы обнаружите, что с каждой минутой отображается одно и то же число! Хотя оно, очевидно, должно увеличиваться с каждой минутой)

 
palladin:

Como supuse que no habías entendido la pregunta.

Prueba esto:



Запустите на периоде М5 и подождите минуту, в логе вы обнаружите, что с каждой минутой отображается одно и то же число! Хотя оно, очевидно, должно увеличиваться с каждой минутой)



¿Qué número está mostrando?

¿Cuál es la hora de esta barra de iBars?

¿hay una historia sobre la M1?
 

Reshetov ,sergeev ,costy_

gracias


He vuelto a comprobarlo, parece que después de todo funciona y me he equivocado en mi suposición.

iBars parece que realmente funciona correctamente, ni siquiera en el gráfico actual


 
for(i=0;i<=OrdersTotal();i++)
    {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;
    if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
      {
      if(OrderType() == OP_BUYSTOP)
        {
        if(OrderOpenPrice() > priceBuy)
          {
          priceBuy = OrderOpenPrice();
          }
        }
      }
    } 
  if(TakePrices1 == false)
    {  
    bTakeProfit = priceBuy + (10*2)*Point;
    TakePrices1 = true;
    }
Esta pieza selecciona la orden de compra más alta y añade 20 pips a su precio, y mueve el take profit a ese nivel. Pero en realidad no son 20 pips, son 13 pips. ¿Por qué 13, no 10, no 30, sino 13? ¿De dónde viene este número?
 
sss2019:
Esta pieza selecciona la orden de compra más alta y añade 20 pips a su precio, y mueve el take profit a ese nivel. Pero en realidad no son 20 pips, sino 13 pips. ¿Por qué 13, no 10, no 30, sino 13? ¿De dónde viene este número?


20-Spred

Abrir a la oferta, cerrar a la demanda

 
Vinin:


20-Spred

Abrir a la oferta, cerrar a la demanda


No, el take profit no se ha activado todavía. Este código encuentra la orden de compra pendiente más alta y resta 20 puntos de su precio abierto. El beneficio se traslada simplemente a 20 puntos más. Parece que aquí no hay que tener en cuenta el diferencial, además el diferencial está fijado en 2 puntos y nos faltan 7 puntos.
 
No entiendo cuál es el problema. Parece que cuando imprimo los valores, el precio está en el nivel correcto, pero cuando pongo este valor en la orden, su take profit sigue moviéndose sólo 13 pips.
 

Tra ta ta