[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 320

 
sdm:
Añade una descripción de la puntuación y una definición de tus conceptos (por ejemplo, "tu número") y aquí. Y esta rama sólo ayuda a los que tienen sus propias manos (y eso cuando tienen ganas)
 
¿Cómo puedo saber si hay una orden abierta o establecida a un precio determinado?
 
sdm:
¿Cómo puedo saber si hay una orden abierta o pendiente al precio dado?

Revisa los pedidos y compáralos con el precio dado. Si es así, comprueba la hora de apertura

if(OrderOpenTime()!=0) Si no es igual a cero, entonces está abierto, si es igual, entonces está pendiente.

 
int start()
{

double kr =0.00060 // fijar el múltiplo, paso
double msell =Ask - MathMod( Ask, kr); // precio de venta

{
Alert(" sólo ", msell," escrito);
return;// salida start()
}
//----

//----
return(0)

}


¿Puede decirme qué es lo que está mal aquí?

la compilación da 'msell' - variable no definida C:\NArchivos de Programa\NMetaTrader 4 \N-expertos\N-temp.mq4 (16, 11)

 
lo encontré yo mismo )
 
hoz:

tenemos un contador en el que los valores se calculan según el orden en que aparecen las barras desde la barra con índicei_AnyBarsToHistory hasta la barra con índice 1. De ello se deduce que si la condición se cumple en las barras del índice 30 al índice 15:

directionMA == CROSS_UP 

y entonces, por ejemplo, en cnt=2 se cumplirá la condición:

directionMA == CROSS_DN

Entonces cnt se incrementará al valor anterior. Si teníamos 2, la nueva condición se incrementará con 1, entonces cnt=3 y saldremos de la función con el valor 3. ¿Ves lo que quiero decir? Fíjate bien, la lógica es en principio clara aquí.

Perdonad el retraso en la respuesta, estaba ocupándome de mi portátil. Así que. La cuestión es cómo utilizar ese único contador para determinar a qué movimiento se refiere, ¿no? Puede coser una variable lógica en el contador, pero luego incrementarlo en dos en lugar de uno.

int LastCandlesType(int& cnt){//передаём параметры по ссылке, т.е. они у нас отсюда меняются на глобальном уровне
        for (int i=IndicatorCounted(); i>=1; i--){//считаем все неподсчитанные свечи; появится новая свеча - функция прогонится один раз
                if ((2*cross-1)*(Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt){cnt=cnt+2;//инкрементируем на 2, т.к. у нас в cnt вшит cross
                }else{
                        cross = !cross;//иначе, если не соответствует, оборачиваем флаг направления
                        cnt = cross;//и обнуляем счётчик её значением
                }//потом cnt/2 будет количеством подсчитанных свечей,
        }//а cnt%2 - их направлением.
}

Es algo así.

 
sdm:
double kr =0.00060;//внимательнее надо быть
sdm:
lo encontré yo mismo )

Como dicen, así es nuestra gente, están llenos de consejos. No tuve tiempo).

 
Buenas tardes. Podrían decirme cómo resolver la siguiente situación: he dibujado un objetoOBJ_FIBOARC en la ventana. He establecido los niveles necesarios. Quiero entender que el precio ha cruzado un nivel u otro. Resolví un problema similar con los niveles de Fibonacci, pero es más fácil porque operamos con niveles horizontales y el cruce se puede calcular fácilmente. Aquí tenemos una elipse. Aquí no podemos utilizar la ecuación del círculo (elipse) porque el sistema de coordenadas X es el tiempo y el sistema de coordenadas Y es el precio, es decir, los valores no son comparables.
 
gyfto:

Perdón por la tardanza en contestar, estaba ocupándome del coche.

¡Oh, chico travieso! Sigues atormentando a Mashka :)

gifto:

Perdón por la tardanza en contestar, estaba ocupándome del coche. Así que. La cuestión es cómo utilizar ese contador único para determinar a qué movimiento se refiere, ¿no? Puede coser una variable lógica en el contador, pero luego incrementarlo en dos en lugar de uno.

int LastCandlesType(int& cnt){//передаём параметры по ссылке, т.е. они у нас отсюда меняются на глобальном уровне
        for (int i=IndicatorCounted(); i>=1; i--){//считаем все неподсчитанные свечи; появится новая свеча - функция прогонится один раз
                if ((2*cross-1)*(Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt){cnt=cnt+2;//инкрементируем на 2, т.к. у нас в cnt вшит cross
                }else{
                        cross = !cross;//иначе, если не соответствует, оборачиваем флаг направления
                        cnt = cross;//и обнуляем счётчик её значением
                }//потом cnt/2 будет количеством подсчитанных свечей,
        }//а cnt%2 - их направлением.
}

Es algo así.

Bueno, lo has escrito para el indicador, no para el Asesor Experto. Soy un asesor experto.

¿Y por qué incrementar por 2?

gifto:

Así que. La cuestión es cómo determinar a qué movimiento se refiere, ¿no?


Quiero que el cálculo de las barras consecutivas de una característica (por ejemplo, bajista o alcista) se base en alguna característica, que se pasa a través de un parámetro de la función.

Por cierto, https://www.mql5.com/ru/forum/144705, he creado una rama separada. Todo está ahí, lo que se necesita. Es muy interesante encontrar lo que está mal.

 
Así que esta es la pregunta... No entiendo, cuando descargué las cotizaciones, el terminal ejecuta un script para recalcular los timeframes..... en un mes que día pone 30 o 31 ¿cómo lo sé?
Razón de la queja: