Errori, bug, domande - pagina 170

 

Salve. Ho questo problema, forse è semplice, ma sono già esausto.

Sto testando l'Expert Advisor sulla cronologia e continua ad apparire questo errore

12:17:41 TIC: caricato con successo
12:19:07 Generatore di test: errore di dati non abbinati (il valore basso 87.6580 al 2010.07.08 00:00 non è raggiunto dal timeframe più basso, il prezzo basso 87.6590 non corrisponde)
12:19:07 Generatore di test: errore di dati non abbinati (limite di volume 6029 al 2010.08.30 12:00 superato)
12:19:09 Generatore di test: errore di dati non abbinati (il valore alto 81.8880 al 2010.10.12 16:00 non è raggiunto dal timeframe più basso, prezzo alto 81.8470 non corrisponde)
12:19:09 Test Generator: errore di dati non abbinati (il valore basso 81.6610 al 2010.10.12 16:00 non è raggiunto dal timeframe più basso, il prezzo basso 81.7620 non corrisponde)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Volume basso, volume alto, non so quali valori cambiare.

Ho cambiato MiniLotSize a 0.1 e 1 e 0.01, ho cambiato anche MaxLotSize e l'ho impostato a 0 (impostazioni del broker) ma ancora non fa trading,

Fallimento completo... Non so quali valori cambiare... Aiuto. Vi sono grato in anticipo...

 
A2dn:

Salve. Ho questo problema, forse è semplice, ma sono già esausto.

Sto testando l'EA sulla storia e continuo a ricevere questo errore

12:17:41 TIC: caricato con successo
12:19:07 Generatore di test: errore di dati non abbinati (il valore basso 87.6580 al 2010.07.08 00:00 non è raggiunto dal timeframe più basso, il prezzo basso 87.6590 non corrisponde)
12:19:07 Generatore di test: errore di dati non abbinati (limite di volume 6029 al 2010.08.30 12:00 superato)
12:19:09 Generatore di test: errore di dati non abbinati (il valore alto 81.8880 al 2010.10.12 16:00 non è raggiunto dal timeframe più basso, prezzo alto 81.8470 non corrisponde)
12:19:09 Test Generator: errore di dati non abbinati (il valore basso 81.6610 al 2010.10.12 16:00 non è raggiunto dal timeframe più basso, il prezzo basso 81.7620 non corrisponde)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Volume basso, volume alto, non so quali valori cambiare.

Ho cambiato MiniLotSize a 0.1 e 1 e 0.01, ho cambiato anche MaxLotSize e l'ho impostato a 0 (impostazioni del broker) ma ancora non fa trading,

Fallimento completo... Non so quali valori cambiare... Aiuto. Lo apprezzerei molto...

Questi messaggi suggeriscono l'incoerenza dei dati storici di diversi periodi di tempo. Le impostazioni di trading non c'entrano nulla. Basta riscaricare tutti i dati manualmente.

PS Questa domanda è relativa a MT4 e non a MQL5

 
stringo:

La funzione ChartGetInteger(chartID,CHART_WIDTH_IN_PIXELS) con i grafici massimizzati dà la dimensione della finestra prima della massimizzazione se lo screenshot è preso non dal grafico corrente, il che sembra essere sbagliato.
 

Aggiungo l'indicatore al grafico con la funzione ChartIndicatorAdd(). Ora non riesco a capire quale funzione per rimuoverlo dal grafico.

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 

gli sviluppatori pensano di passare un parametro quando chiamano il costruttore (nuovo) della classe? è problematico lavorare con gli array dinamici nelle classi.

lo specificatore di accesso privato, quando si eredita, non nasconde i metodi del genitore con specificatore pubblico, se non mi sbaglio, non dovrebbe essere così

ZS: correggere l'aiuto - esempio: "MQL5 Reference / Fondamenti del linguaggio / Programmazione orientata agli oggetti / Ereditarietà".

Пример:

//--- Базовый класс Фигура
class CShape{}
  {.........

e sotto

//--- производный класс Круг
class CCircle{} : public CShape        // после двоеточия указывается базовый класс,
  {.................

{} non compila

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 

Agli sviluppatori.

PositionsTotal() e OrdersTotal() non funzionano correttamente nel blocco di inizializzazione (almeno secondo me non è corretto).

Qual è il problema:

Se l'inizializzazione viene fatta dopo il cambio di conto trading, _UninitReason = 6(REASON_ACCOUNT), allora queste funzioni restituiscono 0.

Anche se le posizioni e gli ordini esistono davvero.

PS

Ho permesso di fare trading su un cambio di conto e di avere un certo controllo sul primo avvio dell'esperto.

Così, l'Expert Advisor vede che questo è il primo inizio su un nuovo conto, ma non può determinare se le posizioni e gli ordini esistono o meno nel blocco di inizializzazione.

Almeno, tutto funziona bene nel blocco di elaborazione dei tick e queste funzioni restituiscono dati reali sul numero di posizioni e ordini.

Sembra funzionare, ma funziona in modo strano, nemmeno una volta ogni tanto, ma occasionalmente. A volte funziona, a volte no...


PPS

Da quanto ho capito si cura addormentandosi per un certo numero di secondi, ora devo scoprire per quanti secondi...
 
IgorM:

ZS: correggere l'aiuto - esempio: "MQL5 Reference / Fondamenti del linguaggio / Programmazione orientata agli oggetti / Ereditarietà "

e sotto

{} non compila.

Grazie per il post, è stato corretto.
 
Rosh:
Grazie per il post, l'abbiamo corretto.

forse non ho spiegato bene nel mio post precedente, ma quando si lavora con i costruttori di classe di solito era così:

http://www.delphisources.ru/pages/faq/faq_delphi_basics/Constructor.php.htmlo http://ru.wikipedia.o rg/wiki/Конструктор_(programmazione)

Sono stato spiacevolmente sorpreso (MQL5 Reference / Language Fundamentals / Data Types / Structures and Classes ), dalla restrizione:

"Il costruttore non ha un tipo di ritorno (potete specificare il tipo void). In MQL5, i costruttori non hanno parametri di input. Così, ogni classe può avere un solo costruttore".

Ma usando un costruttore standard (cioè non creando il mio, la mia classe usa l'allocazione dinamica della memoria per gli array) si verifica l'errore "Array out of Range", che non si verifica se la variabile del tipo di classe è dichiarata - cioè senza usare l'operatore new

//index_currency    aud,cad; // работает
index_currency    *aud,*cad; // не работает

int OnInit(){
   aud = new index_currency; cad = new index_currency; // неправильно работает
   aud.create(AUDX,100,PERIOD_M1,PRICE_CLOSE);
   cad.create(CADX,100,PERIOD_M1,PRICE_CLOSE);

non c'è errore se usate un puntatore a un'istanza di classe, ma non c'è errore se la dichiarate senza * : index_currency aud,cad;

Delphi Constructor - Ключевое слово определяет процедуру Name конструктора для класса (справочник функций и процедур - Delphi Sources)
Delphi Constructor - Ключевое слово определяет процедуру Name конструктора для класса (справочник функций и процедур - Delphi Sources)
  • Andrey Simagin
  • www.delphisources.ru
1 type Class declaration     ...     Constructor Name; {Overload;}     ...   end; 2 type Class declaration     ...     Constructor Name(Arguments); {Overload;}     ...   end; Ключевое слово Constructor определяет процедуру Name конструктора для класса. При создании объекта, вы вызываете метод Constructor класса, а не объекта...
 
IgorM:

ma usando un costruttore standard (cioè non creando il mio, la mia classe usa l'allocazione dinamica della memoria per gli array) ottengo l'errore "Array out of Range", che non si verifica se dichiaro una variabile di tipo classe - cioè non uso l'operatore new

Leggete gli articoli L'ordine di creazione e distruzione degli oggetti in MQL5 e Quando usare i puntatori in MQL5.
 
IgorM:

non c'è errore se viene usato un puntatore all'istanza della classe, se due o più, si verifica un errore, nessun errore se dichiarato senza *: index_currency aud,cad;

Questo non dovrebbe accadere. Hai bisogno del codice sorgente, meglio scrivere al Service Desk.
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.