El probador ha dejado de funcionar repentinamente, sin rascar ningún dato histórico.
¿Qué debo hacer con él?
para su información: el archivo de citas fue descargado
Me ayudó a reiniciar el terminal y eliminar las citas descargadas de antemano en la carpeta: C:\N-Archivos de Programa\N-MetaTrader - Alpari\history\N-Alpari-Micro2
Noterday: ¿Puede decirme la función que calcula el volumen máximo posible de apertura de pedidos?
Déjame darte una vara... :) La función que aparece a continuación tiene todos los datos necesarios para calcular los parámetros que necesitas. Soy tan perezoso que ni siquiera puedo golpear las teclas...
Puedes encontrar lo que necesitas y modificarlo tú mismo... El código en sí es tan sencillo y accesible que nadie tendrá problemas para rehacerlo...
// ==========================================================================// ------------ Функция рассчёта величины лота для открытия позиции ---------// Если лот превышает возможный для открытия позы, то он корректируется // ==========================================================================double CorrectLots(double lt, double divider=4.0) // lt = проверяемый лот, divider = на сколько разделить
{ // свободные средстваdouble ltcorr;
double pnt = MarketInfo(Symbol(),MODE_POINT);
double mspr = MarketInfo(Symbol(),MODE_SPREAD);
double dig = MarketInfo(Symbol(),MODE_DIGITS);
double MaxLot = MarketInfo(Symbol(),MODE_MAXLOT);
double MinLot = MarketInfo(Symbol(),MODE_MINLOT);
double StpLot = MarketInfo(Symbol(),MODE_LOTSTEP);
double OneLot = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double TradeMrg = NormalizeDouble(AccountFreeMargin()/divider,dig); // Свободные средства, разрешенные к торговле
lt=MathAbs(lt);
ltcorr=lt; // Зададим начальное значением ltcorr равным значению ltif (lt>=MaxLot) ltcorr=MaxLot; // Проверим превышение допустимых ...if (lt<=MinLot) ltcorr=MinLot; // ... значений лотаdouble Money=lt*OneLot+mspr*pnt; // Вычисляем стоимость открываемой позыif (Money<TradeMrg) // Если свободных средств больше, чем цена позиции -
{
return(ltcorr); // ... возвращаем неизменённый лот
}
elseif (Money>=TradeMrg) // Если цена позиции равна или больше, чем есть свободных средств, то ...
{
ltcorr=MathAbs(MathFloor(TradeMrg/OneLot/StpLot)*StpLot); // ... рассчитаем допустимый лотdouble MoneyCorr=ltcorr*OneLot+mspr*pnt;
Print("Func CorrectLots: лот ",lt," скорректирован до ",ltcorr,
" Стоимость позы до корректировки = ",Money,
" Стоимость позы после корректировки = ",MoneyCorr
);
return(ltcorr); // ... и вернём его значение
}
Print("Func CorrectLots: лот вернули без изменений");
return(ltcorr); // Возврат изначального лота в непредусмотренных случаях с сообщением
}
Una pregunta...
¿Por qué necesitas un comercio como el de Hitler al final de la guerra... Reclutó a niños en las Juventudes Hitlerianas, por así decirlo, la carne por un tiro del cartucho de Fausto...
artmedia70: Déjame darte una vara... :) La función siguiente tiene todos los datos para calcular los parámetros que necesitas. Soy tan vago que ni siquiera puedo golpear las teclas...
Puedes encontrar lo que necesitas y modificarlo tú mismo... El código en sí es tan sencillo y accesible que nadie tendrá problemas para rehacerlo...
Una pregunta...
¿Por qué necesita un comercio como el de Hitler al final de la guerra... Reclutó a niños en las Juventudes Hitlerianas, por así decirlo, la carne por un disparo del cartucho de Fausto...
No suena ninguna campana?????
En mi opinión, por supuesto...
Gracias.
No se va a abrir con el volumen máximo, sólo hay que calcularlo en función del tamaño del Depósito, para posteriores operaciones matemáticas =))
Puedes sugerir un código o una rama sobre cómo memorizar los cruces de líneas indicadoras con el precio. lo he visto en algún sitio, pero no lo encuentro. Lo vi en algún sitio pero no lo encuentro.
No sé si me interesa, pero me interesa más algo así:
int start()
{
double LineX = iCustom ("EURUSD", Period_H1, "Indicator",0,0);
double lineY = iCustom ("EURUSD", Period_H1, "Indicator",1,0);
double priceA = Ask;
double priceB = Bid;
double intersectionX = (LineX == priceA) ;
double intersectionY = (LineY == priceB) ;
// а так же еще определить, какое пересечение последнее, а какое предпоследние // intersectionX = последнее пересечение и на оборот// intersectionY = предпоследние пересечение и на оборот// то есть я понимаю логику, а вот связать в коде не могу.//произошло intersectionX, то intersectionFirst = intersectionX; intersectionSecond = intersectionY;// произошло intersectionY, то intersectionFirst = intersectionY; intersectionSecond = intersectionX;
}
Puedes sugerir un código o una rama sobre cómo memorizar los cruces de líneas indicadoras con el precio. lo he visto en algún sitio, pero no lo encuentro. Lo vi en algún sitio pero no lo encuentro.
Quiero saber si la línea indicadora ha cruzado el precio, pero me interesa más esto:
cualquier cruce se considera mejor como una diferencia entre el precio (Ask/Bid) y la línea del indicador, es decir
if (Ask-iCustom ("EURUSD", Period_H1, "Indicator",0,0) > 0) Comment("Precio por encima del indicador"); else Comment("Precio por debajo del indicador");
Si se compara la diferencia de estos valores, no es necesario normalizarlos para una comparación adecuada
particularmente a su pregunta - un cruce de la línea del indicador por el precio es ese momento cuando la diferencia Ask- -iCustom() estaba por debajo de cero durante el cálculo anterior y luego se puso más alto, o viceversa
La forma de calcular este momento es asunto suyo - tal vez en la barra anterior, o en cada tick, pero tales combinaciones:
Se adentrará en el laberinto de las matemáticas discretas más rápido de lo que puede obtener el resultado que desea: la expresión entre corchetes será 0 o 1, lo que corresponde a la representación numérica de falso y verdadero
cualquier cruce se considera óptimamente como la diferencia del precio (Ask/Bid) y la línea del indicador, es decir
if (Ask-iCustom ("EURUSD", Period_H1, "Indicator",0,0) > 0) Comment("Precio por encima del indicador"); else Comment("Precio por debajo del indicador");
Si se compara la diferencia de estos valores, no es necesario normalizarlos para una comparación adecuada
particularmente a su pregunta - un cruce de la línea del indicador por el precio es ese momento cuando la diferencia Ask- -iCustom() estaba por debajo de cero durante el cálculo anterior y luego se puso más alto, o viceversa
La forma de calcular este momento es asunto suyo: puede ser en la barra anterior, o en cada tic, pero tales combinaciones:
Se adentrará en el laberinto de las matemáticas discretas más rápido de lo que puede obtener el resultado que desea: la expresión entre corchetes será 0 o 1, lo que corresponde a la representación numérica de falso y verdadero
и я потом смогу intersectionY использовать только тогда когда оно TRUE, если FALSE, то такой код (intersectionY > Ask) не сработает, правильно я понимаю!?
Ya veo.
Por cierto, ¿hay un temporizador en MQL4 o sólo en MQL5?
Probablemente sólo estas funciones:
https://www.mql5.com/ru/search?utm_campaign=MQL4.community
https://www.mql5.com/ru/search?utm_campaign=MQL4.communityPregunta para los aksakales
El probador ha dejado de funcionar repentinamente, sin rascar ningún dato histórico.
¿Qué debo hacer con él?
para su información: el archivo de citas fue descargado
Me ayudó a reiniciar el terminal y eliminar las citas descargadas de antemano en la carpeta: C:\N-Archivos de Programa\N-MetaTrader - Alpari\history\N-Alpari-Micro2
luego volvió a descargar el archivo de citas
¿Puede decirme la función que calcula el volumen máximo posible de apertura de pedidos?
La función que aparece a continuación tiene todos los datos necesarios para calcular los parámetros que necesitas. Soy tan perezoso que ni siquiera puedo golpear las teclas...
Puedes encontrar lo que necesitas y modificarlo tú mismo... El código en sí es tan sencillo y accesible que nadie tendrá problemas para rehacerlo...
Una pregunta...
¿Por qué necesitas un comercio como el de Hitler al final de la guerra... Reclutó a niños en las Juventudes Hitlerianas, por así decirlo, la carne por un tiro del cartucho de Fausto...
No suena ninguna campana?????
En mi opinión, por supuesto...
Déjame darte una vara... :)
La función siguiente tiene todos los datos para calcular los parámetros que necesitas. Soy tan vago que ni siquiera puedo golpear las teclas...
Puedes encontrar lo que necesitas y modificarlo tú mismo... El código en sí es tan sencillo y accesible que nadie tendrá problemas para rehacerlo...
Una pregunta...
¿Por qué necesita un comercio como el de Hitler al final de la guerra... Reclutó a niños en las Juventudes Hitlerianas, por así decirlo, la carne por un disparo del cartucho de Fausto...
No suena ninguna campana?????
En mi opinión, por supuesto...
Gracias.
No se va a abrir con el volumen máximo, sólo hay que calcularlo en función del tamaño del Depósito, para posteriores operaciones matemáticas =))
Gracias.
No voy a abrir con el volumen máximo, sólo necesito calcularlo en base al tamaño del Depo para posteriores operaciones matemáticas =))
para comprar:
NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(Symbol(),OP_BUY,lot),2)
Para vender:
NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(Symbol(),OP_SELL,lot),2);
lote - la variable que contiene el volumen de la orden
el resultado del cálculo debe comprobarse si es >0
https://www.mql5.com/ru/search
para comprar:
NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(Symbol(),OP_BUY,lot),2);
Para vender:
NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(Symbol(),OP_SELL,lot),2);
lote - variable con el volumen del pedido
https://www.mql5.com/ru/search
... Bueno, Igor, estás apurado... :)
Antes de que tuviera tiempo de poner los dedos en el teclado, ya me habías respondido... :)
¡Hola!
Puedes sugerir un código o una rama sobre cómo memorizar los cruces de líneas indicadoras con el precio. lo he visto en algún sitio, pero no lo encuentro. Lo vi en algún sitio pero no lo encuentro.
No sé si me interesa, pero me interesa más algo así:
¡Hola!
Puedes sugerir un código o una rama sobre cómo memorizar los cruces de líneas indicadoras con el precio. lo he visto en algún sitio, pero no lo encuentro. Lo vi en algún sitio pero no lo encuentro.
Quiero saber si la línea indicadora ha cruzado el precio, pero me interesa más esto:
cualquier cruce se considera mejor como una diferencia entre el precio (Ask/Bid) y la línea del indicador, es decir
if (Ask-iCustom ("EURUSD", Period_H1, "Indicator",0,0) > 0) Comment("Precio por encima del indicador"); else Comment("Precio por debajo del indicador");
Si se compara la diferencia de estos valores, no es necesario normalizarlos para una comparación adecuada
particularmente a su pregunta - un cruce de la línea del indicador por el precio es ese momento cuando la diferencia Ask- -iCustom() estaba por debajo de cero durante el cálculo anterior y luego se puso más alto, o viceversa
La forma de calcular este momento es asunto suyo - tal vez en la barra anterior, o en cada tick, pero tales combinaciones:
Se adentrará en el laberinto de las matemáticas discretas más rápido de lo que puede obtener el resultado que desea: la expresión entre corchetes será 0 o 1, lo que corresponde a la representación numérica de falso y verdaderocualquier cruce se considera óptimamente como la diferencia del precio (Ask/Bid) y la línea del indicador, es decir
if (Ask-iCustom ("EURUSD", Period_H1, "Indicator",0,0) > 0) Comment("Precio por encima del indicador"); else Comment("Precio por debajo del indicador");
Si se compara la diferencia de estos valores, no es necesario normalizarlos para una comparación adecuada
particularmente a su pregunta - un cruce de la línea del indicador por el precio es ese momento cuando la diferencia Ask- -iCustom() estaba por debajo de cero durante el cálculo anterior y luego se puso más alto, o viceversa
La forma de calcular este momento es asunto suyo: puede ser en la barra anterior, o en cada tic, pero tales combinaciones:
Se adentrará en el laberinto de las matemáticas discretas más rápido de lo que puede obtener el resultado que desea: la expresión entre corchetes será 0 o 1, lo que corresponde a la representación numérica de falso y verdaderoEs decir, si entiendo bien, puedo hacer esto: