Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
MQL4:
MODE_LOTSTEP
24
Passo para mudar de lote
MQL5:
PASSO_DE_SÍMBOLO_VOLUME_STEP
Etapa mínima de mudança de volume para a execução do negócio
duplo
Assim, ele o informa sobre o menor passo para cima ou para baixo em lotes se for 0,01, então seus lotes têm que concordar com 0,01, 0,02, 0,03, 0,04, etc.
Se for 0,1, então sua mudança no tamanho do lote terá que atender a 0,1 próximo 0,2 próximo 0,3 etc.
Portanto, eu não entendo o seu:
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
Talvez você queira dizer uma etapa de lote diferente ?
Normalmente você não mudaria o valor porque ele é fixo para cada símbolo.
if(sparam==lotbuttonplus)
{
if(lotsize>=(lotstep*100))
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
As coisas podem ficar confusas se você mudar o valor de uma variável de nome intuitivo. Eu sugeriria que o passo de lote é sempre passo de lote, nada mais.
Que tal algo como isto?
lotmaxdivide=lotmax/lotmax *(lotvalue*10);
lotsize=fmin(lotmaxdivide,lotsize+(( ctrlfalse) ? increment*10 : increment));
Marco vd Heijden:
Portanto, não entendo o seu:
{
lotstep=lotstep*100;
Print("lot step: ",lotstep);
}
Talvez você queira dizer um passo de lote diferente?
Normalmente você não mudaria o valor porque ele é fixo para cada símbolo.
Sim! Quero dizer passo de lote diferente, então quando o tamanho do lote atingiu o tamanho de 1,00 para EURUSD. Então eu preciso aumentar o tamanho do lote em 1,00. Antes do tamanho do lote chegar a 1,00 - aumento do tamanho do lote 0,01, 0,02 etc. ( qual eu quero ) - mas depois que o tamanho do lote chegou a 1,00 - então o tamanho do lote aumenta 1,00, 2,00, 3,00, etc.
Isso é o que eu quero fazer neste subtópico.
Muito mais obrigado.
As coisas podem ficar confusas se você mudar o valor de uma variável de nome intuitivo. Eu sugeriria que o passo de lote é sempre passo de lote, nada mais.
Que tal algo como isto?
lotmaxdivide=lotmax/lotmax *(lotvalue*10);
lotsize=fmin(lotmaxdivide,lotsize+(( ctrlfalse) ? increment*10 : increment));
( Eu apenas pouco mudei não - ... ? passo de lote : passo de lote*100 - ...? passo de lote : passo de lote*10 )
Sim! Em meu código original, as coisas confundem.
Depois de sua grande ajuda, resolvo meu problema. Muito obrigado.
Também desejo que o tamanho do lote aumente desta forma.
Assim, o tamanho do lote aumenta assim 0,99, 1,00, 1,01, 1,11.
Mas eu preciso assim 0,99, 1,00, 1,10, 1,20, etc.
Obrigado de antemão.
Penso que 0,99, 1,00, 1,01, 1,02. seria a melhor idéia.
Cingir-se ao menor passo disponível, suponho.
Por que você quer dar estes passos ULTRA LARGOSOS?
Você já tentou?
Por favor, experimente.Acho que 0,99, 1,00, 1,01, 1,02. seria a melhor idéia.
Por favor, experimente.Fique com o menor passo disponível, acho eu.
Por que você quer dar estes passos ULTRA LARGOSOS?
Você já tentou?
Já tentei, pensei que se eu precisar chegar ao tamanho de lote 5,00 eu deveria clicar 40 vezes no botão lote mais ( + ctrl ).
Uau e por que cinco ?
Você pode simplesmente usar + e - em vez de *
Mas há uma linha em meu robô que o salva da destruição total e é esta:
Mas há uma linha em meu robô que o salva da destruição total e é esta:
Isso é absolutamente verdade, também é claro que respeito esse cenário.
Mas isto é apenas um problema - posso ajustá-lo a qualquer momento.
Talvez eu precise de um pouco de experiência sobre esse tamanho de lote.
Acho que este subtópico poderia fechar por enquanto.
Obrigado @Marco vd Heijden e @honest_knave
#Etapa Lote - Fechado
#Tamanho máximo de lote - Aberto
@Marco vd Heijden- muito mais obrigado por seu último comentário, que me inspirou a escrever esta parte do código para as minhas EA's. ( Eu apenas parei para escrever outras funções - que eu tento escrever esta antes das outras )
Assim, como geralmente tento testar algo para o tamanho máximo do lote.
Quando o tamanho do lote é melhor que o tamanho máximo do lote, a função de impressão não me deixa falar sobre o modo de troca.
Depois de resolver este problema, preciso colocar esta função Funções de botão Vender e Comprar.
P: Como posso fazer a função de impressão também não me deixa falar sobre o modo de troca? ( - tamanho de lote melhor que o tamanho de lote máximo ou menos que ele )
P: Este método é útil para o tamanho máximo do lote?
Obrigado de antemão.
{
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);
}
Não que seja para verificar se é uma conta demo ou uma conta ativa, a competição raramente é utilizada.
O lote máximo pode ser muito fácil.
// calculate lotsize here
//---
// check if lotsize is not too high
if(lotsize>lotsize_max)
{
lotsize=losize_max;
}