[¡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 216
No, lo de las bicicletas no encaja. Tengo que hacer una corrección horaria: la diferencia entre las zonas horarias de dos terminales diferentes. Es cuestión de horas. Yo mismo buscaré el fallo.
Aleksander: al inicio - llama a la función para comprobar si hay una orden de compra en el bucle de órdenes SellStop... y eliminarla - si no hay ninguna orden de compra entre las órdenes abiertas...
No entiendo la frase "Laorden de compra está presente en el bucle de la orden SellStop ".
La hora de apertura del pedido es el sexto parámetro de la línea. Fue leído en la variable de tipo datetime por los comandos:
Stroka=FileReadString(FileHandle);// Tiempo de apertura r_master_OpenTime[i]=StrToTime(Stroka);// Hora de apertura
Como resultado, obtuvimos un valor Dios sabe qué en la variable r_master_OpenTime[i]. Pero en cuanto cambié su tipo de datetime a int, todo está bien. Llevo más de cinco años programando con mql4 y todavía no puedo dejar de preguntarme... :)
- Si se trata de un SellStop (recuerde su número mágico - también es un ticket de orden de compra {
a través de
El bool OrderSelect(
int index, int select, int pool=MODE_TRADES)
comprobamos si la orden existe... - esta es su orden de compra...
si no está allí - entonces borre la orden SellStop actual
}
Fin del bucle de pedido...
Escribí esta tontería
int i, k=OrdersTotal();
for (i=0; i<k; i++)
if(OrderType()==OP_SELLSTOP)
if(OrderMagicNumber()==ticket)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if(OrderType()==OP_BUY)return(-1);
else
OrderDelete(OrderTicket());
La hora de apertura del pedido es el sexto parámetro de la cadena. Se leyó en la variable de tipo datetime por comandos:
Stroka=FileReadString(FileHandlе);// Время открытия
r_master_OpenTime[i]=StrToTime(Stroka);// Время открытия
Como resultado, la variable r_master_OpenTime[i] contendría un valor sin importancia. Pero en cuanto cambié su tipo de datetime a int, todo está bien. Llevo más de cinco años programando con mql4 y todavía no puedo dejar de preguntarme... :)
Convierte una cadena que contiene la hora y/o la fecha en el formato "aaaa.mm.dd [hh:mi]" en un número de fecha-hora (número de segundos transcurridos desde el 01.01.1970)
El formato de los datos de entrada no coincide con el formato esperado
He intentado escribir un indicador, parece que funciona, pero sólo en el historial dibuja como estaba previsto y luego cuando entran nuevas cotizaciones dibuja una máscara habitual.
Se adjunta el código:
int start() { int counted_bars=IndicatorCounted(); int i,n; double Stark=0; //---- i=Bars-counted_bars-1;//+50; // n=Bars-counted_bars-1; while(i>=0) { //----
al inicio - llama a la función para comprobar si hay una orden de compra en el bucle de órdenes SellStop... y eliminarla - si no hay ninguna orden de compra entre las órdenes abiertas...
ver...
Ronda de órdenes de juego (inicio)
tomamos el pedido
- Si se trata de un SellStop (recuerde su número mágico - también es un ticket de orden de compra {
a través de
comprobamos si la orden existe... - esta es su orden de compra...
Si no está, eliminamos la orden SellStop actual
}
} Fin del bucle de pedido...
InitsializeRealMasterOrders -- busca un fallo aquí.
Y aquí hay algo más - no para hacer una bicicleta - https://docs.mql4.com/ru/convert/timetostr
Sigue siendo un fallo. En la subrutina el código lee los datos de las líneas del documento de texto:
4;NZDUSD;98537467;1;0.5;1340809155;0;0.7881;0;0.7939;0;0
4;NZDUSD;98537450;1;0.5;1340809147;0;0.788;0;0.7939;0.787;0
La hora de apertura del pedido es el sexto parámetro de la línea. Fue leído en la variable de tipo datetime por los comandos:
Stroka=FileReadString(FileHandle);// Tiempo de apertura
r_master_OpenTime[i]=StrToTime(Stroka);// Hora de apertura
Como resultado, obtuvimos un valor Dios sabe qué en la variable r_master_OpenTime[i]. Pero en cuanto cambié su tipo de datetime a int, todo está bien. Llevo más de cinco años programando con mql4 y todavía no puedo dejar de preguntarme... :)
ver...
Ronda de órdenes de juego (inicio)
tomamos el pedido
- Si se trata de un SellStop (recuerde su número mágico - también es un ticket de orden de compra {
a través de
comprobamos si la orden existe... - esta es su orden de compra...
si no está allí - entonces borre la orden SellStop actual
}
Fin del bucle de pedido...
Escribí esta tontería
drknn: Все равно глюк. В подпрограмме код считывает данные из строк текстового документа:
4;NZDUSD;98537467;1;0.5;1340809155;0;0.7881;0;0.7939;0;0
4;NZDUSD;98537450;1;0.5;1340809147;0;0.788;0;0.7939;0.787;0
La hora de apertura del pedido es el sexto parámetro de la cadena. Se leyó en la variable de tipo datetime por comandos:
Como resultado, la variable r_master_OpenTime[i] contendría un valor sin importancia. Pero en cuanto cambié su tipo de datetime a int, todo está bien. Llevo más de cinco años programando con mql4 y todavía no puedo dejar de preguntarme... :)
Por favor, aconseja lo que hay que hacer si:
En el probador funciona bien, todo según lo previsto, pero en el realsk no abre la transacción.
P.D. Realmente necesito ayuda, es una cuestión de vida o muerte
Buenos días a todos.
He intentado escribir un indicador, parece que funciona, pero sólo en el historial dibuja como estaba previsto y luego cuando entran nuevas cotizaciones dibuja una máscara habitual.
Se adjunta el código:
int start()
{
int counted_bars=IndicatorCounted();
int i,n;
double Stark=0;
//----
i=Bars-counted_bars-1;//+50;
// n=Bars-counted_bars-1;
while(i>=0)
{
//----
double Ma=iMA(NULL,0,PerMa,Shift,MODE_EMA,PRICE_CLOSE,i);
//double Ma1=iMA(NULL,0,PerMa,Shift,MODE_EMA,PRICE_CLOSE,i+1);
if(Stark+Step*Point<Ma)Stark=Ma;
if(Stark-Step*Point>Ma)Stark=Ma;
ABuf[i]=Stark;
//----
i--;
}
return(0);
}
Por favor, ayúdenme a arreglarlo para que siga dibujando pasos.
Se lo agradecería mucho.
Gek.
{
Precio1 =(iClose(Symbol_1,0,0) - iClose(Symbol_1,0,f)) / MarketInfo(Symbol_1, MODE_POINT)
Precio2 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,f)) / MarketInfo(Symbol_2, MODE_POINT);
Spread = Precio1 - Precio2;
Print ("Price1="+Price1, " Price2="+Price2);
if (Spread==0){t=f; break;}
}
Precio12 = (iClose(Symbol_1,0,0) - iClose(Symbol_1,0,t)) / MarketInfo(Symbol_1, MODE_POINT);
Precio22 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,t)) / MarketInfo(Symbol_2, MODE_POINT);
Spread2 = Precio12 - Precio22;
if (MathAbs(Spread2) >= razdvizka && Spread2 < 0) { abre la operación }
Quiero fijar la barra en la que el spread era igual a cero y controlar el spread a partir de ella
Por favor, aconseja lo que hay que hacer si:
En el probador funciona bien, todo según lo previsto, pero en el realsk no abre la transacción.
P.D. Realmente necesito ayuda, pregunta de vida o muerte