No es 1 hora sino 1 minuto, el tamaño de un archivo de este tipo suele ser de unos 160 MBytes (historial de 10 años) - ¿quizás tenga que ver con el espacio en disco?
Gracias, ahora lo veo. Descargué el historial porque el probador no arrancaba sin él.
Por favor, ayuda. No cierra las posiciones. Comm muestra tanto 2 como -2 en int GetTradeSignal_Strategija_1 . Intenté y las funciones de Kim. No sé qué es lo que está mal.
Por favor, ayuda. Por qué cuando pruebo mi Asesor Experto obtengo este error: precio no válido 1.50615000 para la función OrderSend Todas las cotizaciones del archivo son de cuatro dígitos, pero el mensaje de error muestra un precio de ocho dígitos?
LeRus>>: Помогите пожалуйста. Почему когда тестирую советник выдает такую ошибку: invalid price 1.50615000 for OrderSend function А архиве все котировки четырехзначные а ошибку выдает с восмизначной ценой??
LeRus>>: Помогите пожалуйста. Почему когда тестирую советник выдает такую ошибку: invalid price 1.50615000 for OrderSend function А архиве все котировки четырехзначные а ошибку выдает с восмизначной ценой??
Hola, tengo un indicador que hice para medir los movimientos de los precios en un marco de tiempo determinado:
#property indicator_separate_window#property indicator_buffers 2#property indicator_color1 White#property indicator_color2 Blueexternint MAPeriod = 14;
// buffersdouble V[]; // Собственно значенияdouble SmoothedValues[];
int DigitsUsed = 8;
int init()
{
// ассоциируем буферыSetIndexBuffer(0, V);
SetIndexBuffer(1, SmoothedValues);
// задаем настройки для буферов
SetIndexStyle(0, DRAW_LINE); // Основной сигнал будет сплошной линией
SetIndexStyle(1, DRAW_LINE); // Основной сигнал будет сплошной линией
IndicatorDigits(DigitsUsed);
return(0);
}
int start()
{
int toCount = Bars - IndicatorCounted();
double P1,P2,P3;
// Считаем значенияfor (int i = toCount - 1; i >=0; i--)
{
if(Open[i]>Close[i])
{
P1=High[i]-Low[i];
P2=High[i]-Open[i];
P3=Close[i]-Low[i];
}
if(Close[i]>Open[i])
{
P1=High[i]-Low[i];
P2=High[i]-Close[i];
P3=Open[i]-Low[i];
}
V[i] = P1+P2+P3;
}
// Считаем сглаженные значенияfor (i = toCount - 1; i >=0; i--)
{
SmoothedValues[i] = NormalizeDouble(iMAOnArray(V, 0, MAPeriod, 0, MODE_SMA, i), DigitsUsed);
}
return(0);
}
Dónde está el error, necesito que este indicador calcule la barra en los minutos, es decir, que lo tire en la 1 H y que sume todos los minutos del indicador calculado:
#property indicator_separate_window#property indicator_buffers 1#property indicator_color1 White// buffersdouble V[]; // Собственно значенияint init()
{
// ассоциируем буферыSetIndexBuffer(0, V);
// задаем настройки для буферов
SetIndexStyle(0, DRAW_HISTOGRAM); // Основной сигнал будет сплошной линией return(0);
}
int start()
{
int toCount = Bars - IndicatorCounted();
// Считаем значенияfor (int i = toCount - 1; i >=0; i--)
{
double t=0; //обнуляем счетчикint Minut1 = iBarShift(NULL,1,iTime(NULL,Period(),i),false);//Сколько минут прошло в бареint Minut0 = iBarShift(NULL,1,iTime(NULL,1,i),false);//нулевая минута в бареfor(int k=Minut0; k<=Minut1;k++)
{
double K=iCustom(NULL,1,"V",14,0,k); //Сам индикатор
t=t+K;
}
V[i]=t; //забиваем в массив
}
return(0);
}
Chicos, ayudar a los tontos, en el tutorial y en el foro para que sea muy claro - no han encontrado.
Modifico el EA para un timeframe específico M1 y M5, hay una condición simple:
double m1=iMA(NULL,0,period1,0,1,0,0); double m2=iMA(NULL,0,period2,0,1,0,0); then if(m1>m2) {okbuy=1;} blah blah blah
No hay preguntas aquí. Pero necesito otra condición de MA (como la anterior) pero de un marco de tiempo específico superior D1 (y el EA funcionará en M1) ¿Cómo solicitar en el marco de tiempo actual y en el par actual, los datos del indicador del par actual - pero otro marco de tiempo? Para que luego pueda utilizar estos datos para hacer una condición. Estaría especialmente agradecido, si usted podría sugerir cómo utilizar los marcos de tiempo más antiguos y otros indicadores en el marco de tiempo actual por analogía. Gracias
alfo13>>: Ребят, помогите чайнигу, в учебнике и на форуме чтобы сильно понятно - так и не нашел.
Переделываю советник под конкретный таймфрейм M1 и M5, там присутствует простое условие:
double m1=iMA(NULL,0,period1,0,1,0,0); double m2=iMA(NULL,0,period2,0,1,0,0); затем if(m1>m2) {okbuy=1;} бла бла бла
Здесь вопросов нет. Но мне надо чтобы было еще одно условие по MA (по типу вышеописанного) но из старшего конкретного таймфрейма D1 (а советник будет работать на M1) Как запросить в текущем таймфрейме и в текущей паре, данные индикатора из текущей пары - но другого таймфрема? Чтобы потом можно было по этим данным сделать условие. Особо буду признателен, если еще подскажете как по аналогии использовать старшие таймфреймы и других индикаторов в текущем периоде. Спасибо
No es 1 hora sino 1 minuto, el tamaño de un archivo de este tipo suele ser de unos 160 MBytes (historial de 10 años) - ¿quizás tenga que ver con el espacio en disco?
Gracias, ahora lo veo. Descargué el historial porque el probador no arrancaba sin él.No cierra las posiciones. Comm muestra tanto 2 como -2 en int GetTradeSignal_Strategija_1 . Intenté y las funciones de Kim. No sé qué es lo que está mal.
Por qué cuando pruebo mi Asesor Experto obtengo este error:
precio no válido 1.50615000 para la función OrderSend
Todas las cotizaciones del archivo son de cuatro dígitos, pero el mensaje de error muestra un precio de ocho dígitos?
Помогите пожалуйста.
Почему когда тестирую советник выдает такую ошибку:
invalid price 1.50615000 for OrderSend function
А архиве все котировки четырехзначные а ошибку выдает с восмизначной ценой??
NormalizarDoble(Precio,Dígito);
Помогите пожалуйста.
Почему когда тестирую советник выдает такую ошибку:
invalid price 1.50615000 for OrderSend function
А архиве все котировки четырехзначные а ошибку выдает с восмизначной ценой??
Es necesario utilizar:
Dónde está el error, necesito que este indicador calcule la barra en los minutos, es decir, que lo tire en la 1 H y que sume todos los minutos del indicador calculado:
Saludos Alexander
Modifico el EA para un timeframe específico M1 y M5, hay una condición simple:
double m1=iMA(NULL,0,period1,0,1,0,0);
double m2=iMA(NULL,0,period2,0,1,0,0);
then if(m1>m2) {okbuy=1;} blah blah blah
No hay preguntas aquí.
Pero necesito otra condición de MA (como la anterior) pero de un marco de tiempo específico superior D1 (y el EA funcionará en M1)
¿Cómo solicitar en el marco de tiempo actual y en el par actual, los datos del indicador del par actual - pero otro marco de tiempo? Para que luego pueda utilizar estos datos para hacer una condición.
Estaría especialmente agradecido, si usted podría sugerir cómo utilizar los marcos de tiempo más antiguos y otros indicadores en el marco de tiempo actual por analogía. Gracias
Ребят, помогите чайнигу, в учебнике и на форуме чтобы сильно понятно - так и не нашел.
Переделываю советник под конкретный таймфрейм M1 и M5, там присутствует простое условие:
double m1=iMA(NULL,0,period1,0,1,0,0);
double m2=iMA(NULL,0,period2,0,1,0,0);
затем if(m1>m2) {okbuy=1;} бла бла бла
Здесь вопросов нет.
Но мне надо чтобы было еще одно условие по MA (по типу вышеописанного) но из старшего конкретного таймфрейма D1 (а советник будет работать на M1)
Как запросить в текущем таймфрейме и в текущей паре, данные индикатора из текущей пары - но другого таймфрема? Чтобы потом можно было по этим данным сделать условие.
Особо буду признателен, если еще подскажете как по аналогии использовать старшие таймфреймы и других индикаторов в текущем периоде. Спасибо
Donde periodo1 o periodo2 insertar PERIOD_D1