La ventana de MetaTrader 5 muestra los valores Bid& Ask, que (según tengo entendido) determinan la ganancia/pérdida.
Sin embargo, cuando intento utilizar las cotizaciones por minuto del historial para probar mi estrategia, estas cotizaciones no contienen los valores de Oferta yDemanda, sino que dan los valores " OPEN", "HIGH" "LOW", "CLOSE", "TICKVOL","VOL","SPREAD". No está del todo claro cómo tomar el Bid y elAsk de estos valores, así como la forma de calcular el spread.
Todo está absolutamente claro. Describa con más detalle lo que significa exactamente "cuando intento utilizar las citas del historial de minutos". ¿Qué hace o quiere hacer exactamente?
1. Devuelve directamente el valor de la propiedad.
longSymbolInfoInteger(
string name, // символ ENUM_SYMBOL_INFO_INTEGER prop_id // идентификатор свойства
);
2. Devuelve true o false dependiendo del éxito de la función. Si tiene éxito, el valor de la propiedad se coloca en la variable de destino pasada por referencia por el último parámetro.
boolSymbolInfoInteger(
string name, // символ ENUM_SYMBOL_INFO_INTEGER prop_id, // идентификатор свойства long& long_var // сюда примем значение свойства
);
1. Devuelve directamente el valor de la propiedad.
2. Devuelve true o false dependiendo del éxito de la función. Si tiene éxito, el valor de la propiedad se coloca en la variable de destino pasada por referencia por el último parámetro.
#property copyright"Copyright 2018, Sergey S Morozov"#property link"https://www.mql5.com"#property version"1.00"#property strict//#property indicator_separate_window // Индик. рисуется в новом окне#property indicator_chart_window// Индик. рисуется в основном окне#property indicator_buffers1// Количество буферов#property indicator_color1 Red // Цвет первой линииexternint History =50; // Колич.баров в расчётной историиexternint Aver_Bars=5; // Количество баров для расчётаdouble ArrayBuff[];
//----------------------------------------------------------------------------------------------------intOnInit()
{
SetIndexBuffer(0,ArrayBuff);
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1);
return(INIT_SUCCEEDED);
}
intOnCalculate(
constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
int i, // Индекс бара
n, // Формальный параметр
Counted_bars; // Количество просчитанных баров double
Sum_H, // Сумма значений High за переиод
Sum_L; // Сумма значений Low за переиод//--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1; // Индекс первого непосчитанногоif (i>History-1) // Если много баров то ..
i=History-1; // ..рассчитывать заданное колич.while(i>=0) // Цикл по непосчитанным барам
{
Sum_H=0; // Обнуление в начале цикла
Sum_L=0; // Обнуление в начале циклаfor(n=i;n<=i+Aver_Bars-1;n++) // Цикл суммирования значений
{
Sum_H=Sum_H + High[n]; // Накопление суммы макс.значений
Sum_L=Sum_L + Low[n]; // Накопление суммы мин. значений
}
ArrayBuff[i]=(Sum_H-Sum_L)/Aver_Bars; // Знач. 0 буфера на i-ом баре
i--; // Расчёт индекса следующего бара
}
return(rates_total);
}
//+------------------------------------------------------------------+
Acabo de empezar, todavía no sé escribir en este idioma. Pero el problema es que si en una nueva ventana, el gráfico aparece. Pero no puedo mostrarlo en el actual... ¿Cuál es mi error? Teniendo en cuenta que yo mismo no pude escribirlo y no encuentro ejemplos aquí. Además, está claro que no es a través de una función como SetChartData(punto1,punto2); simplemente ocurre por sí mismo...
Y la variable parece estar configurada(indicator_chart_window), pero sigue sin funcionar....
Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Как прописать расписание торговли робота? Здравствуйте...
Todo está disponible. Describa con más detalle lo que significa exactamente "cuando intento utilizar las citas del historial de minutos". ¿Qué hace o quiere hacer exactamente?
Para descargar las cotizaciones del historial cargue MetaTrader 5, haga clic en el icono con el símbolo del dólar: "Symbol List Display" (o puede pulsar CtrlU). Aparecerá la ventana "Símbolos". En la pestaña "ESPECIFICACIÓN" busque el par de divisas deseado, por ejemplo, GBPCHF. En la pestaña "Bares" establezca las cotizaciones de los minutos (M1) y las fechas de inicio y fin del periodo requerido. Después de hacer clic en el botón "SOLICITAR", se descargará un archivo csv, que puede utilizarse para probar estrategias con el Metatrader o con sus propios programas.
Utilizando EXCEL puede ver el contenido de este archivo, donde la primera línea revela la información del archivo, es decir, "fecha, hora" y luego" OPEN", "HIGH" "LOW", "CLOSE", "TICKVOL", "VOL", "SPREAD"
Sé exactamente lo que significan estos datos, pero ¿cómo hacer BIT y ASK de estos datos, que MetaTrader 5 utiliza?
Por favor, aconséjeme dónde en mt5 se puede comprobar la información sobre un símbolo? Recuerdo que en mt 4 se podía comprobar en el probador de estrategias, pero en el probador de mt5 no he encontrado esta función.
Simplemente añade otra matriz CArrayObj a la matriz CArrayObj: Add()
No funciona así. No se permite la conversión de parámetros
Por cierto, si importa. Mi objeto a añadir al array es una clase heredada de CArrayObj.
Bien, jura en la última línea - conversión de parámetros no permitida.¡¡¡Estimados miembros del foro ayuda por favor!!!
Quiero asignar un paso de precio a una variable:
int V=SymbolInfoInteger(Symb,SYMBOL_POINT);
error: 'SymbolInfoInteger' - no se puede aplicar ninguna de las sobrecargas a la llamada a la función
¿Cuál es mi error?
int V=(int)SymbolInfoInteger(Symb,SYMBOL_POINT);
Así que pruébalo.
Estimados miembros del Foro
Por favor, ¡acompáñeme!
La ventana de MetaTrader 5 muestra los valores Bid& Ask, que (según tengo entendido) determinan la ganancia/pérdida.
Sin embargo, cuando intento utilizar las cotizaciones por minuto del historial para probar mi estrategia, estas cotizaciones no contienen los valores de Oferta y Demanda, sino que dan los valores " OPEN", "HIGH" "LOW", "CLOSE", "TICKVOL","VOL","SPREAD". No está del todo claro cómo tomar el Bid y el Ask de estos valores, así como la forma de calcular el spread.
Todo está absolutamente claro. Describa con más detalle lo que significa exactamente "cuando intento utilizar las citas del historial de minutos". ¿Qué hace o quiere hacer exactamente?
¡¡¡Estimados miembros del foro ayuda por favor!!!
Quiero asignar un paso de precio a una variable:
int V=SymbolInfoInteger(Symb,SYMBOL_POINT);
error: 'SymbolInfoInteger' - no se puede aplicar ninguna de las sobrecargas a la llamada a la función
¿Cuál es mi error?
Ayuda deSymbolInfoInteger:
1. Devuelve directamente el valor de la propiedad.
2. Devuelve true o false dependiendo del éxito de la función. Si tiene éxito, el valor de la propiedad se coloca en la variable de destino pasada por referencia por el último parámetro.
Es decir, OR long OR bool.
¡¡¡Estimados miembros del foro ayuda por favor!!!
Quiero asignar un paso de precio a una variable:
int V=SymbolInfoInteger(Symb,SYMBOL_POINT);
error: 'SymbolInfoInteger' - no se puede aplicar ninguna de las sobrecargas a la llamada a la función
¿Cuál es mi error?
Point es un valor de tipo double. Cuando se recibe como int tendrá un valor cero.
Ayuda deSymbolInfoInteger:
1. Devuelve directamente el valor de la propiedad.
2. Devuelve true o false dependiendo del éxito de la función. Si tiene éxito, el valor de la propiedad se coloca en la variable de destino pasada por referencia por el último parámetro.
Es decir, OR long OR bool.
Lo tengo, gracias)
Acabo de empezar, todavía no sé escribir en este idioma. Pero el problema es que si en una nueva ventana, el gráfico aparece. Pero no puedo mostrarlo en el actual... ¿Cuál es mi error? Teniendo en cuenta que yo mismo no pude escribirlo y no encuentro ejemplos aquí. Además, está claro que no es a través de una función como SetChartData(punto1,punto2); simplemente ocurre por sí mismo...
Y la variable parece estar configurada(indicator_chart_window), pero sigue sin funcionar....
Todo está disponible. Describa con más detalle lo que significa exactamente "cuando intento utilizar las citas del historial de minutos". ¿Qué hace o quiere hacer exactamente?
Para descargar las cotizaciones del historial cargue MetaTrader 5, haga clic en el icono con el símbolo del dólar : "Symbol List Display" (o puede pulsar Ctrl U). Aparecerá la ventana "Símbolos". En la pestaña "ESPECIFICACIÓN" busque el par de divisas deseado, por ejemplo, GBPCHF. En la pestaña "Bares" establezca las cotizaciones de los minutos (M1) y las fechas de inicio y fin del periodo requerido. Después de hacer clic en el botón "SOLICITAR", se descargará un archivo csv, que puede utilizarse para probar estrategias con el Metatrader o con sus propios programas.
Utilizando EXCEL puede ver el contenido de este archivo, donde la primera línea revela la información del archivo, es decir, "fecha, hora" y luego" OPEN", "HIGH" "LOW", "CLOSE", "TICKVOL", "VOL", "SPREAD"
Sé exactamente lo que significan estos datos, pero ¿cómo hacer BIT y ASK de estos datos, que MetaTrader 5 utiliza?