Domande da un "manichino" - pagina 81

 
tol64:

Potete dirmi in quali casi il valore di un tick può essere diverso a seconda che la posizione sia attualmente in profitto o in perdita?

SYMBOL_TRADE_TICK_VALUE_PROFITTO

PERDITA DI VALORE DEL SIMBOLO_TRADE_TICK

Fate una ricerca sul forum. Qualcosa di simile è stato discusso prima.
 

Necessità di ottenere il risultato dell'ultima transazione. Cosa sto facendo di sbagliato? :

   i = HistoryDealsTotal(); 
   
   if (i > 1)  {
   	HistorySelect(0,TimeCurrent());
   	 ticket = HistoryDealGetTicket(i);
   	 profit = HistoryDealGetDouble(ticket,DEAL_PROFIT);
   }
 
infera:

Necessità di ottenere il risultato dell'ultima transazione. Cosa sto facendo di sbagliato? :

Penso che vada così

   HistorySelect(0,TimeCurrent());

   i = HistoryDealsTotal(); 
   
   if (i > 1)  {
        
        ticket = HistoryDealGetTicket(i-1);
        profit = HistoryDealGetDouble(ticket,DEAL_PROFIT);
   }
 
sergey1294:

Penso che vada così

Grazie, funziona.
 

Sto sperimentando l'eliminazione degli handle non necessari. In un semplice esempio senza linee IndicatorRelease(ma_handle); tutto funziona bene, veloce.

Ma quasi blocca il sistema in modalità OHLC.

double ma2[];int ma2_handle;double ma[];int ma_handle;

int OnInit()
 {  
  return(0);
 }

void OnTick() 
{ 
    ma_handle  = iMA(_Symbol,_Period,10, 0,MODE_SMA, PRICE_CLOSE);
    ma2_handle = iMA(_Symbol,_Period,100, 0,MODE_SMA, PRICE_CLOSE);
   IndicatorRelease(ma_handle);
   IndicatorRelease(ma2_handle);
}
 
Karlson:

Sto sperimentando l'eliminazione degli handle non necessari. In un semplice esempio senza linee IndicatorRelease(ma_handle); tutto funziona bene, veloce.

Ma quasi blocca il sistema in modalità OHLC.

Creare e cancellare le maniglie degli indicatori ad ogni tick è sbagliato. È come fermare e avviare la macchina ad ogni semaforo e prima di ogni attraversamento pedonale.
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
  • www.mql5.com
Доступ к таймсериям и индикаторам / IndicatorRelease - Документация по MQL5
 
Rosh:
Creare e cancellare le maniglie degli indicatori ad ogni tick non è corretto. È come fermare e avviare la macchina ad ogni semaforo e prima di ogni attraversamento pedonale.

E voglio essere più specifico sulle maniglie.

Se le maniglie non sono state rimosse durante la deinizializzazione (IndicatorRelease) e il programma è stato cancellato dal grafico allo stesso tempo, le maniglie vengono rimosse automaticamente?

Un'altra cosa. Il riferimento dice che salva la memoria. Di quanto? Se potessi darvi qualche cifra su quante risorse vengono consumate dalle maniglie degli indicatori.

 
tol64:

E voglio chiarire la questione delle maniglie.

Se le maniglie non sono state cancellate (IndicatorRelease) durante la deinizializzazione, ma il programma è stato cancellato dal grafico, le maniglie vengono cancellate automaticamente?

Sì, se il sistema di runtime del terminale rileva una maniglia abbandonata che non è rivendicata da nessuno, sarà cancellata automaticamente. La durata di una tale maniglia non può essere raccontata in questo momento.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
tol64:

Un'altra cosa. Il riferimento dice che salva la memoria. Di quanto? Se potete dare delle cifre, quante risorse vengono consumate dalle maniglie degli indicatori.

Se lo stesso indicatore è richiesto da 10 grafici, allora l'economia è 10 volte. Se è così, calcolate il numero di barre su cui l'indicatore è calcolato e moltiplicate per il numero di buffer dell'indicatore, moltiplicate per la dimensione del doppio e non dimenticate la memoria dei buffer di colore, se ce ne sono.
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
Rosh:
Creare e rimuovere le maniglie degli indicatori ad ogni tick è sbagliato. È come spegnere e accendere la macchina ad ogni semaforo e prima di ogni attraversamento pedonale.

Era un modello. In Expert Advisor la funzione viene eseguita su una nuova barra settimanale, vengono creati nuovi indicatori e la matematica è fatta. Poi deve essere ripulita... Così, quando si attiva la linea IndicatorRelease quasi si blocca... Basta toglierla, e tutto vola nonostante tutta la spazzatura.

double ma[];int ma_handle;datetime time[],lastbar;

int OnInit()
 {  
  return(0);
 }

void OnTick() 
{  
   if(CopyTime(_Symbol,PERIOD_W1,0,1,time)<=0) {Print("Error: ",GetLastError());return;}
   if (lastbar!=time[0]) {Optim();}
}


int Optim()
{
   ma_handle  = iMA(_Symbol,PERIOD_M15,20, 0,MODE_SMA, PRICE_CLOSE);
 ------------------

 ------------------
   IndicatorRelease(ma_handle);

   return (0);
}