[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 234

 
No sé cómo implementarlo en el código. ¿Has visto el código ya hecho en algún sitio? Estaría bien si el código calculara una pérdida sin pérdidas en tres direcciones: 1. en todas las órdenes abiertas 2. sólo órdenes de compra 3. sólo órdenes de venta
 
belck:
no consigo averiguar cómo implementar esto en el código. ¿has visto el código ya hecho en algún sitio? Me parecería bien que el código calculara el punto de equilibrio en tres direcciones: 1. para todas las órdenes abiertas 2. sólo para las órdenes de compra 3. sólo para las órdenes de venta
https://www.mql5.com/ru/forum/103719
 

Cómo calcular el margen (fondos necesarios para abrir una orden con lote N) con diferentes valores de AccountFreeMarginMode


 

¡Hola!

Pueden avisar si alguien lo sabe:

el EA funciona tanto en el tester como en el real con desviación de precio=2 puntos, y a precio de mercado, es decir, desviación=0, ¿puede haber problemas o no? La comunicación es buena - la fibra es realmente 60Mbit, si sólo abro manualmente - la ejecución es generalmente 1-2 segundos en real. Mi Asesor Experto tiene una repetición en él hasta que una orden se abre con éxito. Lo pregunto porque estaba operando en la plataforma de cuatro dígitos y quiero probar la de cinco. Lo probé en una demo de cinco dígitos, pero la orden no se abrió, sólo apareció la señal diciendo: "Estamos intentando abrir una orden...", y eso fue todo. No hay cambios ni errores en el registro. ¿Qué me aconseja?

Por experiencia personal, ¿cuántos puntos de desviación del precio de mercado se deben establecer al abrir (cerrar) una orden? ¿Es necesario prescribir algo en el EA para operar con cinco decimales? Al abrir una orden en el probador, el SL y el TP preestablecidos disminuirán exactamente diez veces - exactamente un decimal?

P.D. Yo mismo escribí mi EA para MQL4.

Sinceramente.

 

Hice algo con el archivo editable <indicator.mq4>, o lo moví a algún sitio o lo copié con otro nombre, pero después de la compilación, en la lista de indicadores del terminal, el nombre se volvió gris e inactivo.

Sin embargo, el indicador está disponible a través del menú lateral de la barra de la ventana izquierda en el "árbol de listas" y se arrastra al gráfico.

Si se ha encontrado con una situación de este tipo, por favor, aconséjele cómo solucionarlo.

Sinceramente.

 
prorab:

Hice algo con el archivo editable <indicator.mq4>, o lo moví a algún sitio o lo copié con otro nombre, pero después de la compilación, en la lista de indicadores del terminal, el nombre se volvió gris e inactivo.

Sin embargo, el indicador está disponible a través del menú lateral de la barra de la ventana izquierda en el "árbol de listas" y se arrastra al gráfico.

Si se ha encontrado con una situación así, por favor, aconséjele cómo corregirla.


Haz clic con el botón derecho del ratón sobre el color gris de la sangría en el terminal, luego haz clic con el botón izquierdo del ratón en el menú "cambiar", luego compila en el meta-editor, luego vuelve a cargar el terminal y disfruta de la vida...:-)
 
Roman.:

Haz clic con el botón derecho del ratón sobre el color gris del indicador en el terminal, luego haz clic con el botón izquierdo del ratón en el menú "cambiar", luego compila en el meta-editor, luego vuelve a cargar el terminal y disfruta de la vida...:-)
No servirá de nada. El código fuente se ha perdido.
 
Zhunko:
No lo hará. La fuente se ha perdido.

Hoy he hecho el mismo procedimiento con mi EA, su color se ha vuelto azul en el terminal, era gris.
 
Roman.:

Hoy he hecho el mismo procedimiento con mi EA, su color se ha vuelto azul en el terminal, era gris.
Si hay una fuente, pero ha sido cambiada, es posible. Es decir, cambiar el contenido de la fuente. Si la fuente se pierde o cambia de nombre, no se encontrará.
 

Помогите исправить ошибку в коде советника. Попытался написать советник на основе индикатора Laguerre.mq4. При компиляции выдает ошибку. Место ошибки в коде выделено жирным. Сам индикатор находится в теле советника.

//+------------------------------------------------------------------+
//| Laguerre+.mq4 ||
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+

//---- parámetros de entrada
extern int TrailingStop=0;
extern int StopLoss=0;
extern double lotes=0.1;
extern double gamma = 0.7;
extern int Tipo_de_precio=0;
//---- buffers
doble Filtro[];
doble L0[];
doble L1[];;
doble L2[];
doble L3[];

//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(5);
//---- indicadores
SetIndexStyle(0, DRAW_LINE);
SetIndexDrawBegin(0, 1);
SetIndexLabel(0, "LaguerreFilter");
SetIndexBuffer(0, Filtro);
SetIndexBuffer(1, L0);
SetIndexBuffer(2, L1);
SetIndexBuffer(3, L2);
SetIndexBuffer(4, L3);
//----
string short_name="LaguerreFilter(" + DoubleToStr(gamma, 2) + ")";
IndicadorNombreCorto(nombre_corto);
return(0);
}

//+------------------------------------------------------------------+
//| Función de desinicialización del indicador Custor |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}

//+------------------------------------------------------------------+
//| Función de iteración de indicadores personalizada |
//+------------------------------------------------------------------+
int inicio()
{
int límite;
int barras_contadas = IndicadorContado();
doble CU, CD;
//---- la última barra contada se volverá a contar
si (barras_contadas>0)
counted_bars--;
si no
barras_contadas = 1;
limit = Bares - counted_bars;
//---- cálculos para RSI
for (int i=limit; i>=0; i--)
{
double Precio=iMA(NULL,0,1,0,0,Tipo_de_precio,i);

L0[i] = (1,0 - gamma)*Precio + gamma*L0[i+1];
L1[i] = -gamma*L0[i] + L0[i+1] + gamma*L1[i+1];
L2[i] = -gamma*L1[i] + L1[i+1] + gamma*L2[i+1];
L3[i] = -gamma*L2[i] + L2[i+1] + gamma*L3[i+1];

CU = 0;
CD = 0;
si (L0[i] >= L1[i])
CU = L0[i] - L1[i];
si no
CD = L1[i] - L0[i];
si (L1[i] >= L2[i])
CU = CU + L1[i] - L2[i];
si no
CD = CD + L2[i] - L1[i];
si (L2[i] >= L3[i])
CU = CU + L2[i] - L3[i];
si no
CD = CD + L3[i] - L2[i];

si (CU + CD != 0)
Filtro[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6,0;
}
return(0);

//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
int inicio()
{
if (OrdersTotal()>0)
{
CU = 0;
CD = 0;
{
OrderSelect(SELECT_BY_POS);
if (OrderSymbol()==Symbol())
{
if (OrderType()== OP_BUY)
{
si ((L0[i] >= L1[i])CU = L0[i] - L1[i],(L1[i] >= L2[i])CU = CU + L1[i] - L2[i],(L2[i] >= L3[i])
OrderClose(OrderTicket(),OrderLots());
si no CU++;
}
if (OrderType()== OP_SELL)
{
si (CD = L1[i] - L0[i],CD = CD + L2[i] - L1[i],CD = CD + L3[i] - L2[i])
OrderClose(OrderTicket(),OrderLots())
si no CD++;
}
}
}

si (CU > CD && CU == 0)
{
OrderSend(Symbol(),OP_BUY,lotes,Ask,0/*(Ask-StopLoss*Point)*/,0,);
}
si (CU < CD && CD ==0)
{
OrderSend(Symbol(),OP_SELL,lots,Bid,0/*(Bid+StopLoss*Point)*/,0,);
}



//----
return(0);
}
//+------------------------------------------------------------------+

Razón de la queja: