Especialistas: Hans123_Trader

 

Hans123_Trader:

Ordens pendentes Buy Stop e Sell Stop. Trabalho do EA num período limitado. Determinação dos preços mais altos e mais baixos num determinado intervalo de barras. Posição de trailing.


Autor: Vladimir Karputov

 

Olá. Como limitar o número de ordens pendentes para que o Expert Advisor não as coloque a cada novo candlestick? Tudo o que encontrei foi https://www.mql5.com/pt/articles/22,

//+------------------------------------------------------------------+ //| Retorna o volume máximo permitido para uma ordem por símbolo | //+------------------------------------------------------------------+ double NewOrderAllowedVolume(string symbol) { doubleallowed_volume=0; //--- obtém o limite do volume máximo na ordemdoublesymbol_max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX); //--- obter o limite de volume do símbolodouble max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT); //--- obter o volume da posição aberta por símbolo double opened_volume=PositionVolume(symbol); if(opened_volume>=0) { //--- se já tivermos esgotado o volume if(max_volume-opened_volume<=0) return(0); //--- o volume de uma posição aberta não excede max_volumedouble orders_volume_on_symbol=PendingsVolume(symbol);allowed_volume=max_volume-opened_volume-orders_volume_on_symbol; if(allowed_volume>symbol_max_volume) allowed_volume=symbol_max_volume; } return(allowed_volume); }

Estou aprendendo a programar há apenas duas semanas, meu cérebro foi suficiente para inserir no OnTick f-eye. muitos erros de uma vez só, fiquei perdido.

 
Vityha:

Olá. Como limitar o número de ordens pendentes para que o Expert Advisor não as coloque a cada novo candlestick? Tudo o que encontrei foi https://www.mql5.com/pt/articles/22,

//+------------------------------------------------------------------+ //| Retorna o volume máximo permitido para uma ordem por símbolo | //+------------------------------------------------------------------+ double NewOrderAllowedVolume(string symbol) { doubleallowed_volume=0; //--- obter o limite do volume máximo na ordemdoublesymbol_max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX); //--- obtenha o limite de volume do símbolodouble max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT); //--- obtenha o volume de uma posição aberta por símbolo double opened_volume=PositionVolume(symbol); if(opened_volume>=0) { //--- se já tivermos esgotado o volume if(max_volume-opened_volume<=0) return(0); //--- o volume de uma posição aberta não excede max_volumedouble orders_volume_on_symbol=PendingsVolume(symbol);allowed_volume=max_volume-opened_volume-orders_volume_on_symbol; if(allowed_volume>symbol_max_volume) allowed_volume=symbol_max_volume; } return(allowed_volume); }

Estou aprendendo a programar há apenas duas semanas e meu cérebro foi suficiente para inserir o OnTick f-eye.

Adicionei um novo parâmetro "Número máximo de ordens pendentes" - ou seja, agora na versão dois, se houver um sinal para colocar uma ordem pendente, o número existente de ordens pendentes colocadas por esse Expert Advisor será verificado.

 
Vladimir Karputov:

Acrescentei um novo parâmetro "Maximum number of pending orders" (Número máximo de ordens pendentes) - que agora está na versão dois, se houver um sinal para colocar uma ordem pendente, o número existente de ordens pendentes colocadas por esse EA é verificado.

Onde posso ver a versão 2?

 
Vityha:

Onde posso ver a segunda versão?

Assim que ele publicar imediatamente (e publicar agora há muito tempo - requisitos muito maiores para a descrição, para o design, para .... )