[¡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 448

 
artmedia70:

Excepto que no necesariamente funciona. Debe comprobar los tamaños de parada y toma para la tolerancia de la onda de parada de su empresa de corretaje

ERR_TRADE_NOT_ALLOWED 4109 El comercio no está permitido. Debe activar la opción "Permitir que el EA opere" en las propiedades del EA.

¡Muchas gracias!

Necesario para que el EA pueda operar)

 

Buenos días a todos.

Pido disculpas si esta pregunta se ha planteado antes, pero tengo que revisar 540 páginas.

Este es el problema. En MT4, las órdenes con el mismo precio se superponen y sólo se ve una orden. ¿Hay alguna configuración en MT4 para que, por ejemplo, dos órdenes en un gráfico se muestren una al lado de la otra sin superponerse. Si no existen estos ajustes, ¿es posible crear una tabla o un gráfico con esta función?

 
pyrsikov:

Buenos días a todos.

Pido disculpas si esta pregunta se ha planteado antes, pero tengo que revisar 540 páginas.

Este es el problema. En MT4, las órdenes con el mismo precio se superponen y sólo se ve una orden. ¿Hay alguna configuración en MT4 para que, por ejemplo, dos órdenes en el gráfico se muestren una al lado de la otra sin superponerse. Si no existen estos ajustes, ¿es posible crear una tabla o un gráfico con esta función?

Ctrl+t y una tabla de todas las posiciones abiertas aparece en la parte inferior si se cambia a la pestaña "Comercio".
 

Por favor, ayúdame - Estoy escribiendo un EA - He utilizado el código como un sustrato;

if(drawBacker){
for(int x=0;x<7;x++)
for(int y=0;y<29;y++)
{
ObjectCreate("A_Fon "+x+y,OBJ_LABEL,0,0,0,0);
ObjectSet("A_Fon "+x+y, OBJPROP_CORNER, positionWindow); // positionWindow // Txt_Location
ObjectSet("A_Fon "+x+y,OBJPROP_XDISTANCE,x*20+5);
ObjectSet("A_Fon "+x+y,OBJPROP_YDISTANCE,y*20+9);
ObjectSetText("A_Fon "+x+y,CharToStr(110),26, "Wingdings",colorSubstrato);//Rojo);
}
si (drawWingdings==False)
{
for( int posp=1000;posp>0;posp--)
{
ObjectDelete("A_Fon "+posp);
ObjectDelete("A_Fon0"+pospp);
ObjectDelete("A_Fon00");
}
}
}

Como resultado, tengo un lío, ya que un gran número de objetos se dibujan en el gráfico.

Por favor, dígame el código normal para establecer el fondo del texto.

 
7777877:

Buenas tardes... Pregunta sobre las funciones FileIsEnding y FileIsLineEnding. Para entender cómo funcionan las funciones FileIsEnding y FileIsLineEnding, escribí el siguiente script:

Después de escribir un número en el archivo, si se mira en forma hexadecimal, habrá la siguiente entrada

00000000: 31 2E 33 35 38 34 0D 0A | | 1.3584...

Cada letra o número ocupa 1 byte u 8 bits, los dos últimos caracteres se llaman salto de línea y retorno de carro, se añaden automáticamente para que el tamaño del archivo sea de 8 bytes y no de 6.

Ejecute su script ligeramente modificado y observe cómo se mueve el cursor (deliberadamente hizo la enumeración más grande que el tamaño del archivo, para que pueda ver dónde se produce el error.

int start()                                                              //функция start
  {                                                                      //начало start
   double Timestart=GetTickCount();                                      //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения эксперта 
   string name="Копия Запись чисел в файл.csv";                          //имя создаваемого файла
   bool h;                                                               //переменная: значение функции FileIsEnding
   bool h_l;                                                             //переменная: значение функции FileIsLineEnding
   int error;                                                            //переменная: ошибка
   int handle=FileOpen(name,FILE_CSV|FILE_WRITE,';');                    //открываем заданный файл n записываем туда данные
   int запись=FileWrite(handle,DoubleToStr(1.3584,4));                   //записываем цены OHLC в файл csv (в преобразованном виде, т.е в виде текста)
   FileClose(handle);                                                    //закрываем файл
//---------------------------------------------------------------------------------------- 2 -
   handle=FileOpen(name,FILE_CSV|FILE_READ,';');                         //открываем заданный файл
   int size=FileSize(handle);                                            //вычисляем размер заданного файла
   Print("Размер файла ",name," составил ",size," байт");
   for(int i=0;i<=size;i++)
   {
   GetLastError();
   bool pos=FileSeek(handle,i,SEEK_SET);                                 //смещаем от начала вправо указатель файла
   int pos1=FileTell(handle);
   double чтение=FileReadNumber(handle);                                 //считываем число из текущей позиции (уже измененной функцией FileSeek) файлового указателя
   h=FileIsEnding(handle);                                               //устанавливаем текущее значение переменной h
   h_l=FileIsLineEnding(handle);                                         //устанавливаем текущее значение переменной h_l
   error=GetLastError();                                                 //значение ошибки, производимой функцией FileIsEnding
   if(error!=0)Alert("Текущая ошибка ",error);                           //если код текущей ошибки не равен 0, то получаем номер текущей ошибки
//----------------------------------------------------------------------------------------- 3 -
   Print(" Функция FileSeek вернула: ",pos,
         " Указатель находится в позиции - ",pos1,
           " Функция FileReadNumber(handle) вернула: ",чтение);//печать сообщения 
   }
   FileClose(handle);                                                    //закрываем файл
//----------------------------------------------------------------------------------------- 4 -
   return(0);                                                             //выход из start
  }                                                                       //конец start
//-------------------------------------- КОНЕЦ START -------------------------------------- 5 -
 

Cuando se depura el indicador, es necesario imprimir una matriz de valores de precio y tiempo de ciertas barras en el shifft.

      price1 = iMA(Symbol(),i_maTF,i_maPeriod,i_maShiftByPrice,i_maMethod,i_maPrice,i_shiftBarsBack1+i);       // Цена в точке А
      price2 = iMA(Symbol(),i_maTF,i_maPeriod,i_maShiftByPrice,i_maMethod,i_maPrice,i_shiftBarsBack2+i);       // Цена в точке В
      time1 = iTime(Symbol(),Period(),i_shiftBarsBack1 + i - 1);                                               // Время в точке А
      time2 = iTime(Symbol(),Period(),i_shiftBarsBack2 + i - 1);                                               // Время в точке В

Todo esto lo tengo dentro del operador, por supuesto:

for(i = limit - 1;i > 0;i--)

A continuación, transfiero los valores de precio y tiempo a arrays para poder seguir trabajando con ellos:

      varsPrice1[i] = price1;                                                                        // Массив цен в точке А
      varsPrice2[i] = price2;                                                                        // Массив цен в точке В
      varsTime1[i] = time1;                                                                          // Массив времени в точке А
      varsTime2[i] = time2;                                                                          // Массив времени в точке В

Intento imprimir lo que ya tengo inmediatamente después:

      Print("i = ", i," time1 = ", time1, " price1 = ", price1);
      Print("i = ", i," time2 = ", time2, " price2 = ", price2);
      Print("i = ", i," varsTime1[i] = ", varsTime1[i], " varsPrice1[i] = ", varsPrice1[i]);
      Print("i = ", i," varsTime2[i] = ", varsTime2[i], " varsPrice2[i] = ", varsPrice2[i]);

Esto es lo que se imprime en el Registro de Expertos:

2012.10.20 14:47:13     2010.08.10 02:58  AngleByTg GBPUSD,M5: i = 41 varsTime1[i] = 1281381900 varsPrice1[i] = 0
2012.10.20 14:47:13     2010.08.10 02:58  AngleByTg GBPUSD,M5: i = 41 time2 = 1281382200 price2 = 0
2012.10.20 14:47:13     2010.08.10 02:58  AngleByTg GBPUSD,M5: i = 41 time1 = 1281381900 price1 = 0
2012.10.20 14:47:13     2010.08.10 02:58  AngleByTg GBPUSD,M5: i = 42 varsAngle[i] = 0
2012.10.20 14:47:13     2010.08.10 02:58  AngleByTg GBPUSD,M5: i = 42 varsTime2[i] = 1281381900 varsPrice2[i] = 0
2012.10.20 14:47:12     2010.08.10 02:56  AngleByTg GBPUSD,M5: i = 45 varsTime2[i] = 1281381000 varsPrice2[i] = 0
2012.10.20 14:47:12     2010.08.10 02:56  AngleByTg GBPUSD,M5: i = 45 varsTime1[i] = 1281380700 varsPrice1[i] = 0
2012.10.20 14:47:12     2010.08.10 02:56  AngleByTg GBPUSD,M5: i = 45 time2 = 1281381000 price2 = 0
2012.10.20 14:47:12     2010.08.10 02:56  AngleByTg GBPUSD,M5: i = 45 time1 = 1281380700 price1 = 0
2012.10.20 14:47:12     2010.08.10 02:56  AngleByTg GBPUSD,M5: i = 46 varsAngle[i] = 0
2012.10.20 14:47:12     2010.08.10 02:56  AngleByTg GBPUSD,M5: i = 46 varsTime2[i] = 1281380700 varsPrice2[i] = 0
2012.10.20 14:47:12     2010.08.10 02:56  AngleByTg GBPUSD,M5: i = 46 varsTime1[i] = 1281380400 varsPrice1[i] = 0
2012.10.20 14:47:12     2010.08.10 02:56  AngleByTg GBPUSD,M5: i = 46 time2 = 1281380700 price2 = 0
2012.10.20 14:47:11     2010.08.10 02:54  AngleByTg GBPUSD,M5: i = 91 time1 = 1281366600 price1 = 0
2012.10.20 14:47:11     2010.08.10 02:54  AngleByTg GBPUSD,M5: i = 92 varsAngle[i] = 0
2012.10.20 14:47:11     2010.08.10 02:54  AngleByTg GBPUSD,M5: i = 92 varsTime2[i] = 1281366600 varsPrice2[i] = 0
2012.10.20 14:47:11     2010.08.10 02:54  AngleByTg GBPUSD,M5: i = 92 varsTime1[i] = 1281366300 varsPrice1[i] = 0
2012.10.20 14:47:11     2010.08.10 02:54  AngleByTg GBPUSD,M5: i = 92 time2 = 1281366600 price2 = 0
2012.10.20 14:47:11     2010.08.10 02:54  AngleByTg GBPUSD,M5: i = 92 time1 = 1281366300 price1 = 0
2012.10.20 14:47:11     2010.08.10 02:54  AngleByTg GBPUSD,M5: i = 93 varsAngle[i] = 0
2012.10.20 14:47:11     2010.08.10 02:54  AngleByTg GBPUSD,M5: i = 93 varsTime2[i] = 1281366300 varsPrice2[i] = 0
2012.10.20 14:47:10     2010.08.10 02:52  AngleByTg GBPUSD,M5: i = 45 varsAngle[i] = 0
2012.10.20 14:47:10     2010.08.10 02:52  AngleByTg GBPUSD,M5: i = 45 varsTime2[i] = 1281380700 varsPrice2[i] = 0
2012.10.20 14:47:10     2010.08.10 02:52  AngleByTg GBPUSD,M5: i = 45 varsTime1[i] = 1281380400 varsPrice1[i] = 0
2012.10.20 14:47:10     2010.08.10 02:52  AngleByTg GBPUSD,M5: i = 45 time2 = 1281380700 price2 = 0
2012.10.20 14:47:10     2010.08.10 02:52  AngleByTg GBPUSD,M5: i = 45 time1 = 1281380400 price1 = 0
2012.10.20 14:47:10     2010.08.10 02:52  AngleByTg GBPUSD,M5: i = 46 varsAngle[i] = 0
2012.10.20 14:47:10     2010.08.10 02:52  AngleByTg GBPUSD,M5: i = 46 varsTime2[i] = 1281380400 varsPrice2[i] = 0
2012.10.20 14:47:10     2010.08.10 02:52  AngleByTg GBPUSD,M5: i = 46 varsTime1[i] = 1281380100 varsPrice1[i] = 0
2012.10.20 14:47:09     2010.08.10 02:50  AngleByTg GBPUSD,M5: i = 49 varsTime1[i] = 1281379200 varsPrice1[i] = 0

Aquí podemos ver claramente que los valores de los precios tanto de varsTime1[i] como devarsTime2[i] y sólo los precios de time1 ytime2 son siempre 0. ¿Qué hay de malo en eso?

 
Vinin:

Deberías darnos el código completo. No quieras adivinar lo que está claro para ti.

Entiendo que no quiera darle vueltas, pero ¿podría al menos darme una pista si el problema lo tiene claro?
 
¡¡¡¡Hola usuarios del foro!!!!
Chicos, tengo una pregunta - ¿quién sabe en qué archivo se almacenan los scripts asignados a las "teclas de acceso rápido"? Quiero guardar este archivo con el designado ya "Hotkeys" que cada vez después de reinstalar el terminal, si de repente hay una necesidad de este tipo, no para asignar estas teclas de nuevo ..., pero sólo un archivo y tiró por encima de todo ...
Gracias a todos por adelantado.
 
hoz:

Cuando se depura el indicador, es necesario imprimir una matriz de valores de precio y tiempo de ciertas barras en el shifft.

Todo esto lo tengo dentro del operador, por supuesto:

A continuación, transfiero los valores de precio y tiempo a arrays para poder seguir trabajando con ellos:

Intento imprimir lo que ya tengo inmediatamente después:

Esto es lo que se imprime en el Registro de Expertos:

Aquí podemos ver claramente que los valores de los precios tanto de varsTime1[i] como devarsTime2[i] y sólo los precios de time1 ytime2 son siempre 0. ¿Qué pasa?


i_maTF == Period()??????,

i_maPeriod toma un valor razonable???

Bueno, tal vez hay algo mal con i_maShiftByPrice??

Es difícil ser más preciso.

 
sss2019:

Entiendo que no quiero especular, pero ¿puede al menos darme una pista si el problema lo tiene claro?

Dame todo el código
Razón de la queja: