Tarea técnica
Caro desenvolvedor, eu estou elaborando um gerenciamento de risco e estou travado em alguns pontos nesse gerenciamento, gostaria de um suporte de um colega programador para me ajudar a desenvolver com a formula que gostaria a logica é a seguinte double MM_Size() // martingale / anti-martingale
{
double SL;
// Assumindo que a lógica para determinar StopSell e StopBuy já foi definida em algum lugar
if (ORDER_TYPE_BUY) {
SL = ATR2[Shiftatrbuystop] * StopBuy; // Stop Loss = Average True Range * fixed value
} else {
SL = ATR4[ShfitStopatrSell] * StopSell; // Stop Loss = Average True Range * fixed value
}
double tickvalue = SymbolInfoDouble(Symbol(), SYMBOL_TRADE_TICK_VALUE);
double ticksize = SymbolInfoDouble(Symbol(), SYMBOL_TRADE_TICK_SIZE);
double lots = MM_Percent * 1.0 / 100 * AccountInfoDouble(ACCOUNT_BALANCE) / (SL / ticksize * tickvalue);
double MaxLot = SymbolInfoDouble(Symbol(), SYMBOL_VOLUME_MAX);
double MinLot = SymbolInfoDouble(Symbol(), SYMBOL_VOLUME_MIN);
ulong ticket = 0;
if ( ORDER_TYPE_BUY) {
ticket = LastBuyOrderTicket();
} else {
ticket = LastSellOrderTicket();
}
if (ticket > 0) {
double lastDealVolume = HistoryDealGetDouble(ticket, DEAL_VOLUME);
double lastDealProfit = HistoryDealGetDouble(ticket, DEAL_PROFIT);
if (lastDealProfit > 0 && !MM_Martingale_RestartProfit) {
lots = lastDealVolume * MM_Martingale_ProfitFactor;
} else if (lastDealProfit < 0 && !MM_Martingale_RestartLoss) {
lots = lastDealVolume * MM_Martingale_LossFactor;
} else if (lastDealProfit == 0) {
lots = lastDealVolume;
}
} else
if(ConsecutivePL(false, MM_Martingale_RestartLosses))
lots = MM_Percent * 1.0 / 100 * AccountInfoDouble(ACCOUNT_BALANCE) / (SL / ticksize * tickvalue);
if(ConsecutivePL(true, MM_Martingale_RestartProfits))
lots = MM_Percent * 1.0 / 100 * AccountInfoDouble(ACCOUNT_BALANCE) / (SL / ticksize * tickvalue);
if(lots > MaxLot) lots = MaxLot;
if(lots < MinLot) lots = MinLot;
return(lots);
} //Quero que ela aplique os stops de maneira correta pois me parece que nao esta sendo calculado corretamente por ter 2 tipos de stops, quero que o martingale seja aplicado somente no tipo de ordem ou seja Buy aplica martingale somente Buy, Sell somente Sell... Reiniciar o loop somente se o profit Atual bateu todas as sequencias de loss de determinado Tipo de ordem
Han respondido
1
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
2
Evaluación
Proyectos
47
9%
Arbitraje
0
Caducado
0
Libre
3
Evaluación
Proyectos
17
59%
Arbitraje
2
0%
/
100%
Caducado
2
12%
Libre
4
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
Solicitudes similares
Robô XAUUSD - somente especialista.
500 - 1000 USD
Gostaria de selecionar um profissional experiente em negociação XAUUSD, para tratamento de uma estratégia de swing trade. Se você opera esse símbolo, com consistência ou semi consistência, provavelmente será selecionado. Os termos serão apresentados no chat
Crie meu robô e receba 30% dos meus lucros por 1 ano!
50 - 1000 USD
Tenho um estratégia que analisa 3 tempos gráficos procurando por confluência de preço, no estocastico e no RSI, tbm utilizo 3 médias entre exponencial e simples, essa estratégia vem trazendo resultados o problema é minha falta de disciplina, por isso quero automatizar! Proponho além de um pagamento de até 50 dólares no ato, 30% dos lucros por 1 ano!! Se topo me chama
quero um EA que quando o Double Exponencial Moving Average cruzar o Adaptative moving Average faz se uma operação e se enserra uma operação quando cruza de novo ai se faz uma troca de mão com traling stop obs :o robo tem que ser programada para poder ser usado em tanto nas corretoras forex quanto na corretora DERIV
Engenharia Reversa de Robo
30 - 1000 USD
Preciso entender o porque meu EA parou de funcionar, talvez possa ter expirado, porém no momento estou sem o código-fonte para desbloquear o acesso. Portanto, preciso de um profissional que possa fazer engenharia reversa ou encontrar uma maneira de abrir este EA e fazê-lo funcionar normalmente
NYR Nasdaq Expert São dois EAs, eles são clones, o que muda é onde um faz compra, o outro faz venda, e vice-versa. Só isso. Na verdade, o programador poderá criar apenas um EA e colocar um selecionador no início que permite mudar do 1 para o 2, desde que funcione adequadamente do jeito que eu preciso. Assim, antes de todas as demais opções, colocar "Tipo de entrada" e dentro dele as opções: "A favor do rompimento" e
Información sobre el proyecto
Presupuesto
33+ USD
Para el ejecutor
29.7
USD