Chiunque volesse vedere i grafici senza barre mancanti - qui =) - pagina 8

 
komposter, ho il seguente suggerimento per combattere con il terminale.
Se si impostano gli attributi del file WS_EURUSDm1440.hst in sola lettura, allora all'avvio del terminale il terminale giura anche nei log, ma il file NON può essere modificato! Il file appare bene sul grafico come prima che il terminale fosse spento.
Quindi, penso, cosa succede se faccio qualche DLL esterna, che può cambiare gli attributi di WS_EURUSDm1440. hst per la lettura/scrittura? Cioè, quando un Expert Advisor ha bisogno di aggiungere una barra alla storia, chiama una DLL, che imposta gli attributi del file di storia per la scrittura, l'Expert Advisor scrive la barra e poi chiama di nuovo la DLL, quindi imposta gli attributi del file di storia solo per la lettura. Naturalmente, capisco che nessuno può dare una garanzia al 100% in questo caso, ma penso che nel 95% dei casi spegnere/accendere il terminale avverrà senza rompere la barra della cronologia dal terminale. Non ho un'interruzione di corrente più di 2 volte al mese e mi andrebbe bene.
 
solandr писал (а):
komposter, ho il seguente suggerimento per combattere il terminale.
No, questo è piuttosto triste...
In realtà, ho già capito perché il terminale sta sovrascrivendo il file.
Non capisco con quale diritto il terminale stia toccando il mio grafico offline...

OK, se l'errore è nella normale serie temporale - devo aggiornarla. Ma questo è ilmio file. Scrivo quello che voglio.

Comunque, non importa...
Cercherò di fare una versione funzionante di EA oggi.
 
Sai qual è la parte più triste? =)
Ho avuto 3 barre con un tempo di 23:00 sulla storia che stavo testando. Tutti gli altri erano 00:00, e questi 3, dannazione...

Tutto sommato, un errore nella storia (a proposito, il mio file "sbagliato" con i diari che iniziano alle 23:00 MT si corregge, ma la storia onesta no =))).

Comunque, la resa dei conti non è stata vana - ha scovato un piccolo insetto ;)
solandr, prova una versione fresca.

Se i bug persistono, controllate la cronologia.

E se rimane ancora, ditemelo, scaverò di più ;)
File:
 
komposter писал (а):
In generale, un errore della storia (a proposito, il mio file "sbagliato" con i diari che iniziano alle 23:00 MT si corregge, ma una storia onesta no =))).

Comunque, la resa dei conti non è stata vana - ha scovato un piccolo insetto ;)
solandr, prova una versione fresca.

Se i bug persistono, controllate la cronologia.

E se rimane ancora, ditemelo, scaverò di più ;)


Sfortunatamente nessun cambiamento iniziale :o(. Giura anche nei log e negli stessi grafici con Digits=0.
2006 11/11/02 11:45:16 HistoryBase: 42 errori in 'WS_NZDUSDm1440'
2006.11.02 11:45:16 HistoryBase: 271 errori in 'WS_EURJPYm1440'.
2006.11.02 11:45:16 HistoryBase: 271 errori in 'WS_EURCHFm1440'.
2006.11.02 11:45:16 HistoryBase: 272 errori in 'WS_AUDUSDm1440'
2006.11.02 11:45:16 HistoryBase: 271 errori in 'WS_EURGBPm1440'.
2006.11.02 11:45:16 HistoryBase: 272 errori in 'WS_USDJPYm1440'
2006.11.02 11:45:16 HistoryBase: 272 errori in 'WS_USDCADm1440'
2006.11.02 11:45:16 HistoryBase: 272 errori in 'WS_GBPUSDm1440'.
2006.11.02 11:45:16 HistoryBase: 78 errori in 'WS_CHFJPYm1440'.
2006.11.02 11:45:16 HistoryBase: 272 errori in 'WS_USDCHFm1440'.
2006.11.02 11:45:16 HistoryBase: 272 errori in 'WS_EURUSDm1440'.

Dovresti provare ad aprire diversi grafici offline in una volta sola per vedere l'errore più rapidamente.

Come si controlla la storia? Questa è la storia, che il terminale ha onestamente pompato da solo tramite una lunga pressione sul tasto Home. Non ci ho importato nulla. Forse potresti dargli un'occhiata e dire qualcosa al riguardo? Il file della storia è allegato.

PS: Naturalmente posso fare una supposizione che la storia, che è memorizzata sul server presso il broker ha alcuni errori, come grandi "picchi" sui grafici, così come le lacune nelle quotazioni per diversi giorni, ma la seguente domanda sorge. Perché il terminale non mostra errori quando si lavora con esso e restituisce errori solo quando la storia è stata corretta attraverso una semplice conversione e SOLO dopo essersi assicurato che il grafico della storia corretta sia visualizzato correttamente, anche se il terminale scrive errori nei log? Cosa possono dire gli sviluppatori sulla possibilità di rendere il terminale amichevole con questo Expert Advisor?
File:
history.zip  681 kb
 
solandr:
Purtroppo non è successo nessun cambiamento iniziale :o(. E' anche scandaloso nei log e negli stessi grafici con Digits=0.
Dovresti provare ad aprire diversi grafici offline contemporaneamente per vedere prima l'errore.
OK, continuerò la lotta oggi ;)

Come posso controllare la cronologia? Questa è la storia, che il terminale ha scaricato onestamente da solo con una lunga pressione sul tasto Home. Non ci ho importato nulla. Forse puoi dargli un'occhiata e dire qualcosa al riguardo? In allegato il file della storia.

Anch'io ho avuto una storia "giusta". Tutte le barre D1 iniziano alle 00:00 e le 3 barre iniziano alle 23:00.
MT non ha reagito in alcun modo a questo.
Ma il grafico off-line identico a quello onesto, MT lo rifiuta.

Cioè ho provato di proposito a rimuovere tutte le conversioni dal codice e ho solo copiato la storia - MT dice errori...
 
solandr:
Sfortunatamente non sono stati fatti cambiamenti iniziali :o(. Inoltre sta bestemmiando nei log e negli stessi grafici con Digits=0.
Prova ;)
File:
 
komposter писал (а):
Prova ;)

Grande! Ora il terminale non sembra stampare alcun errore e i grafici si aprono correttamente dopo aver riavviato il terminale. Se non è un segreto, come hai fatto a battere il terminale?

Ma purtroppo una cosa spiacevole è rimasta. Gli Expert Advisors non funzionano su un grafico aperto separatamente :o((((.
Per esempio, questo EA non stampa nulla:
//+------------------------------------------------------------------+
//|                                                          bid.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net//"
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Print("Bid=",Bid);
//----
   return(0);
  }
//+------------------------------------------------------------------+
È possibile stimolare il lancio di Expert Advisors su un grafico aperto autonomamente, altrimenti tutto il senso di questi sforzi, purtroppo, si perde? Anche se gli indicatori e gli script sembrano funzionare normalmente su grafici aperti autonomamente.
Tuttavia, dovrei controllare accuratamente. Se gli indicatori funzionano correttamente, l'Expert Advisor può essere diviso in due componenti. Il primo è l'indicatore su un grafico stand-alone e il secondo è l'Expert Advisor che gestisce gli ordini e riceve i dati attraverso le variabili globali del terminale dall'indicatore. Tuttavia, non so cosa sarebbe più facile. Devo considerare le barre della domenica nel mio EA senza considerarle nei calcoli o dividere il vero EA in 2 parti? Voglio che sia simile all'uomo come doveva essere, non come sarà nel caso in cui gli EA non funzionino su grafici aperti autonomamente.
 
solandr:
Grande! Ora il terminale non sembra stampare alcun errore e i grafici si aprono correttamente quando il terminale viene riacceso. Se non è un segreto, come hai fatto a battere il terminale?

Ma purtroppo una cosa spiacevole è rimasta. Gli esperti non lavorano sul grafico aperto autonomamente :o((((.
Segreto =)

E gli EA non funzionano affatto sui grafici offline.
Voglio dire che la funzione start() non funziona.

La soluzione è mettere tutto il codice in un ciclo:
int init()
{
   start();
}
int start()
{
   while (!IsStopped())
   {
      //код эксперта
      Sleep(10);
   }
}
 
komposter писал (а):

La soluzione è mettere tutto il codice in un ciclo:


In linea di principio, la soluzione è abbastanza logica perché gli script vengono eseguiti con successo.
Ma non è ancora chiaro perché non è stato possibile permettere agli EA di lavorare su grafici offline? Puoi dare un link alle informazioni ufficiali degli sviluppatori che hanno fatto questo per alcune ragioni specifiche e che non riconsidereranno la loro posizione? Non devo aver cercato bene?


Grazie in anticipo!

 
solandr:

Ma non è ancora chiaro perché gli EA non potrebbero essere autorizzati a lavorare su grafici offline? Potresti fornire un link a informazioni ufficiali da parte degli sviluppatori che hanno fatto questo per alcune ragioni specifiche e che non riconsidereranno la loro posizione? Non devo averla cercata bene?

Ho cercato di trovarlo e ho fallito.
Ma le informazioni lo erano, questo è sicuro)