Errori, bug, domande - pagina 604

 
Urain:

Simbolo e periodo non devono essere uguali al grafico, è possibile da altri timeframe e simboli.

Sono rimasto sorpreso da questa domanda (ecco perché non la capisco), è nella descrizione di iCustom()

PS Ottenere i dati di un indicatore calcolato si esegue con la funzione CopyBuffer(), è necessario specificare il suo handle e il numero del buffer (la descrizione è nel manuale).

PPS iCustom avvia il flusso di calcolo dell'indicatore, CopyBuffer riceve i dati dell'indicatore.

Scusate il disturbo, avevo notato la differenza di ortografia tra "CCFp_2" e "CCFp__2". domanda rimossa.
 
sergeev:

e allora?

è vostro obbligo lanciare questo indicatore su una certa valuta.

Comunque, non preoccupatevi - andate a controllare.

Personalmente, tutto funziona per me. Lo chiamo da un Expert Advisor e lo lancio anche su un grafico.

Mi scuso selvaggiamente per il fastidio, non immediatamente notato la differenza nella scrittura "CCFp_2" e "CCFp__2. domanda respinta.
 
Non riesco a capire perché in Comment (linea 114) ArrayMaximum e ArrayMinimum mostrano costantemente 199, nonostante il fatto che il "c" (3° parametroArrayMaximum/minimum) sia costantemente in aumento...
File:
 
Graff:
Non riesco a capire perché in Comment (linea 114) ArrayMaximum e ArrayMinimum mostrano sempre 199, nonostante il fatto che "c" (3° parametroArrayMaximum/minimum) aumenta costantemente...

Se la linea 110:

      while(wcond && y>=0 && c>=0 && !IsStopped())

sostituire con:

      if(wcond && y>=0 && c>=0 && !IsStopped())

...iniziano alcune vignette...

In generale, ho il sospetto che molti loop incorporati (compresi quelli impliciti per ArrayMaximum), così come nell'indicatore, bloccano il terminale ad ogni tick! Tuttavia, se Comment emette non i risultati degli estremi ma qualche variabile c, non si bloccherà in caso di while.

Inoltre, guarda l'aiuto:

int  ArrayMaximum(
   double  array[],               // массив для поиска
   int     start=0                // с какого индекса начинаем поиск
   int     count=WHOLE_ARRAY,     // количество проверяемых
   );

Qui inizio sempre =199 mentre il conteggio aumenta da 0 a 200 - da qui tutte le conseguenze. Per esempio, inizia a muoversi quando i e c vengono scambiati:

         hm=ArrayMaximum(h,c,i);
         lm=ArrayMinimum(l,c,i);
finché non va in meno con errore terminale: array fuori portata.
 
Graff:
Non riesco a capire perché in Comment (linea 114) ArrayMaximum e ArrayMinimum mostrano costantemente 199, nonostante il fatto che il "c" (3° parametroArrayMaximum/minimum) sia costantemente in aumento...
   for(int i=calc_bars-1;i>=0;i--)// peaks loop//i=199
     {
      double pips_lh=0,pips_hl=0;
      int y=i,c=1;
      bool wcond=true;
      while(wcond && y>=0 && c>=0 && !IsStopped())
        {
         int hm=ArrayMaximum(h,i,c);//от 199
         int lm=ArrayMinimum(l,i,c);
         Comment(hm+" "+lm);
         double max_high=h[hm],min_low=l[lm];
         //Comment(max_high+" "+min_low);
         if(fabs(max_high-min_low)>min_pips)
           {
            HighestBuffer[hm]=h[hm];
            LowestBuffer[lm]=l[lm];
           }
         c++;// if h-l<min pips => add next bar
         y--;// new i
        }
      i=y;//цикл for где-та тут и заканчивается, т.е. выполняется 1 раз, когда i=199.
     }
 

Buon pomeriggio, vi prego di consigliarmi chi posso contattare per il seguente problema - MT5 non funziona sul mio secondo computer - ho provato tutto il possibile - ho cambiato i sistemi operativi e i provider, ma come se un destino malvagio mi impedisse di vedere il terminale sul mio computer...

moby_dick:

Aiutatemi, vi prego di capire - MT5 funziona sul mio computer desktop, ma non vuole funzionare sul mio portatile - dice che non c'è connessione a MetaQuotes-Demo... Non posso aprire un nuovo conto demo dalla prima versione di MT5, o connettermi al conto demo creato su un altro computer... Entrambi i computer hanno Windows XP Pro SP3, la mia connessione Internet è la stessa, disabilitare l'antivirus e il firewall non aiuta... Forse ci sono alcuni componenti obbligatori che devono essere installati?

Grazie in anticipo - sono con il mio portatile il 99,9% del tempo...


Cos'è la sfortuna e come affrontarla?

Come ho scritto sopra (post 11.01.2010 14:03 ) MT5 non voleva ostinatamente funzionare sul mio portatile dalla prima all'ultima release... Recentemente ho avuto un nuovo portatile che si è rotto e ne ho preso uno più nuovo con chip multi-core ecc... Speravo di essere in grado di far funzionare MT5 in locale piuttosto che da un VPS come ho fatto negli ultimi 2 anni, ma installando MT5 ho ottenuto un prompt proxy che non ho potuto aggirare... Mi sono ricordato che MT5 dovrebbe funzionare senza installazione, così ho copiato la directory MT5 dal VPS e ho provato a eseguirlo... Funziona senza problemi, ma si blocca immediatamente come prima... Che diamine, il calzolaio non è senza stivali, ma vede solo i suoi stivali sulla foto dell'UPU dall'altra parte della terra... Cosa si può fare?

 
moby_dick:

Buon pomeriggio, Potreste consigliarmi chi posso contattare per il seguente problema - MT5 non funziona sul mio secondo computer - ho provato di tutto - ho cambiato sistema operativo e provider, ma come per una mano malvagia, non posso vedere il terminale sul mio computer...

Si prega di scrivere una richiesta al Service Desk. Avete bisogno di dettagli e cercheremo di risolvere il problema.
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 

Ciao! Libreria standard MovingAverages.mqh

//+------------------------------------------------------------------+
//| Simple Moving Average |
//+------------------------------------------------------------------+
double SimpleMA(const int position,const int period,const double &price[])
{
//---
double result=0.0;
//--- check position
if(position>=period && period>0)
{
//--- calculate value
for(int i=0;i<period;i++) result+=price[position-i];
result/=period;
}
//---
return(result);
}

Si scopre che la funzione SimpleMA non può ottenere il valore medio dell'intero array! Supponiamo che ci sia un array price[] con 100 elementi. Ho bisogno di ottenere il suo valore medio. Lo passo nella funzione:

SimpleMA(99, 100, prezzo);

Ottengo 0, perché 99<100. Cosa mi impedisce di correggere il periodo (evidenziato nel codice) in (periodo-1)?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
Domanda agli sviluppatori. Le capacità della nuova build includono l'evento CHART_EVENT_MOUSE_MOVE.

Saranno introdotti gli eventi CHART_EVENT_MOUSE_DOWN e CHART_EVENT_MOUSE_UP?

Senza di loro, non si può avere un drag and drop completo.

 
Vigor:
Domanda agli sviluppatori. Le capacità della nuova build includono l'evento CHART_EVENT_MOUSE_MOVE.

Aggiungerete gli eventi CHART_EVENT_MOUSE_DOWN e CHART_EVENT_MOUSE_UP?

Senza di loro, il drag and drop non è una soluzione completa.

Appoggio questa richiesta.

Ora dobbiamo usare le funzioni GetCursorPos + GetKeyState.
Con la comparsa di EVENT_MOUSE_MOVE, non avremo bisogno di GetCursorPos e con MOUSE_DOWN e MOUSE_UP non avremo nemmeno bisogno di GetKeyState.

I programmi MQL5 miglioreranno innanzitutto l'interattività e la reattività alle azioni dell'utente. In secondo luogo - saranno in grado di venderli nel Marketplace, perché non useranno più la DLL.


Scrivete una richiesta a servicedesk (potete con l'indicazione di questo post). Sono sicuro che al momento del rilascio di una nuova build avrà il tempo di aggiungere. L'implementazione non è difficile.
Soprattutto perché è già nell'interesse degli sviluppatori - dato che lo sviluppo di una libreria standard di controlli è in corso.

PS.

Sono molto contento che l'azienda stessa abbia deciso di creare una libreria di controlli, e si sia resa conto (incontrato) che dare queste caratteristiche è semplicemente necessario.
Spero che i miglioramenti nelle caratteristiche e nell'usabilità continuino.