MetaTrader 4 Build 529 beta rilasciato con un nuovo compilatore - pagina 108

 

Sono l'unico?

La storia tutta per simbolo è caricata da F2. Sto facendo dei test su tutte le zecche. Una settimana soltanto. Dal 2013/12/02 al 2013/12/10.

Il tester comincia a caricare M1 e questo è tutto... Spegni la luce, lancia una granata. 8 minuti di caricamento della storia, poi altri cinque minuti di tutto il sistema in bilico. Poi per altri tre minuti ho premuto Abort sulle finestre spuntate da Mozilla, che lo script non rispondeva... Ha iniziato i test solo circa 15 minuti dopo aver premuto Start nel tester. Ed è così ogni volta che mi avvio su tutte le zecche. Questo non è mai successo prima.

 
MetaDriver:

Cerco di non dare mai nomi russi alle cartelle. Per evitare tali problemi.

// E niente patriottismo di notte. :)


Solo di giorno? :)
 
tara:

Solo durante il giorno? :)
Anche al tramonto a volte
 
artmedia70:
Anche al tramonto a volte


Ama la madrepatria, tua madre!
 

La funzione mette un oggetto di testo nella finestra del grafico dato:

//+----------------------------------------------------------------------------+
void SetArrowText(int ww, string text, color cl, string font="Arial", string nm="", datetime t1=0, double p1=0, int sz=0) {
   if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TEXT, ww, 0, 0);
   ObjectSet(nm, OBJPROP_TIME1    , t1);
   ObjectSet(nm, OBJPROP_PRICE1   , p1);
   ObjectSetText(nm, text,sz, font, cl);
}
//+----------------------------------------------------------------------------+

Io lo chiamo così:

         if(DrawGraphics) {                           // если рисуем графические объекты
            nm=Prefix+"_RPBar_"+TimeToStr(Time[i]);
            SetTLine(RedPointLineColor,0,nm,Time[i],Low[i],Time[i],WindowPriceMin(0),false,redPointLineStile,redPointLineWidth);
            wnd=WindowFind("i_StdDev("+sdperiod+")"); // номер окна индикатора
            if(wnd>0) {                               // если индикатор на графике, нарисуем метку
               nm=Prefix+"_RedPoint"+TimeToStr(Time[i]);
               SetArrowText(wnd, "RP", RedPointArrowColor, RedPointFont, nm, Time[i], dev(i), redPointArrowSize);
               }
            }

Cioè, prima disegniamo la linea di tendenza sul grafico del prezzo, poi, se c'è una finestra indicatore, disegniamo un oggetto testo in essa. La linea di tendenza sul grafico del prezzo è visualizzata correttamente ed è posizionata dove dovrebbe essere - al momento in cui si verifica l'evento. Tuttavia, il testo nella finestra dell'indicatore - oh mio Dio ... si sposta dietro la barra dello zero. E qui comincia la cosa più interessante. Sia il testo che l'etichetta di testo si comportano esattamente allo stesso modo: rimangono dove sono stati messi. Appena fai selezionare l'oggetto testo e, ecco, rimane dov'è. Per illustrare. Tutti gli oggetti di testo si sono ammassati vicino alla barra zero (ho spostato il grafico avanti e indietro, e gli oggetti rimangono dove stavano perché non sono sulla barra zero):


Ma ora mi basta cliccarci sopra con il mouse e tutti prenderanno il loro posto:


ZS. che hanno rimosso dai nomi degli oggetti il percorso per loro dalla directory dei dati - grazie.

 
 
artmedia70:



Lavorare per vra?))
 
Patrol:

Sì, l'ho già capito. Volevo essere sicuro di aver capito correttamente la nuova struttura, così ho fatto riferimento a MQL4\Samples\DLLSample\DLLSample.cpp nella nuova build 555, ma è ancora lì:

Penso che dovrebbe essere così, per come la vedo io:

Si prega di chiarire.

Sì, avete capito bene.

PS. A proposito, puoi risolvere il problema con poco sforzo.

Formate un array di strutture nel vecchio formato e trasferite questo array a una DLL, proprio come prima. Che non avrà nemmeno bisogno di essere riscritto.

 
Zhunko:
La sostituzione della struttura del bar non è solo un'imboscata, è un'imboscata!
Questo problema è molto facile da risolvere. Formate un array di strutture nel vecchio formato e, come prima, passatelo alla DLL
 
stringo:
Questo problema è molto facile da risolvere. Formate un array di strutture nel vecchio formato e, come prima, passatelo alla DLL

È solo qualcosa che ho detto per scherzo. Il lavoro della vecchia funzione non cambia.

Circa 4 anni fa ho iniziato a scrivere una serie di classi per tutte le occasioni con la storia delle citazioni. L'ho fatto per 3 anni, insieme ai test. All'inizio, volevo fare un modello di struttura a barre con tre parametri, ma poi ho visto che nessuno usa una tale varietà. Ho deciso di farlo con due parametri. Ora però dovrò aggiungerne altri.

Motivazione: