Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 8

 
Slawa:

L'informazione su 8 buffer non è aggiornata

Nel nuovo MQL4 si possono impostare fino a 512 buffer.

Per capirlo, vedere il codice sorgente degli indicatori nella cartella MQL4\Indicators\Examples. E leggere la documentazione

Grazie, naturalmente, per il link al libro di riferimento:) Tuttavia, l'ho già consultato. Sfortunatamente, non ho trovato nulla di specifico - cosa fanno questi buffer aggiuntivi, cosa viene visualizzato, cosa no, ecc. - solo funzioni, e non c'è nulla sulla struttura e lo scopo dei nuovi "buffer".

L'uomo sta chiedendo una risposta sul forum, non un link a un libro di riferimento. Forse qualcuno può spiegare in modo più dettagliato? :) O almeno un link a un articolo che lo spieghi?

 
Ilya Melamed:

Grazie, naturalmente, per il link alla guida:) Tuttavia, l'ho già esaminato. Purtroppo non ho trovato nulla di specifico - per cosa sono necessari i buffer aggiuntivi, cosa viene visualizzato, cosa no, ecc... solo funzioni, ma nulla sulla struttura e lo scopo, la logica dei "buffer" aggiornati.

La persona sta chiedendo una risposta sul forum, non un link a un libro di riferimento. Forse qualcuno può spiegare in modo più dettagliato? :) O almeno un link a un articolo dove questo è spiegato?

Buon divertimento:

https://www.mql5.com/ru/articles/1500

https://www.mql5.com/ru/articles/1503

 
Ilya Melamed:

Grazie, naturalmente, per il link alla guida:) Tuttavia, l'ho già esaminato. Purtroppo non ho trovato nulla di specifico - per cosa sono necessari i buffer aggiuntivi, cosa viene visualizzato, cosa no, ecc... solo funzioni, ma nulla sulla struttura e lo scopo, la logica dei "buffer" aggiornati.

L'uomo sta chiedendo una risposta sul forum, non un link a un libro di riferimento. Forse qualcuno può spiegare in modo più dettagliato? :) O almeno un link a un articolo dove viene spiegato?

Nel nuovo mql4 non è necessario usare buffer aggiuntivi.

Quello che avete messo nel buffer sarà visualizzato. Forse non si può mostrare nulla se il tipo di serie del grafico è DRAW_NONE.

La funzione principale dell'indicatore è OnCalculate(). Iniziare con esso:

https://docs.mql4.com/ru/basis/function/events#oncalculate

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
Функции обработки событий - Функции - Основы языка - Справочник MQL4
 
Sarebbe qualcosa di cui godere. È tutto molto vecchio.

Ilya Melamed

Leggete gli articoli, naturalmente, ma tenete a mente che la funzione principale è diversa ed è meglio costruire l'inizio degli indicatori in modo diverso ora (vedi il link che ho dato nel post precedente). Puoi anche guardare gli indicatori CodeBase, scrittida Nikolay Kositsin. Li ha mangiati tutti:).

 

Saluti.

Sto scrivendo un EA in MT4 dopo aver annullato OnTick() da una funzione:

Stampa("TESTO");

(il mio compito è quello di scrivere "TEXT" nel mio registro ad ogni spunta).

Lo compilo e mostra "TEXT" nel diario del Tester ad ogni spunta. Quando abilito lo stesso Expert Advisor sul grafico, il caricamento viene completato con successo ed è tutto, il testo "TEXT" è assente.

Allo stesso tempo, le funzioni Comment() e Alert() lavorano allo stesso modo sul grafico e nel tester.

Cosa sto facendo di sbagliato?

 
spoiltboy:

Saluti.

Sto scrivendo un EA in MT4 dopo aver annullato OnTick() da una funzione:

Stampa("TESTO");

(il mio compito è quello di scrivere "TEXT" nel mio registro ad ogni spunta).

Lo compilo e mostra "TEXT" nel diario del Tester ad ogni spunta. Quando abilito lo stesso Expert Advisor sul grafico, il caricamento viene completato con successo ed è tutto, il testo "TEXT" è assente.

Allo stesso tempo, le funzioni Comment() e Alert() lavorano allo stesso modo sul grafico e nel tester.

Cosa sto facendo di sbagliato?

Allega il codice completo dell'Expert Advisor e il nome dello strumento su cui lo esegui.
 
Alexey Kozitsyn:
Allega il codice completo dell'Expert Advisor e il nome dello strumento su cui lo stai eseguendo.

Qualsiasi strumento, USDCHF, H1 per esempio.

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print("TEXT");
  }
//+------------------------------------------------------------------+

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
spoiltboy:

Saluti.

Sto scrivendo un EA in MT4 dopo aver annullato OnTick() da una funzione:

Stampa("TESTO");

(il mio compito è quello di scrivere "TEXT" nel mio registro ad ogni spunta).

Lo compilo e mostra "TEXT" nel diario del Tester ad ogni spunta. Quando abilito lo stesso Expert Advisor sul grafico, il caricamento viene completato con successo ed è tutto, il testo "TEXT" è assente.

Allo stesso tempo, le funzioni Comment() e Alert() lavorano allo stesso modo sul grafico e nel tester.

Cosa sto facendo di sbagliato?

Hai ragione, in quel momento non c'erano zecche. Per renderlo più chiaro, aggiungete un contatore di ticks e stampate il suo valore.

int tik=0;
void OnTick()
{                                      
tik++;
Print("tik # = ", tik);
}
 
Vitalie Postolache:

È vero, non c'erano zecche in quel momento. Per renderlo più chiaro, aggiungi un contatore di tick e stampa il suo valore.

int tik=0;
void OnTick()
{                                      
tik++;
Print("tik # = ", tik);
}

Lefunzioni Comment() e Alert() funzionano in modo identico sul grafico e nel tester.

Cosa sto facendo di sbagliato?

 
spoiltboy:

Qualsiasi strumento, USDCHF, H1 per esempio.

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print("TEXT");

return(0);
  }
//+------------------------------------------------------------------+