Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 104

 
hoz:

Lo que tienes aquí no es nada en absoluto. Empecemos por el hecho de que el cierre de un cortocircuito es siempre en la demanda, no en la oferta.

Lo he descubierto. Es muy sencillo.
     Price = NormalizeDouble(Ask, Digits); // округляем до нужного нам числа цифр после запятой
     if(StopLoss > 0)
      {
       SL = iHigh(Symbol(),0,1)+30*Point; // вычисляем стоплос
       SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
      }
 
Pregunta para todos los miembros del foro. El código anterior funciona para todos los pares - cinco dígitos después del punto decimal, pero no puedo establecer el stop loss en el yen - 3 dígitos después del punto decimal. ¿Por qué?
 
alexey1979621:

Clasificado. Una simple pregunta para todos los miembros del foro. El código anterior funciona para todos los pares - cinco dígitos después de la coma, pero para el yen - 3 dígitos después de la coma las pérdidas de parada no se establecen. ¿Por qué?
https://book.mql4.com/ru/appendix/limits
 
artmedia70:
Ya he escrito una función de ejemplo.

Me olvidé de poner una marca en el ejemplo:

if (OrderType()>1)            continue;            // Сначала забыл вписать, подправил

Corregido en mi post

 

Yusuf, ¿mantienes pulsada alguna tecla de tu teclado? ¿Como Shift o Ctrl?

A mí me pasó algo parecido hace unos años, la tecla ESC se enganchó en la esquina de un libro y no supe qué pasó, el ordenador reaccionó de forma inusual a las pulsaciones.

Además: ¿el teclado se empapó alguna vez de té/café/zumo de naranja?

 
i_logic:
Y también: ¿no hay té/café/zumo de naranja en el teclado?

Podríamos seguir:

¿Los gatitos no han sido traviesos? ¿No hay cabeza en el teclado/nube en la cabeza? :)))

 
Bg))
 
Por favor, avisa: el broker para el EUR/USD tiene cinco dígitos después del punto decimal en los precios, los fractales dan 4, tanto los bursátiles como los personalizados. Y no redondean el quinto dígito, lo descartan. No he encontrado este tema en ningún sitio. ¿Tal vez haya una manera de establecer el número de dígitos después del punto decimal?
 
Trendy:
Por favor, avisa: el broker para el EUR/USD tiene cinco dígitos después del punto decimal en los precios, los fractales dan 4, tanto los bursátiles como los personalizados. Y no redondean el quinto dígito, lo descartan. No he encontrado este tema en ningún sitio. ¿Tal vez haya una manera de establecer el número de dígitos después del punto decimal?
DoubleToStr(number,digit) es su mejor opción
 
Sepulca:

Bueno ya lo he escrito y ahora lo he probado, funciona


¡Buenas tardes!

Perdón por sacar un tema relativamente antiguo. Todo se ha aclarado con el código.

Ahora tengo un inconveniente, cómo abrir un comercio. Por ejemplo, justo después de un rango determinado, buscamos

el precio es inferior al máximo en una determinada cantidad de puntos. Abrimos un trato.

He intentado añadir dicho código y ejecutarlo en el probador, pero no abre los tratos.

¿Qué debo hacer?

МОЙ КОД, КОТОРЫЙ НУЖНО ДОБАВИТЬ:

signal = Maximum - iClose(Symbol(),Period(),0);
if (signal > 0.0012)
        {                                          
        Opn_S=true;                  
        }
ВАШ КОД:
int start(){
 int StartHour=8,StartMinute=1;// Время 08:01
 int StopHour=23,StopMinute=58; // Время 23:58
 int StartTime=StartHour*60+StartMinute;
 int StopTime=StopHour*60+StopMinute;
 int CurrentMinutesFromDayStart=Hour()*60+Minute();// Текущее время в минутах от начала дня
 if(CurrentMinutesFromDayStart>=StartTime && CurrentMinutesFromDayStart<=StopTime) {
  // Для торговли внутри дня
 }
// Ищем максимум
 datetime td=iTime(Symbol(),PERIOD_D1,0);// Время открытия дневного бара в секундах от 01.01.1970
 int start=0;// Если конец временного диапазона ещё не наступил, начинаем поиск максимума с текущего бара
 if(CurrentMinutesFromDayStart>StopTime) {
  datetime ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
  start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
 }
 int count=0;// Сколько баров до StartTime
 if(CurrentMinutesFromDayStart>StartTime) {
  ts=td+StartTime*60;// начало временного диапазона в секундах от 01.01.1970
  count= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  count= count-start;// Сколько баров длится временной интервал
 }
 double Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервале
 return(0);
}
 

¡Hola!

Puede que esté en el foro equivocado, pero tengo una pregunta.

Si tienes 2 ventanas abiertas con el mismo broker y la misma cuenta, puede que haya cierta lentitud o fallos en el terminal o que las transacciones tarden más en ejecutarse?

Por favor, aconséjenme, realmente lo necesito para operar en las noticias.