[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 350

 

¿Cómo puedo memorizar mi barra de índice? Cuando aparecen nuevas barras, el índice cambia. Por ejemplo: Si se produce un cruce de ondas, la siguiente barra será una barra cero. Necesito memorizar el valor de la onda en esta barra y utilizarlo en los cálculos del indicador en las siguientes barras. ¿Cómo se inicializa este índice? ¿O cómo hacerlo?

 
david2:

¿Cómo puedo memorizar una barra de índice?

 datetime Time_bar;// в глобальных переменных


//запоминаем бар по времени открытия
 if(...пересечение машек...) Time_bar=Time[0];
 

// определяем индекс бара в любой момент
int bar=-1;
for(int i=0;i<1000;i++){
    if(Time[i]==Time_bar) { bar=i;break; }                   
                        }
 
KONDOR:

Muchas gracias, lo intentaré así.
 
¿Sabes si existe un traductor de C o C++ a MQL4? Quiero decir que sería más conveniente para mí escribirlo en C y luego traducirlo?
 
-xlapex-:

Probado esto, el resultado es el mismo - cero.

int start() {

int mas2[10][2],min_1,min_2,min_V1,min_V2;


for(int i=1;i<Q_Bars;i++)
{
min_1 =ArrayMinimum(Volume, Q_Bars,1); //определяем индекс бара с минимальным объемом
min_V1=iVolume(0,0,min_1); //величина этого объема

mas2[i,0]=Volume[i]; //заполняем 1-ю часть двумерного массива объемами
mas2[i,1]=i; //вторую часть - соответствующими им индексами
}
ArraySort(mas2); //сортируем по величине объемов
min_V2=mas2[2,0]; //определяем второй после минимального объем
min_2=mas2[2,1]; //соответствующий ему индекс бара

H1= NormalizeDouble(High[min_2],4); //нормализуем level по знакам после запятой
create_line("", H1, Ex_col_2, 0, 2); //пытаемся нарисовать линию

return(0); //Bывод: ничего не рисуется, что еще ему надо - ????
}
//--------------------------------------------------------------------
void create_line(string name_line,double level,color c,int style,int w)
{
ObjectCreate(name_line, OBJ_HLINE, 0, 0,0);
ObjectSet(name_line, OBJPROP_PRICE1, level);
ObjectSet(name_line, OBJPROP_COLOR, c);
ObjectSet(name_line, OBJPROP_STYLE, style);
ObjectSet(name_line, OBJPROP_WIDTH, w);

}



¿Y por qué el nombre del objeto está vacío? Escribir algo: "Nombre_del_objeto" en lugar de "" al llamar a create_line("", H1, Ex_col_2, 0, 2 );


 
artmedia70:

Gracias, ya lo he hecho todo.
 

GBPUSD no se abre

int start()
{
OrderSend("GBPUSD",OP_SELL,0.1,Ask,0,Ask+400*Point,Ask-100*Point);
Alert GetLastError();
return()

}

y en la compilación genera errores relacionados con la alerta GetLastError();

¿Podría ser que los 100 puntos del corredor estén demasiado cerca (5 dígitos en el corredor)?

 
Danil93:

GBPUSD no se abre

int inicio()
{
OrderSend("GBPUSD",OP_SELL,0.1,Ask,0,Ask+400*Point,Ask-100*Point);
Alerta GetLastError();
return();

}

y en tiempo de compilación obtengo errores relacionados con la alerta GetLastError();

¿Podría ser que los 100 pips del broker estén demasiado cerca (5 dígitos en el broker)?


Tal vez, porque a 4 dígitos es sólo 10ppt. Pon al menos 101 en lugar de 100 y comprueba.
 
Hola a todos. ¿Puedes decirme si el probador tiene en cuenta los intercambios? Porque mis ganancias en algunos pares se están derritiendo sospechosamente (especialmente en las operaciones que se mantienen durante mucho tiempo).
 
Danil93:

El GBPUSD no se abre


y al compilar escribe los errores relacionados con Alert GetLastError();

¿podría ser que los 100 pips del broker estén demasiado cerca (5 dígitos en el broker)?


int start()
{
  OrderSend("GBPUSD",OP_SELL,0.1,Ask,0,Ask+400*Point,Ask-100*Point);
  Alert(GetLastError());
  return();

}
Razón de la queja: