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
MQL4:
MODE_LOTSTEP
24
Paso para el cambio de lotes
MQL5:
SYMBOL_VOLUME_STEP
Paso de cambio de volumenmínimo para la ejecución de la operación
doble
Así que le informa sobre el menor paso hacia arriba o hacia abajo en el tamaño de los lotes si es 0,01 entonces sus lotes tienen que coincidir con 0,01, 0,02, 0,03, 0,04 etc.
Si es 0.1 entonces su cambio en el tamaño de los lotes tendría que coincidir con 0.1, luego 0.2, luego 0.3, etc.
Así que no entiendo su:
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
¿Tal vez te refieres a un paso de lote diferente?
Normalmente no se cambiaría el valor porque es fijo para cada símbolo.
if(sparam==lotbuttonplus)
{
if(lotsize>=(lotstep*100))
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
Las cosas pueden ser confusas si se cambia el valor de una variable con nombre intuitivo. Yo sugeriría que lotstep sea siempre lotstep, nada más.
¿Qué tal algo así?
lotmaxdivide=lotmax/lotmax *(lotvalue*10);
lotsize=fmin(lotmaxdivide,lotsize+(( ctrlfalse) ? increment*10 : increment));
Marco vd Heijden:
Así que no entiendo su:
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
¿Quizás te refieres a un paso de lote diferente?
Normalmente no se cambia el valor porque es fijo para cada símbolo.
Sí. Me refiero a un paso de lote diferente, así que cuando el tamaño del lote alcanzó el tamaño del lote 1.00 para EURUSD. Entonces necesito aumentar el tamaño del lote en 1.00. Antes de que el tamaño del lote llegue a 1.00 - el tamaño del lote aumenta 0.01, 0.02 etc. ( que quiero ) - pero después de que el tamaño del lote alcance 1.00 - entonces el tamaño del lote aumenta 1.00, 2.00, 3.00, etc.
Eso es lo que quiero hacer en este subtema.
Gracias mucho más.
Las cosas pueden ser confusas si cambias el valor de una variable de nombre intuitivo. Yo sugeriría que lotstep sea siempre lotstep, nada más.
¿Qué tal algo así?
lotmaxdivide=lotmax/lotmax *(lotvalue*10);
lotsize=fmin(lotmaxdivide,lotsize+(( ctrlfalse) ? increment*10 : increment));
( Yo sólo poco cambiado no - ... ? lotstep : lotstep*100 - ...? lotstep : lotstep*10 )
Sí. En mi código original las cosas se confunden.
Después de su gran ayuda, resuelvo mi problema. Muchas gracias.
También me gustaría que el tamaño del lote aumentara así.
Así que el tamaño del lote aumenta así 0.99, 1.00, 1. 01, 1.11.
Pero necesito así 0.99, 1.00, 1.10, 1.20 etc.
Gracias de antemano.
Creo que 0,99, 1,00, 1,01, 1,02. sería la mejor idea.
Se adhieren al paso más pequeño disponible, supongo.
¿Por qué quieres tomar estos pasos ULTRA GRANDES?
¿Lo has probado?
Por favor, inténtalo.Creo que 0,99, 1,00, 1,01, 1,02. sería la mejor idea.
Por favor, inténtalo.Se adhieren al paso más pequeño disponible supongo.
¿Por qué quieres tomar estos pasos ULTRA GRANDES?
¿Lo has probado?
Ya lo he probado, creo que si necesito alcanzar el tamaño de lote 5.00 debería 40 veces hacer clic en el botón de lote más ( + ctrl ).
Vaya, ¿y por qué cinco?
Puedes usar + y - en lugar de *
Pero hay una línea en mi robot que lo salva de la destrucción total y es esta:
Pero hay una línea en mi robot que lo salva de la destrucción total y es esta:
Eso es absolutamente cierto, también por supuesto que respeto esa configuración.
Pero esto es sólo una cuestión - Quiero decir que puedo ajustar en cualquier momento.
Tal vez necesito un poco de experiencia sobre ese tamaño de lote.
Creo que este subtema podría cerrarse por ahora.
Gracias @Marco vd Heijden y @honest_knave
#Paso de lote - Cerrado
#Lot Size Max - Open
@Marco vd Heijden- muchas gracias más por su último comentario, que es me inspiró a escribir esta parte del código para mi EA. ( Acabo de dejar de escribir otras funciones - que trato de escribir este antes que otros )
Así que, como por lo general trato de probar algo para el tamaño del lote máximo.
Cuando el tamaño del lote es mejor que el tamaño del lote máximo, la función de impresión no me deja sobre el modo de comercio.
Después de resolver este problema, necesito poner esta función de botón de venta y compra.
P:¿Cómo puedo hacer que la función de impresión me permita conocer el modo de operación? ( - tamaño del lote mejor que el tamaño del lote máximo o menos que él )
P:¿Es este método útil para el tamaño de lote máximo?
Gracias de antemano.
{
string trademode;
ENUM_ACCOUNT_TRADE_MODE accounttype=(ENUM_ACCOUNT_TRADE_MODE) AccountInfoInteger(ACCOUNT_TRADE_MODE);
if(accounttype==ACCOUNT_TRADE_MODE_DEMO)
{
switch(accounttype)
{
case ACCOUNT_TRADE_MODE_DEMO:
if( lotsize > ( lotstep * lotsizemax ) ) return;
trademode="demo";
break;
case ACCOUNT_TRADE_MODE_CONTEST:
trademode="contest";
break;
default:
trademode="live";
break;
}
}
Print("Trade Mode: ",trademode);
}
No hay eso para verificar si es una cuenta demo o una cuenta real, el concurso se utiliza raramente.
Lote máximo puede ser muy fácil.
// calculate lotsize here
//---
// check if lotsize is not too high
if(lotsize>lotsize_max)
{
lotsize=losize_max;
}