Errori, bug, domande - pagina 1898

 
fxsaber:

La selezione dei lotti di questo EA è influenzata da qualsiasi trading di terzi (comprese altre istanze) sul simbolo originale.

In questo pezzo questo accade

Ho dimenticato di allegare il file, ora aggiunto in . Ci

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:

Ho dimenticato di allegare il file, ora aggiunto a . Ci

Sì, si trattava di questo. Questo è corretto.

Vero, l'avrei scritto diversamente (non compilato).

//--- 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);
   }


Colgo l'occasione per chiedere a te e ad altri collaboratori, quali sono i consulenti MT5 in kodobase che usano la storia nella loro logica di trading?

 

Stanco di MT5 - lag terribilmente - solo 11 finestre aperte - indicatori standard.

Cosa fare - su grandi movimenti solo hangs....


2017.05.24 18:02:43.549 Terminale Apertura Broker x64 build 1596 iniziato
2017.05.24 18:02:43.550 Terminale Windows 7 Ultimate (PC basato su x64), IE 10.00, Processore AMD modello sconosciuto, RAM: 9782 / 16357 Mb, HDD: 22385 / 114470 Mb, GMT+03:00

Più di 100 finestre e 50 tamburi aperti in Quicksave - carico della CPU 1-5% lì
 

Modello di processore AMD sconosciuto

All'avvio del PC e in Windows, viene rilevata anche la CPU?

 
Vladimir Zubov:

Modello di processore AMD sconosciuto

All'avvio del PC e in Windows, viene rilevata anche la CPU?

Quando si avvia il PC il processore non viene rilevato - è solo nel bios, ma non lo cercherò ora.

Windows dice così, come MT5.

La CPU reale è AMD Phenom II 960T (overclocked 3,5 Mhz), ma un core è sbloccato - risulta cinque in totale.

 

Il terminale è installato su un disco rigido SSD.

 

Risulta che il pesante utilizzo della CPU si verifica solo su un account reale - qualche idea?

 

Il terminale è morto, non posso chiudere la posizione del petrolio e dei futures RTS - che casino!

 
-Aleks-:

Il terminale è morto, non posso chiudere la posizione del petrolio e dei futures RTS - che casino!


E da un telefono cellulare?
 
-Aleks-:

Il terminale è morto, non posso chiudere la posizione del petrolio e dei futures RTS - che casino!

Se critico, si può chiudere da Quick o per telefono.

Non lo vedo da molto tempo (compreso oggi sul petrolio), ma non ho più indicatori sui miei grafici.

Motivazione: