Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1113
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Necesitas un guión para los fines de semana.
Trabajo entre semana. Por eso uso el indicador. Le doy una lista de instrumentos y me pide cotizaciones para el marco temporal, en el gráfico del que se encuentra. No me molesto con el manejo de errores. Después de una docena de minutos todo se calma.
Lo había olvidado por completo. Si necesita guardar el historial, el gráfico del símbolo debe estar abierto.
El mercado se pone en marcha. Pero ni las llamadas de CopyTime, ni las de ArrayCopySeries reponen automáticamente el historial para los instrumentos de MarketWatch.
Las cartas de los instrumentos nunca se abrieron.
Debe haber una solución.
Por ejemplo, AUDCAD. No hay gráficos abiertos para este símbolo. Si abro manualmente el gráfico AUDCAD H1 y pulso los botones, se cargará el historial. Es lo mismo en otros plazos - sólo en modo manual, no quiere hacerlo automáticamente.
Esto funciona con una muleta, pero también cambia la historia por nuevos personajes.
Buenas tardes, queridos miembros del foro. Por favor, no te sientas herido, sólo estoy escribiendo mi tesis y quiero hacer una investigación sociológica. Seguro que hay gente que ha comprado EAs una o varias veces. Díganos, por favor, qué criterios fueron importantes y cruciales para usted a la hora de comprar. Por ejemplo, puede ser:
-tipo de Asesor Experto (tendencia, seth, martingala, scalper...)
-Historia enel probador de estrategias
-algunas funciones específicas del Asesor Experto
-Descripción detallada de cómo funciona el EA y cómo se configura
-calificación del vendedor
- Precio EA
-campañas y descuentos
O quizás algo más.
¿Y está contento con su compra?
Muchas gracias por su comprensión y respuestas
Buenas tardes, queridos miembros del foro. Por favor, no te sientas herido, sólo estoy escribiendo mi tesis y quiero hacer una investigación sociológica. Seguro que hay gente que ha comprado EAs una o varias veces. Díganos, por favor, qué criterios fueron importantes y cruciales para usted a la hora de comprar. Por ejemplo, puede ser:
-tipo de Asesor Experto (tendencia, seth, martingala, scalper...)
-Historia enel probador de estrategias
-algunas funciones específicas del Asesor Experto
-Descripción detallada de cómo funciona el EA y cómo se configura
-calificación del vendedor
- Precio EA
-campañas y descuentos
O quizás algo más.
¿Y está contento con su compra?
Muchas gracias por su comprensión y respuestas
¿Puede decirme dónde está el error? Se calculan los valores de los elementos del array Koef[], a cada elemento se le asigna un valor. ¿Por qué no se asigna Buffer1[]?
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_level1 0.8
#property indicator_level2 -0.8
#property indicator_levelcolor Black
#property indicator_color1 Blue
#property indicator_minimum -1
#property indicator_width1 2
#property indicator_style1 0
#property indicator_maximum 1
double Buffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//--- indicator buffers mapping
SetIndexBuffer(0, Buffer1);
SetIndexStyle(0, DRAW_LINE);
return(0);
//---
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int n=25; // количество элементов в массиве(для периода H1 n=25, тк i<n)
int m=24; // количество массивов(для периода H1 m=24, тк p=0, p<m)
int w=18; // количество заков после запятой
double Price_CloseX[][24]; // Массив цен закрытия 1 пары
double Price_CloseY[][24]; // Массив цен закрытия 2 пары
double dx[][24]; // Отклонение от среднего значения для пары 1 dx
double dy[][24]; // Отклонение от среднего значения для пары 2 dy
double dx2[][24]; // Квадрат отклонения ср.значения dx2
double dy2[][24]; // Квадрат отклонения ср.значения dy2
double dxdy[][24]; // Произведение dx и dy
double sum_x[][24];
double sum_y[][24];
double Mx[][24]; // Массив среднего значения цен закрытия пары 1 Mx
double My[][24]; // Массив среднего значения цен закрытия пары 2 My
double Edx2[][24]; // Сумма квадратов отклонений Edx2
double Edy2[][24]; // Сумма квадратов отклонений Edy2
double Edxdy[][24]; // Сумма произведений отклонений Edxdy
double Koef[];
ArrayResize(Price_CloseX, n);
ArrayResize(Price_CloseY, n);
ArrayResize(dx, n);
ArrayResize(dy, n);
ArrayResize(dx2, n);
ArrayResize(dy2, n);
ArrayResize(dxdy, n);
ArrayResize(sum_x, n);
ArrayResize(sum_y, n);
ArrayResize(Mx, n);
ArrayResize(My, n);
ArrayResize(Edx2, n);
ArrayResize(Edy2, n);
ArrayResize(Edxdy, n);
ArrayResize(Koef, n);
string sym_x="EURUSD";
string sym_y="GBPUSD";
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
Price_CloseX[i][p]=iClose(sym_x, PERIOD_H1, i+p);
Price_CloseY[i][p]=iClose(sym_y, PERIOD_H1, i+p);
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
sum_x[i][p]=sum_x[i][p-1]+Price_CloseX[i][p];
sum_y[i][p]=sum_y[i][p-1]+Price_CloseY[i][p];
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
Mx[i][p]=sum_x[p+1][m-1]/(n-1);
My[i][p]=sum_y[p+1][m-1]/(n-1);
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
dx[i][p]=Price_CloseX[i][p]-Mx[i][p];
dy[i][p]=Price_CloseY[i][p]-My[i][p];
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
dx2[i][p]=(dx[i][p]*dx[i][p])*1000000;
dy2[i][p]=(dy[i][p]*dy[i][p])*1000000;
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
dxdy[i][p]=(dx[i][p]*dy[i][p])*1000000;
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
Edx2[i][p]=(Edx2[i-1][p]+dx2[i][p]);
Edy2[i][p]=(Edy2[i-1][p]+dy2[i][p]);
Edxdy[i][p]=(Edxdy[i-1][p]+dxdy[i][p]);
}
}
for(int p=0; p<m; p++)
{
Koef[p]=Edxdy[n-1][p]/sqrt(Edx2[n-1][p]*Edy2[n-1][p]);
Buffer1[p]=Koef[p];
Alert("Коэффициент корреляции Пирсона между ", sym_x, " и ", sym_y, " равен ", DoubleToString(Koef[p], w));
Alert("Значение буфера ", p, " равно ", Buffer1[p]);
}
return(0);
}
Buenos días! ¿Estoy en lo cierto al entender que con tp=2, sl=20 y spread=2 la probabilidad de tp=(2+2)/(20-2)=0,22.... ¿o tengo que multiplicar por algún coeficiente? Y si el verdadero tp=0,22, entonces lo ideal es que podamos abrir 3 operaciones seguidas con estos parámetros, y 4 del trato a saltar?
No voy a dar un enlace, la gente piensa diferente. Recomiendo partir del principio de la desesperanza de construir el Grial. En este caso, para un TP y un SL dados, se puede formular como sigue:
En ausencia de diferencial, el beneficio esperado en cualquier serie de operaciones con el mismo SL y el mismo TP es cero.
La expectativa de beneficio sin spread es igual a P(TP)*TP-P(SL)*SL=0, donde SL y TP son las distancias desde el nivel de apertura de la operación hasta sus niveles, P es la probabilidad de que la operación se complete por SL o TP, respectivamente.
A partir de la condición de finalización de todos los tratos P(TP)+P(SL)=1, donde P(TP)*TP-(1-P(TP))*SL=0, P(TP)*(TP+SL)=SL y
P(TP)=SL/(SL+TP).
Para tener en cuenta el spread, hay que sustituir la expectativa de beneficio cero por la expectativa de pérdida del tamaño del spread, P(TP)*TP-P(SL)*SL=Spread, y derivar la fórmula necesaria.
No voy a dar un enlace, la gente piensa diferente. Recomiendo partir del principio de la imposibilidad de construir el Grial. En este caso, para el TP y el SL dados, se puede formular como sigue:
En ausencia de diferencial, el beneficio esperado en cualquier serie de operaciones con el mismo SL y el mismo TP es cero.
La expectativa de beneficio sin spread es igual a P(TP)*TP-P(SL)*SL=0, donde SL y TP son las distancias desde el nivel de apertura de la operación hasta sus niveles, P es la probabilidad de que la operación se complete por SL o TP, respectivamente.
A partir de la condición de finalización de todos los tratos P(TP)+P(SL)=1, donde P(TP)*TP-(1-P(TP))*SL=0, P(TP)*(TP+SL)=SL y
P(TP)=SL/(SL+TP).
Para tener en cuenta el diferencial, tenemos que sustituir el pago esperado cero por una expectativa de pérdida igual al diferencial, P(TP)*TP-P(SL)*SL=Spread, y derivar la fórmula necesaria.
Preguntando por el coeficiente, recuerdo algo así como C(n,k), es decir, P(x)=C(n,k)*P(y/x)..... En fin, estoy confundido... Tendré que hojear el libro.
Si hablamos de libros de teoría de la probabilidad, y a juzgar por la alusión al número de combinaciones de n por k C(n,k), se trata de combinatoria, entonces no hay respuestas a la pregunta planteada en teoría de la probabilidad. En concreto, la fórmula P(TP)*TP-P(SL)*SL=0
Lo conseguí empíricamente. En la búsqueda de una combinación de SL y TP que diera incluso la más pequeña desviación estadísticamente significativa de cero. La base de datos de historiales de ticks para 25 pares de divisas se recopiló durante unas 300 semanas en 50-60 centros de negociación, y en ese momento había 50.000 millones de ticks. He probado docenas de métodos de apertura regular o pseudo-aleatoria de ofertas. El tipo de interés sin el diferencial se consideró la media aritmética de la oferta y la demanda.
Si hablamos de libros de teoría de la probabilidad, y a juzgar por la alusión al número de combinaciones de n por k C(n,k), se trata de combinatoria, entonces no hay respuestas a la pregunta planteada en teoría de la probabilidad. En concreto, la fórmula P(TP)*TP-P(SL)*SL=0
Lo conseguí empíricamente. En la búsqueda de una combinación de SL y TP que diera incluso la más pequeña desviación estadísticamente significativa de cero. La base de datos de historiales de ticks para 25 pares de divisas se recopiló durante unas 300 semanas en 50-60 centros de negociación, y en ese momento había 50.000 millones de ticks. He probado docenas de métodos de apertura regular o pseudo-aleatoria de ofertas. El tipo sin diferencial se consideró la media aritmética de la Oferta y la Demanda.