Preciso de uma ajuda de outro Programador para meu projeto pessoal Assunto(Money Manager)

명시

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 


응답함

1
개발자 1
등급
프로젝트
0
0%
중재
1
0% / 100%
기한 초과
0
무료
2
개발자 2
등급
(48)
프로젝트
49
8%
중재
0
기한 초과
0
무료
3
개발자 3
등급
(11)
프로젝트
17
59%
중재
2
0% / 100%
기한 초과
2
12%
무료
4
개발자 4
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
비슷한 주문
Tenho um indicador e quero fazer um expert dele para rodar automático porem só tenho o arquivo .ex4 e não .mq4 Indicador mostra setas no grafico no momento ideal para comprar e vender
I need to modify the CURRENCY indicator to allow viewing the same currency on different timeframes simultaneously, overlaid on the same chart. Insert the same currency multiple times into the indicator. Example: USD D1 USD H4 USD H1 USD M30 USD M15 USD M5 Display all these curves on the same chart, each representing the currency's slope on a different timeframe. Customizable settings for each line, including: Color

프로젝트 정보

예산
33+ USD