Erros, bugs, perguntas - página 1898

 
fxsaber:

A selecção do lote desta EA é afectada por qualquer negociação de terceiros (incluindo outras instâncias) sobre o símbolo original.

Nesta peça, isto acontece

Esqueci-me de anexar o ficheiro, agora adicionado em . Aí

double TradeSizeOptimized(void)
  {
   double price=0.0;
   double margin=0.0;
//--- select lot size
   if(!SymbolInfoDouble(_Symbol,SYMBOL_ASK,price))
      return(0.0);
   if(!OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,1.0,price,margin))
      return(0.0);
   if(margin<=0.0)
      return(0.0);

   double lot=NormalizeDouble(AccountInfoDouble(ACCOUNT_MARGIN_FREE)*MaximumRisk/margin,2);
//--- calculate number of losses orders without a break
   if(DecreaseFactor>0)
     {
      //--- select history for access
      HistorySelect(0,TimeCurrent());
      //---
      int    orders=HistoryDealsTotal();  // total history deals
      int    losses=0;                    // number of losses orders without a break

      for(int i=orders-1;i>=0;i--)
        {
         ulong ticket=HistoryDealGetTicket(i);
         if(ticket==0)
           {
            Print("HistoryDealGetTicket failed, no trade history");
            break;
           }
         //--- check symbol
         if(HistoryDealGetString(ticket,DEAL_SYMBOL)!=_Symbol)
            continue;
         //--- check Expert Magic number
         if(HistoryDealGetInteger(ticket,DEAL_MAGIC)!=MA_MAGIC)
            continue;
         //--- check profit
         double profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
         if(profit>0.0)
            break;
         if(profit<0.0)
            losses++;
        }
      //---
      if(losses>1)
         lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
     }
 
Rashid Umarov:

Esqueci-me de anexar o ficheiro, agora adicionado a . Aí

Sim, era disso que se tratava. Isto é correcto.

É verdade, tê-lo-ia escrito de forma diferente (não compilado).

//--- calculate number of losses orders without a break
   if((DecreaseFactor>0) && HistorySelect(0,TimeCurrent()))
   {
      int    losses=0;                    // number of losses orders without a break

      for(int i=HistoryDealsTotal()-1;i>=0;i--)
      {
         ulong ticket=HistoryDealGetTicket(i);

         if((HistoryDealGetString(ticket,DEAL_SYMBOL)!=_Symbol) &&
            (HistoryDealGetInteger(ticket,DEAL_MAGIC)!=MA_MAGIC))
         {
           double profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
           if(profit>0.0)
              break;
           else if(profit<0.0)
              losses++;
         }
      }
      //---
      if(losses>1)
         lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
   }


Vou aproveitar esta oportunidade para lhe perguntar a si e a outros colaboradores, que assessores MT5 em kodobase existem que usam a história na sua lógica comercial?

 

Cansado do MT5 - desfasamento terrível - apenas 11 janelas abertas - indicadores padrão.

O que fazer - em grandes movimentações apenas pendem....


2017.05.24 18:02:43.549 Broker de Abertura de Terminal x64 build 1596 iniciado
2017.05.24 18:02:43.550 Terminal Windows 7 Ultimate (PC baseado em x64), IE 10.00, AMD Processor Model Unknown, RAM: 9782 / 16357 Mb, HDD: 22385 / 114470 Mb, GMT+03:00

Mais de 100 janelas e 50 tambores abertos em Quicksave - carga de CPU 1-5% lá
 

Modelo de Processador AMD Desconhecido

Ao iniciar o PC e no Windows, a CPU também é detectada?

 
Vladimir Zubov:

Modelo de Processador AMD Desconhecido

Ao iniciar o PC e no Windows, a CPU também é detectada?

Ao iniciar o PC, o processador não é detectado - está apenas na bios, mas não o vou procurar agora.

O Windows assim o diz, como o MT5.

O verdadeiro CPU é AMD Phenom II 960T (overclock 3,5 Mhz) , mas um núcleo é desbloqueado - afinal são cinco no total.

 

O terminal é instalado num disco rígido SSD.

 

Acontece que a utilização pesada da CPU só ocorre numa conta real - alguma ideia?

 

O terminal está morto, não consigo fechar a posição de petróleo e futuros RTS - que confusão!

 
-Aleks-:

O terminal está morto, não consigo fechar a posição de petróleo e futuros RTS - que confusão!


E de um telemóvel?
 
-Aleks-:

O terminal está morto, não consigo fechar a posição de petróleo e futuros RTS - que confusão!

Se for crítico, pode fechar a partir de Quick ou por telefone.

Não vejo isto há muito tempo (incluindo hoje em dia no petróleo), mas já não tenho indicadores nos meus gráficos.