sergiomt:
O que eu poderia acrescentar para que o aumento de +1 no InpLots só aconteça a cada X StopLoss consecutivo ? ...por exemplo, com X=5 o lote 2 só passaria para 3 no quinto SL consecutivo.
É só criar uma variável estática para contar a quantidade de stop-loss que já ocorreram e aumentar InpLots somente quando o valor do contador for um múltiplo exato de X.
Ou seja, em lugar de
else if(deal_reason==DEAL_REASON_SL) InpLots+=1.0;
use
else if(deal_reason==DEAL_REASON_SL) { static int stoploss_count = 0; if ( (stoploss_count++) % X == 0 ) InpLots+=1.0; }
Genial Patinhas,
Grato D+

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
HELP,
Em TradeTransaction Function tenho este trecho do código em que ocorre aumento de 1 mini-contrato (passo mínimo do WIN ou WDO na B3) toda vez que fecha por StopLoss (SL)
Em Input Parâmetros eu deixei o InpLots sem a opção de input, ou seja, seu valor fica inacessível e assim permite modificação (ainda não quis associá-lo a um ExtLots. Estou só testando)
O problema é que: Meu SL é bem curto, e rapidamente está chegando a um volume muito alto, e eu não quero aumentar o SL
O que eu poderia acrescentar para que o aumento de +1 no InpLots só aconteça a cada X StopLoss consecutivo ? ...por exemplo, com X=5 o lote 2 só passaria para 3 no quinto SL consecutivo.
if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
if(deal_entry==DEAL_ENTRY_OUT)
{
if(deal_reason==DEAL_REASON_TP)
InpLots+=0.0;
else if(deal_reason==DEAL_REASON_SL)
InpLots+=1.0;
}
GRATO