Şartname
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
Yanıtlandı
1
Derecelendirme
Projeler
0
0%
Arabuluculuk
1
0%
/
100%
Süresi dolmuş
0
Serbest
2
Derecelendirme
Projeler
51
8%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
3
Derecelendirme
Projeler
17
59%
Arabuluculuk
2
0%
/
100%
Süresi dolmuş
2
12%
Serbest
4
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
Benzer siparişler
Hello, I need an Expert Advisor (EA) developed for MetaTrader 5, specifically tailored for the EUR/USD currency pair on the 5-minute (M5) timeframe. The robot should execute trades based on Price Action or Technical Analysis (such as Support/Resistance Breakouts or Moving Average Crossovers - I am open to the programmer's suggestions for proven, consolidated strategies). Mandatory Risk Management Requirements
Robo para metatrader 5 com viradas de mão
30 - 200 USD
Preciso desenvolver um Expert Advisor (EA) para MetaTrader 5. A estratégia já está totalmente definida, com regras objetivas de entrada, saída, gerenciamento de risco e martingale. Procuro um desenvolvedor experiente em MQL5 que entregue o código-fonte (.mq5) e ofereça suporte para ajustes após os testes
PRECISO DE PROGRAMADOS BRABOS
30 - 75 USD
TENHO UM INDICADOR E EU QUERO QUE TRANSFORME ELE EM ROBÔ OU O ROBÔ FAÇA ENTRADAS COM ELE USANDO OS SINAIS DO INDICADOR. MEU NÚMERO 21969476161 SÓ CHAMAR QUE FALO DETALHADAMENTE
Preciso de uma ia baseado nisso
30 - 50 USD
quero que verifique onde o ativo teve o menor valor de mercado, depois cada vez que o ativo estiver com o menor valor de mercado quero que você faça a compra de 0.3 do ativo EURUSD e faça a venda quando atinger o maior valor com base nos ultimos 366 dias
Proje bilgisi
Bütçe
33+ USD