[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 1066

 
Melena:

Hola, queridos miembros del foro, esperando su ayuda.....

Así que la pregunta es qué piensan ustedes, queridos expertos en la materia, si estoy pensando en la dirección correcta, y si no es así, por favor, aconsejen qué se puede hacer con estos datos, cómo y dónde aplicar la regresión lineal... ¿qué hipótesis se puede crear y luego confirmar o negar? Yo mismo no soy ni mucho menos un experto en este campo, nunca me había topado con la estadística y mucho menos con el método exploratorio(((.

Gracias de antemano.

Sinceramente,

Milena.

A lo largo del año el número de clientes cambia drásticamente (así lo entiendo), entonces hay que tener en cuenta la dinámica de cambiar el número de personas atendidas(la historia se repite).

Apégate al tiempo, el 1 de diciembre de cada año voy donde ...

Y así en todos los puntos

O hay un buen método para minimizar

¿http://www.google.com.ua/search?source=ig&hl=ru&rlz=1G1GGLQ_RUUA357&=&q=%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0+%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8+%D1%83%D0%BF%D1%83%D1%89%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9+%D0%B2%D1%8B%D0%B3%D0%BE%D0%B4%D1%8B&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&aq=f&oq=

Desktop_1.zip (2 871.41 KB) borrar

 
granit77:

Print(iMA("EURUSD", PERIOD_D1, 14, 0, MODE_SMA, PRICE_CLOSE,0));

Esto es más preciso.
:) Dormir en movimiento... :)
 
marker:

En principio, esto es lo que probablemente ocurrirá. Una cuenta, 8 términos, 8 scripts cada uno guardará sus operaciones en una carpeta separada (ordenada por magia). Por qué quiero una cuenta, porque quiero mirar la curva de toda la cartera.... algo así.... ahora están colgados por separado. Gracias por la respuesta:)) Aunque, sería más conveniente que todos los oficios se almacenaran en un solo archivo, pero ordenados, sería más conveniente, todos ordenados en un solo archivo, ¿se puede hacer eso?

Existe, pero tú no eres un codificador ;))

https://www.mql5.com/ru/code/8051

 

¡Hola !

¿Puede decirme cuál es la rentabilidad del 981? ¿Es posible? ¿Es que la suma de todos los beneficios positivos es 981 veces la suma de todas las pérdidas? (pero el beneficio es de 24 y el drawdown de 13... algo que no entiendo....). Optimizo por el "factor de beneficio".

¿Dónde está la reducción de 13 dólares aquí...?


Aquí está el informe de la prueba:


 

Sí!!! extremadamente interesante. El resultado está más allá de cualquier cosa, no soy bueno para probarme a mí mismo.

No entiendo nada!!!!!!!! decidí prescribir un trailing stop a mi Asesor Experto.

La variable vzlet cuenta cuántos puntos se movió el precio hacia arriba, comparado con el momento en que abrí la orden; la variable newloss es una nueva pérdida; es igual al tamaño por cuántos puntos se moverá cuando se mueva la orden y dentro de la orden-modificación se escribe de manera muy simple y clara Bid+newloss*PointX

Habiendo recibido el error 130, por diversión creé una variable bylstop=Bid+stoploss*PointX; -bylstop, que recuerda cuán grande era el stop cuando se abrió la orden,

-El resultado es asombroso: la diferencia entre newloss y bylstop a veces supera los 200 pips y normalmente no es inferior a 100 pips. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ¡Por supuesto, el error es de 130! ¡¡¡¡¡¡Pero cómo puede ser!!!!!! ¡¡¡Las fórmulas son extremadamente sencillas!!! ¡¡¡¡No hay error!!!! ¿O soy un completo idiota? ¡¡¡¡Llevo tres días mirando, no entiendo!!!!

//+------------------------------------------------------------------+
//|| mpm.mq4 ||
//| Dimon...
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Dimon"
#enlace de propiedad "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+

extern int BandsPeriod=20, i=1; extern int BandsShift=0;
extern double BandasDesviaciones=2,0;
extern double Lotes=0.1, TakeProfit=60, stoploss=25; double PointX;


int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10; // Punto de corrección para tres o cinco dígitos
if(Dígitos==4 || Dígitos==2) PuntoX = Punto;
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
double order; int ticket;double bylstop;
int inicio()
{double newloss=12; Alert ("ticket",ticket);
double vzlet= (Cierre[1]-orden)/PuntoX;

Alert ("vzlet",vzlet); int total=Total de pedidos();// Comment(" total ",total); Alert (" total ",total);
Alerta ("PuntoX",PuntoX);


si (vzlet>=20)
{ for(int i = 0; i < total; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol()&&OrderMagicNumber() == 16384 &&OrderType() == OP_BUY)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue);
Alert ("Error de modificación",GetLastError());Alert ("newlossbuy",Bid+newloss*PointX);Alert ("bylstopbuy",bylstop);}


si (vzlet<=(-20))
{ for( i = 0; i < total; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask-newloss*PointX,OrderTakeProfit(),0,Blue);
Alert ("Error de modificación",GetLastError()); Alert ("newlosssell",Ask-newloss*PointX); Alert ("bylstopsell",bylstop); }



if ( total !=0 ){return;}

doble Media,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,suma,desviación;
string text; int err;
text="muestra macd;
Average=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
int k,counted_bars=IndicatorCounted();

//----
//----
for( k = 0; k<BandsPeriod; k++)
{ newres=Cierre[k]-Promedio;//Alerta (" Promedio ",Promedio);
sum+=((newres*100)*(newres*100))/10000;//Alert (" newres ",newres);
}




desviación=BandasDesviaciones*MathSqrt(suma/PeriodoBandas);
Verhnyayaghranytsa=Promedio+desviación;
Nyzhnyayaghranytsa=Desviación media;//Alerta (" suma ",suma);
// Alerta (" desviación ",desviación);
//----
si (Verhnyayaghranytsa<Cerrar[i])
{ Comentario(" boya ",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
Alert (" stoploss ",Ask-stoploss*PointX);order=Close[0];order=Close[0];bylstop= Ask-stoploss*PointX;Alert("Error",GetLastError());
}


si (Nyzhnyayaghranytsa>Cerrar[i])
{ Comentario(" ¡vender! ",Nyzhnyayaghranytsa );

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+stoploss*PointX,Bid-TakeProfit*PointX, "macd sample",16384,0,Red);
Alert (" stoploss ",Bid+stoploss*PointX);bylstop=Bid+stoploss*PointX;
Alert("ErrorOrdersell",GetLastError()); order=Close[0]; }

}
return(0);

//+------------------------------------------------------------------+

2010.12.22 14:22:09 2010.06.03 20:46 EURUSD,H1: Alerta: bylstopsell1.2247

2010.12.22 14:22:09 2010.06.03 20:46 Thu Thunder EURUSD,H1: Alerta: newlosssell1.2154

2010.12.22 14:22:09 2010.06.03 20:46 Thu Thunder EURUSD,H1: Alerta: Error de modificación130

2010.12.22 14:22:09 2010.06.03 20:46 Thu Thunder EURUSD,H1: OrderModify error 130

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1: Alerta: ticket2

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1: Alerta: PointX0.0001

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1: Alerta: vzlet16

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1: Alerta: ticket2

2010.12.22 14:22:04 2010.06.03 05:00 Thu Thunder EURUSD,H1: Alerta: PointX0.0001

2010.12.22 14:22:04 2010.06.03 05:00 Trueno EURUSD,H1: Alerta: vzlet16

Me inventé esta cogconstrucción if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL) para evitar escribir tres veces,

Pongo OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES ); y pongo OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue);

¡¡¡¡¡¡¡¡y hay un error donde no puede ser!!!!!!!!



No sólo eso, he multiplicado el PuntoX0.0001 por 10, y luego lo he dividido (por supuesto fuera del bucle), aunque esto es fundamentalmente erróneo, sin entender la razón, y no por ello menos confuso

//+------------------------------------------------------------------+
//| mq4 ||
//| Dimon...
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Dimon"
#enlace de propiedad "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| función de inicialización de expertos |

//+----------------

--------------------------------------------------+

extern int BandsPeriod=20, i=1; extern int BandsShift=0;
extern double BandasDesviaciones=2,0;
extern double Lotes=0.1, TakeProfit=60, stoploss=25; double PointX;


int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10; // Punto de corrección para tres o cinco dígitos
if(Dígitos==4 || Dígitos==2) PuntoX = Punto;
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
double order; int ticket;double bylstop;
int inicio()
{double newloss=12; Alert ("ticket",ticket); PointX= PointX*10 ;
double vzlet= (Cierre[1]-orden)/PuntoX;

Alert ("vzlet",vzlet); int total=Total de pedidos();// Comment(" total ",total); Alert (" total ",total);
Alerta ("PuntoX",PuntoX);


si (vzlet>=20)
{ for(int i = 0; i < total; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol()&&OrderMagicNumber() == 16384 &&OrderType() == OP_BUY)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue);
Alert ("Error de modificación",GetLastError());Alert ("newlossbuy",Bid+newloss*PointX);Alert ("bylstopbuy",bylstop);}


si (vzlet<=(-20))
{ for( i = 0; i < total; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&OrderType() == OP_SELL)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask-newloss*PointX,OrderTakeProfit(),0,Blue);
Alert ("Error de modificación",GetLastError()); Alert ("newlosssell",Ask-newloss*PointX); Alert ("bylstopsell",bylstop); }



if ( total !=0 ){return;} PuntoX = PuntoX/10;

doble Media,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,suma,desviación;
string text; int err;
text="muestra de macd;
Average=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
int k,counted_bars=IndicatorCounted();

//----
//----
for( k = 0; k<BandsPeriod; k++)
{ newres=Cierre[k]-Promedio;//Alerta (" Promedio ",Promedio);
sum+=((newres*100)*(newres*100))/10000;//Alert (" newres ",newres);
}




desviación=BandasDesviaciones*MathSqrt(suma/PeriodoBandas);
Verhnyayaghranytsa=Media+desviación;
Nyzhnyayaghranytsa=Desviación media;//Alerta (" suma ",suma);
// Alerta (" desviación ",desviación);
//----
si (Verhnyayaghranytsa<Cerrar[i])
{ Comentario(" boya ",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
Alert (" stoploss ",Ask-stoploss*PointX);order=Close[0];order=Close[0];bylstop= Ask-stoploss*PointX;Alert("Error",GetLastError());
}


si (Nyzhnyayaghranytsa>Cerrar[i])
{ Comentario(" ¡vender! ",Nyzhnyayaghranytsa );

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+stoploss*PointX,Bid-TakeProfit*PointX, "macd sample",16384,0,Red);
Alert (" stoploss ",Bid+stoploss*PointX);bylstop=Bid+stoploss*PointX;
Alert("ErrorOrdersell",GetLastError()); order=Close[0]; }

}
return(0);

//+------------------------------------------------------------------+



2010.12.22 14:48:09 2010.06.03 07:40 GMT EURUSD,H1: Alerta: PointX1.#INF

2010.12.22 14:48:09 2010.06.03 07:40 Thu Thunder EURUSD,H1: Alert: vzlet0

2010.12.22 14:48:09 2010.06.03 07:40 Thu Thunder EURUSD,H1: Alerta: ticket-1

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1: Alerta: PuntoX1.#INF

2010.12.22 14:48:08 2010.06.03 07:40 Thu Thunder EURUSD,H1: Alert: vzlet0

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1: Alerta: ticket-1

2010.12.22 14:48:08 2010.06.03 07:40 Thu Thu EURUSD,H1: Alerta: PointX1.#INF.



 
Veo que, en la segunda versión, si una orden está abierta, PointX ya no se divide. Pero el problema principal no se capta.
 

No entiendo la lógica de la asignación de un billete. No es un número secuencial, ¿verdad? Parece que el número de entradas aumenta a medida que avanzamos.

¿Pero cómo puede ser menos uno!!!?

 
¿Qué es PointX y para qué sirve? Punto es punto, newloss*Punto es newloss puntos
 

¡¡¡¡¡¡¡¡Cuando acabo de escribir mi primer EA, no funcionó, también escribió el error 130, pero no una modificación, y la apertura de la orden, en el foro aconseja, dicen que su plataforma es de cinco dígitos, pegar if(Digits==5 || Digits==3) PointX = Point * 10; // Corrección de punto para tres-cinco dígitos
if(Digits==4 | Digits==2) PointX = Point; He pegado, todo funcionó!!!!!!!! He pegado, copiado, pero no lo he conseguido, me he dado cuenta del error que hay, ya lo resolveré yo.



 
Dimka-novitsek:

No entiendo la lógica de la asignación de un billete. No es un número secuencial, ¿verdad? Parece que el número de entradas aumenta a medida que avanzamos.

¿Pero cómo puede ser menos uno!!!?

Se muestra como "-1" si la orden no se activa. Si la orden se ejecuta, se le asigna un número.
Razón de la queja: