Tratando de preparar los datos para el entrenamiento de una red neuronal. La tarea es.
Tener una matriz, donde por ejemplo cada fila (momento de tiempo - barra) es un vector de entrada, y las columnas por ejemplo 10000. Qué hacer si hay datos dinámicos (número de filas1, filas2), y cambian de número en diferentes momentos.
Por ejemplo, se carga una matriz en una red, cada fila es un vector para el aprendizaje, pero para cada fila, hay n número de filas que cambian dinámicamente en el tiempo.
Una posible conjetura de solución es añadir columnas adicionales a la matriz igual al número de columnas de la fila de la dinámica, resulta que cada vector tendrá columnas de la dinámica, pero como si de una fila se tratara, apenas prosumida.
Tratando de preparar los datos para el entrenamiento de una red neuronal. La tarea es.
Tener una matriz, donde por ejemplo cada fila (momento de tiempo - barra) es un vector de entrada, y las columnas por ejemplo 10000. Qué hacer si hay datos dinámicos (número de filas1, filas2), y cambian de número en diferentes momentos.
Por ejemplo, se carga una matriz en una red, cada fila es un vector para el aprendizaje, pero para cada fila, hay n número de filas que cambian dinámicamente en el tiempo.
Una posible conjetura de solución es añadir columnas adicionales a la matriz igual al número de columnas de la fila de la dinámica, resulta que cada vector tendrá columnas de la dinámica, pero como si de una fila se tratara, apenas prosumida.
Buenas tardes. He creado un EA, funciona bien, pero si apago el terminal con el EA funcionando y vuelvo a encender el terminal, el EA empieza a contar de nuevo. Así que tengo una pregunta. ¿Qué debo escribir en mi EA para que restablezca los parámetros de entrada al iniciarse?
XFaost: Buenas tardes. He creado un EA, funciona bien, pero si apago el terminal con el EA funcionando y vuelvo a encender el terminal, el EA empieza a contar de nuevo. Así que tengo una pregunta. ¿Qué tengo que prescribir en el EA, para que reinicie los parámetros de entrada cuando se inicie?
Quiero que mi Asesor Experto no restablezca los parámetros de entrada, sino que recoja información sobre las órdenes que se abrieron antes de que se cerrara.
XFaost: Buenas tardes. He creado un EA, funciona bien, pero si apago el terminal con el EA funcionando y vuelvo a encender el terminal, el EA empieza a contar de nuevo. Así que tengo una pregunta. ¿Qué tengo que escribir en mi EA, para que restablezca los parámetros de entrada cuando lo inicie?
Describa el funcionamiento de la EA. Tal vez haya que utilizar un principio diferente. Y si todavía necesita reiniciar, entonces debería definir primero qué se entiende por "al inicio". Y en general, un reinicio es una transición a la posición inicial. Anote los ajustes iniciales y ajústelos en el momento oportuno.
El EA coloca órdenes con stops por encima y por debajo del precio. Si uno de ellos se dispara, el stop se ajusta si el precio se aleja del stop más de lo establecido, si el precio se mueve hacia el stop entonces no hay cambios.
Al principio he escrito sólo la orden de compra y ha funcionado como se esperaba. Si añado una imagen de espejo para la venta, los stops se corregirán por el valor establecido sea cual sea el movimiento del precio.
En general, si por separado, o para comprar o vender - todo funciona como debería, pero ambas partes juntas - hay un error.
El EA coloca órdenes con stops por encima y por debajo del precio. Si uno de ellos se dispara, el stop se ajusta si el precio se aleja del stop más de lo establecido, si el precio se mueve hacia el stop entonces no hay cambios.
Al principio he escrito sólo la orden de compra y ha funcionado como se esperaba. Si añado una imagen de espejo para la venta, los stops se corregirán por el valor establecido sea cual sea el movimiento del precio.
En general, si por separado, o para comprar o vender, todo está funcionando como debe ser, pero ambas partes juntas - hay un error.
...
Todo el código que nos has mostrado es un error, ¿no? Por lo menos, la función OnTick es casi totalmente un error...
Cuando hay ambas partes del código, tanto para la compra como para la venta, entonces después de que la orden pendiente se dispara, su parada se corrige en cualquier dirección del precio por alguna razón. Y cuando sólo hay una parte de compra o de venta en el código, el stop se corrige como es debido, sólo cuando el precio se aleja de él.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Buenas tardes, señores)
Tratando de preparar los datos para el entrenamiento de una red neuronal. La tarea es.
Tener una matriz, donde por ejemplo cada fila (momento de tiempo - barra) es un vector de entrada, y las columnas por ejemplo 10000. Qué hacer si hay datos dinámicos (número de filas1, filas2), y cambian de número en diferentes momentos.
Por ejemplo, se carga una matriz en una red, cada fila es un vector para el aprendizaje, pero para cada fila, hay n número de filas que cambian dinámicamente en el tiempo.
Una posible conjetura de solución es añadir columnas adicionales a la matriz igual al número de columnas de la fila de la dinámica, resulta que cada vector tendrá columnas de la dinámica, pero como si de una fila se tratara, apenas prosumida.
por ejemplo
1er vector
1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ... "línea1 dinámica" 1 1 1 1
ssssssssssssssssssssssss "línea2 dinámica" 1 1 1 1
solución
1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ... "línea1 dinámica" 2 2 2 2
Buenas tardes, señores)
Tratando de preparar los datos para el entrenamiento de una red neuronal. La tarea es.
Tener una matriz, donde por ejemplo cada fila (momento de tiempo - barra) es un vector de entrada, y las columnas por ejemplo 10000. Qué hacer si hay datos dinámicos (número de filas1, filas2), y cambian de número en diferentes momentos.
Por ejemplo, se carga una matriz en una red, cada fila es un vector para el aprendizaje, pero para cada fila, hay n número de filas que cambian dinámicamente en el tiempo.
Una posible conjetura de solución es añadir columnas adicionales a la matriz igual al número de columnas de la fila de la dinámica, resulta que cada vector tendrá columnas de la dinámica, pero como si de una fila se tratara, apenas prosumida.
por ejemplo
1er vector
1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ... "línea1 dinámica" 1 1 1 1
ssssssssssssssssssssssss "línea2 dinámica" 1 1 1
solución
1.365 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 ... "línea1 dinámica" 2 2 2 2
https://www.mql5.com/ru/articles/159
Así que ahí está MQL5, según tengo entendido. ¿O es idéntico?
Buenas tardes. He creado un EA, funciona bien, pero si apago el terminal con el EA funcionando y vuelvo a encender el terminal, el EA empieza a contar de nuevo. Así que tengo una pregunta. ¿Qué tengo que prescribir en el EA, para que reinicie los parámetros de entrada cuando se inicie?
Buenas tardes. He creado un EA, funciona bien, pero si apago el terminal con el EA funcionando y vuelvo a encender el terminal, el EA empieza a contar de nuevo. Así que tengo una pregunta. ¿Qué tengo que escribir en mi EA, para que restablezca los parámetros de entrada cuando lo inicie?
Saludos. ¿Puede decirme qué ocurre?
El EA coloca órdenes con stops por encima y por debajo del precio. Si uno de ellos se dispara, el stop se ajusta si el precio se aleja del stop más de lo establecido, si el precio se mueve hacia el stop entonces no hay cambios.
Al principio he escrito sólo la orden de compra y ha funcionado como se esperaba. Si añado una imagen de espejo para la venta, los stops se corregirán por el valor establecido sea cual sea el movimiento del precio.
En general, si por separado, o para comprar o vender - todo funciona como debería, pero ambas partes juntas - hay un error.
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
extern double Lot = 0.01;
extern int StopLoss = 50;
extern int Slippage = 5;
extern int Delta = 60;
extern int Delta2 = 170;
extern int Magic = 321;
int ticket;
double price, sl, sl2;
datetime counted_bar = 0;
int OnInit()
{
if (Digits == 3 || Digits == 5)
{
StopLoss *= 10;
Delta *= 10;
Delta2 *= 10;
}
return(INIT_SUCCEEDED);
}
void OnTick() {
////// ПРОДАЖА ///////////////////////////////////////////////////////
if (SellLimitCount()==0 && SellCount()==0)
{
price = NormalizeDouble(Bid - Delta*Point, Digits);
sl = NormalizeDouble(price + StopLoss*Point, Digits);
ticket = OrderSend (Symbol(), OP_SELLSTOP, Lot, price, Slippage, sl, 0, "", Magic, 0, Red);
}
if (SellCount()!=0)
{
if (Bid < (OrderStopLoss() - NormalizeDouble (StopLoss*Point, Digits)))
{
sl = NormalizeDouble (Bid + StopLoss*Point, Digits);
if (OrderModify(ticket, price, sl, 0, 0, Red)) Print ("Sell_Order_Modify_Ok");
else Print ("ERROR_Sell_Order_Modify");
}
}
if (SellLimitCount()!=0)
{
if(Bid > (OrderOpenPrice() + NormalizeDouble (Delta2*Point, Digits)))
{
if (OrderDelete(ticket, Red)) Print ("BuyLimit_Order_Delete_Ok");
else Print ("ERROR_BuyLimit_Odrer_Delete");
}
}
/////////////////////////////////////////////////////////////////////////////////
/////// ПОКУПКА ////////////////////////////////////////////////////////
if (BuyLimitCount()==0 && BuyCount()==0)
{
price = NormalizeDouble(Ask + Delta*Point, Digits);
sl = NormalizeDouble(price - StopLoss*Point, Digits);
ticket = OrderSend (Symbol(), OP_BUYSTOP, Lot, price, Slippage, sl, 0, "", Magic, 0, Blue);
}
if (BuyCount()!=0)
{
if (Ask > (OrderStopLoss() + NormalizeDouble (StopLoss*Point, Digits)))
{
sl = NormalizeDouble (Ask - StopLoss*Point, Digits);
if (OrderModify(ticket, price, sl, 0, 0, Blue)) Print ("Buy_Order_Modify_Ok");
else Print ("ERROR_Buy_Order_Modify");
}
}
if (BuyLimitCount()!=0)
{
if(Ask < (OrderOpenPrice() - NormalizeDouble (Delta2*Point, Digits)))
{
if (OrderDelete(ticket, Blue)) Print ("BuyLimit_Order_Delete_Ok");
else Print ("ERROR_BuyLimit_Orde_Delete");
}
}
///////////////////////////////////////////////////////////////////////////////
}
//+------------------------------------------------------------------+
int BuyLimitCount(){
int count=0;
for(int i=OrdersTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){
if(OrderMagicNumber()==Magic){
if(OrderType()==OP_BUYSTOP)
count++;}}}return(count);}
int BuyCount(){
int count=0;
for(int i=OrdersTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){
if(OrderMagicNumber()==Magic){
if(OrderType()==OP_BUY)
count++;}}}return(count);}
int SellLimitCount(){
int count=0;
for(int i=OrdersTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){
if(OrderMagicNumber()==Magic){
if(OrderType()==OP_SELLSTOP)
count++;}}}return(count);}
int SellCount(){
int count=0;
for(int i=OrdersTotal()-1; i>=0; i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true){
if(OrderMagicNumber()==Magic){
if(OrderType()==OP_SELL)
count++;}}}return(count);}
Saludos. ¿Puede decirme qué ocurre?
El EA coloca órdenes con stops por encima y por debajo del precio. Si uno de ellos se dispara, el stop se ajusta si el precio se aleja del stop más de lo establecido, si el precio se mueve hacia el stop entonces no hay cambios.
Al principio he escrito sólo la orden de compra y ha funcionado como se esperaba. Si añado una imagen de espejo para la venta, los stops se corregirán por el valor establecido sea cual sea el movimiento del precio.
En general, si por separado, o para comprar o vender, todo está funcionando como debe ser, pero ambas partes juntas - hay un error.
Todo el código que nos has mostrado es un error, ¿no? Por lo menos, la función OnTick es casi totalmente un error...
Un error, ¿se refiere a todo el código mostrado?