função de cálculo automático de tamanho de lote? - página 6

 
1005phillip:

O prazer é meu! E obrigado por me informar que está trabalhando para você, agradeço o feedback. Não tenho certeza do que correu mal com o código anterior. Pode muito bem ter sido um erro de algum tipo que eu corrigi sem querer entre as revisões.

Provavelmente terei uma versão atualizada dentro de uma semana ou duas que terá alguns recursos de retorno para uso com testes de retorno no MT4 em pares de moedas cruzadas. Agora mesmo, se você tentar fazer um backtest em pares cruzados enquanto usa meu código de tamanho de lote, seu backtest vai bombardear porque o backtester não pode acessar os preços de mercado para os pares de contador e base necessários. (isto não é um problema em testes ao vivo ou em teste avançado, puramente uma limitação do MT4 para o backtester)

Eu afixarei o código quando eu cruzar aquela ponte por acaso você ou outros acharem útil.

Tenha um bom fim de semana,
- Phil

Olá 1005phillip:

Tenho lido esta linha. Estou interessado em testar / usar seu código, se ele ainda estiver disponível.

Os arquivos mais atuais estão na página 1, ou você os oferece em particular?


Cumprimentos,

spgandau

 

... e a multidão se aglomerava ruidosamente: (LOL string) "Phillip, Phillip, Phillip!" (LOL string END)

Jussst para dizer um GRANDE OBRIGADO, Phillip (, Phillip, Phillip!).

Não posso dizer que o código funciona para mim, recebi o mesmo erro "Erro ocorrido ao identificar SymbolType(), erro calculado SymbolType() = 6" como as pessoas antes de mim, ao fazer o backtesting. Acho que terei que encaminhar o teste.

Já enviei ao Papai Noel uma grande carta para o presente de Natal 2013:

"Querido Papai Noel!

Já lavei atrás das orelhas 4 vezes este ano. Então, desde que eu tenho sido extremamente bom menino, eu gostaria de ter um cérebro como Phillip, o mais generoso codificador mql4 deste planeta. Por favor, querido Papai Noel, inclua suas capacidades de codificação mql4!

Obrigado, Phillip, desculpe, Papai Noel".

Com os melhores cumprimentos,

Divirta-se,


Simon

 
1005phillip:

Fico feliz em ouvir isso, Shawn!

Estou continuamente mexendo nos códigos, se você quiser uma versão mais recente (não há bugs nos que você tem) eu ficaria mais do que feliz em compartilhá-la.

As mudanças se concentram principalmente em facilitar a integração e o uso do arquivo com seu EA existente. Uma vez que você já conseguiu implementar o outro, isso pode não fazer nenhuma diferença para você agora.

bom dia

preciso de ajuda para codificar uma ea. ou pelo menos obter o mq para este indicador em particular

Arquivos anexados:
 
saintrose:

bom dia

preciso de ajuda para codificar uma ea. ou pelo menos obter o mq para este indicador em particular

Pergunte ao seu vizinho ou venha aqui: Ajuda na codificação MT4 & MT5 para pessoas que não podem ser incomodadas a aprender
 
Shawn:

Olá a todos, de volta para incomodá-los. :-) Alguém teria uma pequena função MQL4 que calcula automaticamente o tamanho do lote (para qualquer símbolo) com base na % de risco do meu patrimônio líquido disponível, e meu tamanho de perda desejado em pips?


Obrigado!

Shawn

//+------------------------------------------------------------------+

//| Análise de informações de mercado |

//+------------------------------------------------------------------+

bool GetMarketInfo()

{

minSLTPdstnc = MarketInfo(Symbol(), MODE_STOPLEVEL);

if (Risk_Percentage>100 || Risk_Percentage<0 ) Risk_Percentage=10;

Margin_Required=MarketInfo(Symbol(), MODE_MARGINREQUIRED);

lotmin=MarketInfo(Symbol(), MODE_MINLOT);

lotmax=MarketInfo(Symbol(), MODE_MAXLOT);

Lot_Step=MarketInfo(Symbol(), MODE_LOTSTEP);

Lot_Size=MarketInfo(Symbol(), MODE_LOTSIZE);

Tick_Value=MarketInfo(Symbol(), MODE_TICKVALUE);

Spread=MarketInfo(Symbol(), MODE_SPREAD);

return(true);

}


//+------------------------------------------------------------------+

//| Lote de Pedidos de Medidas |

//+------------------------------------------------------------------+

Double CheckLots (int risk_percent, double sl_size, double Static_Lot) {

se (risco_porcentagem<=0) retorno (Static_Lot);

lotes duplos=0;

lotes=NormalizarDuplo( (AccountBalance()*Risk_Percentage/100) / (Tick_Value*sl_size), 2 );

if (lotes*Margin_Required>AccountFreeMargin()) {

erro("Não há dinheiro suficiente para levar " + DoubleToStr(lotes,2) +" lotes");

lots=AccountFreeMargin()/Margin_Required;

}

lots=MathFloor(lots/Lot_Step + 0,5)* Lot_Step;

se ( lotes < lotmin ) lotes=lotmin;

se ( lotes > lotmax ) lotes=lotmax;

se ( lotes > LoteMáximo) lotes = LoteMáximo;

retorno(lotes);

}

 

Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste

Regras gerais e melhores práticas do Fórum.

Quando você postar o código, use o botão SRC !


Olá,

Por favor, EDITAR sua postagem e usar o botão CODE quando você postar o código.

Botão de código no editor

Obrigado.

 
William Roeder:

Olá, é possível contar os lotes com base nas últimas perdas em dinheiro para cobrir as perdas não contadas por causa do deslizamento ou do preço de abertura