Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
La variable PRL no puede ser arrancada y puesta en una condición.
PRL, tiene un nivel bajo en el offset 1
PRL = iLow(NULL, PERIOD_CURRENT, 1);
PRH, este es el Alto en el offset 1
PRH = iHigh(NULL, PERIOD_CURRENT, 1);
Obtenemos la siguiente imagen:
voidOnTick() {
double o1 = iOpen(NULL, PERIOD_CURRENT, 1);
double h1 = iHigh(NULL, PERIOD_CURRENT, 1);
double l1 = iLow(NULL, PERIOD_CURRENT, 1);double c1 = iClose(NULL, PERIOD_CURRENT, 1);
double c0 = iClose(NULL, PERIOD_CURRENT, 0);
double rt = 0;
double rs1 = 0;
double rs2 = 0;
double PRH;
double PRL;
rt=MathAbs(c1 - o1) / Point(); //размер тела свечи
rs1=MathAbs(h1 - c1) / Point();// размер верхней тени свечи
rs2=MathAbs(l1 - c1) / Point();// размер нижней тени свечиif ((rs1 >= rt) && (c1 > o1)) //условия для растущих свечей
{
PRH = iHigh(NULL, PERIOD_CURRENT, 1);// то это будет максимум
hLine.Price(0, PRH);
}
if ((rs2 >= rt) && (c1 < o1)) //условия для падающих свечей
{
PRL = iLow(NULL, PERIOD_CURRENT, 1);
lLine.Price(0, PRL);
}
}
Por lo tanto, en lugar dePRL puede tomar iLow(NULL, PERIOD_CURRENT, 1) o l1.
Me da la impresión de que no te interesa escribir código y no entiendes lo que haces. Un poco de paciencia y podrás resolverlo todo fácilmente. Limpia tu código y muchas preguntas desaparecerán por sí solas. Si no puedes averiguar qué ha ido mal, también existe la depuración, que es una herramienta muy poderosa de un programador. Llegar al fondo de lo que se hace y luego preguntar.
To find out from what list the order has been selected, its close time must be analyzed. If the order close time equals to 0, the order is open or pending and taken from the terminal open orders list. One can distinguish an opened order from a pending order by the order type. If the order close time does not equal to 0, the order is a closed...
No pensé que tendría que citarte en la documentación...
Nota
La agrupación de opciones se ignora si la orden se selecciona utilizando el número de billete. El número de billete es el identificador único del pedido.
Para determinar de qué lista se selecciona una orden, debemos analizar su hora de cierre. Si la hora de cierre de la orden es 0, entonces la orden está abierta o pendiente y se toma de la lista de órdenes abiertas del terminal.
¿Así? ¿O tengo que declarar algo más en OnInit?
No,todas las líneas de OnInitestán ocultas por defecto:
No,todas las líneas se ocultan por defecto enOnInit:
La condición es ignorada por alguna razón. Incluso si establezco una apertura de posición.
La variable PRL no puede ser arrancada y puesta en una condición.
Estoy tratando de sacarlo de alguna manera con GlobalVariableGet . Pero de alguna manera es dudoso...
Incluso cuando lo pongo dentro de la condición. El precio mínimo ya está fijado. Pero sigue negándose obstinadamente a abrir la posición.
La condición es ignorada por alguna razón. Incluso si establezco una apertura de posición.
La variable PRL no puede ser arrancada y puesta en una condición.
Obtenemos la siguiente imagen:
Por lo tanto, en lugar dePRL puede tomar iLow(NULL, PERIOD_CURRENT, 1) o l1.
Me da la impresión de que no te interesa escribir código y no entiendes lo que haces. Un poco de paciencia y podrás resolverlo todo fácilmente. Limpia tu código y muchas preguntas desaparecerán por sí solas. Si no puedes averiguar qué ha ido mal, también existe la depuración, que es una herramienta muy poderosa de un programador. Llegar al fondo de lo que se hace y luego preguntar.
La condición es ignorada por alguna razón. Incluso si establezco una apertura de posición.
La PRL variable no puede ser arrancada y puesta en condición.
Estoy tratando de sacarlo de alguna manera con GlobalVariableGet . Pero de alguna manera es dudoso...
Incluso cuando lo pongo dentro de la condición. El precio mínimo ya está fijado. Todavía no quiero abrir una posición.
Entonces, ¿por qué tengo que escribir primero un mensaje y luego editarlo?
La condición es ignorada por alguna razón. Incluso si establezco una apertura de posición.
La PRL variable no puede ser arrancada y puesta en condición.
Estoy tratando de sacarlo de alguna manera con GlobalVariableGet . Pero de alguna manera es dudoso...
Incluso cuando lo pongo dentro de la condición. El precio mínimo ya está fijado. Todavía no quiero abrir una posición.
El algoritmo de su código era originalmente erróneo, así como el algoritmo de entrada al mercado. Lo he corregido.
Pero este código necesitará muchas revisiones para poder utilizarlo en el comercio real...
En su código, el algoritmo en sí era originalmente erróneo, así como el algoritmo para entrar en el mercado. Lo he corregido.
Pero para usar este código en el comercio real necesitarás muchas revisiones...
¿Cómo puede ocurrir en el probador un 4108 (billete no válido) durante una modificación? MQL4
¿Cómo puede ocurrir en el probador un 4108 (billete no válido) durante una modificación? MQL4
lo más probable es que esté intentando cerrar una orden que ya está en el historial, es decir, una orden ya cerrada
mira en el archivo de ayuda de SELECT_BY_TICKET, lo hace independientemente de si la orden ya está abierta o en el historial de órdenes
SZZY: hacer una comprobación de OrderCloseTime()
lo más probable es que esté intentando cerrar una orden que ya está en el historial, es decir, una orden ya cerrada
Consulte el archivo de ayuda de SELECT_BY_TICKET. Lo hace independientemente de si la orden ya está abierta o en el historial de órdenes
SZY: comprobar OrderCloseTime()
Creo que dice que seleccionar en el mercado
Creo que eso dice elegir cuál está en el mercado.
No pensé que tendría que citarte en la documentación...
Nota
La agrupación de opciones se ignora si la orden se selecciona utilizando el número de billete. El número de billete es el identificador único del pedido.
Para determinar de qué lista se selecciona una orden, debemos analizar su hora de cierre. Si la hora de cierre de la orden es 0, entonces la orden está abierta o pendiente y se toma de la lista de órdenes abiertas del terminal.