Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1375

 
int symbols=0;

e non c'è bisogno di una virgola dopo Manual

 

Buon pomeriggio.

Quando lo script viene eseguito, scrive suFILE_BIN. Durante il debug, voglio controllare cosa vi viene scritto.

Che programma posso usare per aprire un tale file?

 
sable57fx #:

Quale software può essere usato per aprire un tale file?

Fate uno script che legga questo file e scriva nei log del terminale
 
Aleksei Stepanenko #:
Fate uno script che legga questo file e scriva nei log del terminale
Questo sarà certamente fatto, ma lo scopo è quello di verificare visivamente che la registrazione sia corretta.
 
sable57fx #:

Uno script separato vi aiuterà a vedere cosa c'è nel cestino. Seconda opzione: scrivere un file csv in parallelo, specialmente per la visualizzazione.

 
sable57fx #:

Buon pomeriggio.

Quando lo script viene eseguito, scrive suFILE_BIN. Durante il debug, voglio controllare cosa vi viene scritto.

Che programma posso usare per aprire un tale file?

Prima di scrivere sul file, mettete ciò che volete scrivere in una variabile e mettetela nell'osservazione. L'esecuzione passo dopo passo vi permetterà di vedere cosa sarà scritto...

 
Grazie, lo farò.
 
Aleksei Stepanenko #:

e non c'è bisogno di una virgola dopo Manual

Grazie

 

Cavolo, non riesco a capirlo.


In generale, il mio compito è il seguente.

Calcola il prezzo (H+L)/2 con le condizioni che l'array dei prezzi cresca in base all'apparizione di nuove barre

- Considerando che il grafico è limitato a 3000 barre

   int start= this.m_rt - this.m_pc;//this.m_rt;
   datetime arr_time[];
   double arr_high[],arr_low[];
//--- устанавливает новый размер в первом измерении массива
   ArrayResize(this.m_pr_hl2,this.m_rt);
   ArrayResize(this.m_tim_pr_hl2,this.m_rt);
   ArrayResize(this.m_high,this.m_rt);
   ArrayResize(this.m_low,this.m_rt);
//--- функция получает в массив
   CopyTime(this.m_symbol, this.m_timeframe, this.m_rt-start, start, arr_time);
   CopyHigh(this.m_symbol, this.m_timeframe, this.m_rt-start, start, arr_high);
   CopyLow(this.m_symbol, this.m_timeframe, this.m_rt-start, start, arr_low);
//--- цена для расчета средних
// start= start>ArraySize(arr_high) ? ArraySize(arr_high) : start;
   for(int b= this.m_rt-start; b < this.m_rt; b++)
      this.m_pr_hl2[b]= (arr_high[b] + arr_low[b]) / 2;
//--- производит копирование одного массива в другой.
   ArrayCopy(this.m_tim_pr_hl2, arr_time, this.m_rt-start, this.m_rt-start);
   ArrayCopy(this.m_high, arr_high, this.m_rt-start, this.m_rt-start);
   ArrayCopy(this.m_low, arr_low, this.m_rt-start, this.m_rt-start);

Quattro giorni di spinning e non funziona!!! AIUTO

 
Mikhail Toptunov #:

Cavolo, non riesco a capirlo.


In generale, il mio compito è il seguente.

Calcola il prezzo (H+L)/2 con le condizioni che l'array dei prezzi cresca in base all'apparizione di nuove barre

- Considerando che il grafico è limitato a 3000 barre

Quattro giorni di spinning e non funziona!!! AIUTO

Sembra che SBI riesca a farlo.

void CNewBar::PriceHL2()
  {
   int start= this.m_rt - this.m_pc;//this.m_rt;
   datetime arr_time[];
   double arr_high[],arr_low[];
//--- устанавливает новый размер в первом измерении массива
   ArrayResize(this.m_pr_hl2,this.m_rt);
   ArrayResize(this.m_tim_pr_hl2,this.m_rt);
   ArrayResize(this.m_high,this.m_rt);
   ArrayResize(this.m_low,this.m_rt);
//--- флаг элементов массива будет производиться как в таймсериях.
   ArraySetAsSeries(arr_time,true);
   ArraySetAsSeries(arr_high,true);
   ArraySetAsSeries(arr_low,true);
//--- функция получает в массив
   CopyTime(this.m_symbol, this.m_timeframe, 0, start, arr_time);
   CopyHigh(this.m_symbol, this.m_timeframe, 0, start, arr_high);
   CopyLow(this.m_symbol, this.m_timeframe, 0, start, arr_low);
//--- цена для расчета средних
   for(int b= 1; b < start; b++)
      this.m_pr_hl2[this.m_rt-b]= (arr_high[b] + arr_low[b]) / 2;
//--- производит копирование одного массива в другой.
   ArrayCopy(this.m_tim_pr_hl2, arr_time, this.m_rt-start, 0, start);
   ArrayCopy(this.m_high, arr_high, this.m_rt-start, 0, start);
   ArrayCopy(this.m_low, arr_low, this.m_rt-start, 0, start);
  }