Errori, bug, domande - pagina 635

 
piero:

dimmi cosa c'è che non va, non riesco a capire qual è il problema con lo stymie?

Sarebbe auspicabile dare registri completi dal momento dell'aggiunta della striscia al grafico fino al suo completamento.

Non c'è una chiara indicazione dal registro di cui sopra:

  1. l'ora in cui lo script è stato eseguito
  2. è lo stesso script, non un altro script con una logica extra all'interno?
  3. non è nel tester?
 
come scoprire quante linee ci sono in un file... in ogni riga con valori separati da ";"
 

Ho appena iniziato a imparare Metatrader e MQL5. Sto cercando di creare il mio indicatore.

Ho deciso di fare livelli di resistenza e supporto basati sull'indicatore frattale standard.

Ho ridisegnato alcuni di essi e rimosso o commentato molte altre cose. Il risultato è il seguente codice:

#proprietà indicator_chart_window
#proprietà indicator_buffers 1
#proprietà indicator_plots 1
#proprietà indicator_type1 DRAW_LINE
#property indicator_color1 clrDeepPink
#property indicator_label1 "Level"
#proprietà indicator_style1 STYLE_SOLID
#proprietà indicator_width1 1
//---- buffer degli indicatori
doppio ExtBuffer[];
//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'indicatore personalizzato
//+------------------------------------------------------------------+
void OnInit()
{
//---- mappatura dei buffer degli indicatori
SetIndexBuffer(0,ExtBuffer,INDICATOR_DATA);
IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
// la precisione dell'indicatore è uguale alla precisione del grafico?
//---- imposta la prima barra da quale indice sarà disegnata
// PlotIndexSetInteger(0,PLOT_ARROW,217);
// PlotIndexSetInteger(1,PLOT_ARROW,218);
//---- freccia si sposta quando si disegna
// PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,ExtArrowShift);
// PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,-ExtArrowShift);
//---- imposta la linea di disegno valore vuoto--
// PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,EMPTY_VALUE);
// PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE);
//---- inizializzazione fatta
}
//+------------------------------------------------------------------+
//| Oscillatore acceleratore/deceleratore|
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total, // numero di barre di ingresso
const int prev_calculated, // numero di barre elaborate alla chiamata precedente
const datetime &Time[],
const double &Open[],
const double &High[],
const double &Low[],
const double &Close[],
const long &TickVolume[],
const long &Volume[],
const int &Spread[])
{
int i, limite;
//---
se(tassi_totale<5)
ritorno(0);
//---
se(prev_calcolato<7)
{
limite=2;
//--- pulire gli array
ArrayInitialize(ExtBuffer,EMPTY_VALUE);
}
else limit=rates_total-5;

for(i=limit;i<rates_total-3 && !IsStopped();i++)
{
//---- frattale superiore
if(High[i]>High[i+1] && High[i]>High[i+2] && High[i]>=High[i-1] && High[i]>=High[i-2])
ExtBuffer[i]=High[i];
altrimenti ExtBuffer[i]=EMPTY_VALUE;

//---- frattale inferiore
if(Low[i]<Low[i+1] && Low[i]<Low[i+2] && Low[i]<=Low[i-1] && Low[i]<=Low[i-2])
ExtBuffer[i]=Low[i];
altrimenti ExtBuffer[i]=EMPTY_VALUE;
}
//--- OnCalculate fatto. Restituisce il nuovo prev_calcolato.
return(rates_total);
}

//+------------------------------------------------------------------+

Nessun errore durante la compilazione. Ma le linee (livelli) non sono rese.

Potete consigliarmi quale può essere il problema?

Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
Raven:

Puoi dirmi quale potrebbe essere il problema?

almeno due punti devono essere su barre adiacenti perché la linea sia visibile.

Prova

else ExtBuffer[i]=EMPTY_VALUE;//заменить на

else ExtBuffer[i]=ExtBuffer[i-1];

   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
// точность индикатора равна точности графика??

Sì.


Rz: per il codice sul forum è un grande pulsante SRC, usalo)

 

si verifica un errore durante l'invio di un ordine... Quale può essere la ragione?

2012.02.08 19:15:22 pattern (EURUSD,M10) CTrade::PositionOpen: richiesta acquisto 0,10 (null) a 1,32710 sl: 1,32530 tp: 1,33021 [richiesta non valida]

 

Aggiornato alla build 581.

Per qualche motivo, gli indicatori di volume AD e OBV sono linee solide su EURUSD. L'immagine è allegata.

Per questo motivo i test e l'ottimizzazione dell'Expert Advisor non hanno portato a nulla.

 

Non posso impostare una scritta inclinata ("Descrizione") su un oggetto TREND.

Poi ho scoperto che non potevo nemmeno mettere la scritta sulla linea manualmente, forse sto facendo qualcosa di sbagliato...

void Trend(string name,double price)
{
      ObjectCreate(0,name,OBJ_TREND,0,TimeCurrent(),price,TimeCurrent()+10000,price);
      ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,true);
      ObjectSetString(0,name,OBJPROP_TEXT,DoubleToString(price,_Digits));
      ObjectSetInteger(0,name,OBJPROP_COLOR,clrLimeGreen);
      ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false);
      ObjectSetString(0,name,OBJPROP_FONT,"Arial");
      ObjectSetInteger(0,name,OBJPROP_FONTSIZE,10);
}

IN MT4 :

 

Al codice:

class Test1
{
    public:
        void Test1(int i) {}
};

class Test2: public Test1
{
    public:
        void Test2(int i) {}
};


Ricevo un errore:

'Test1' - conteggio parametri errato test.mqh 10 8

Il problema è stato discusso qui da qualche parte, ma non ho trovato una soluzione.

La "soluzione" è questa:

class Test1
{
    protected:
        void Test1() {}
    public:
        void Test1(int i) {}
};

class Test2: public Test1
{
    public:
        void Test2(int i) {}
};

ma in qualche modo non è giusto.

Cosa sto facendo di sbagliato?

 
Karlson:

Non posso impostare una scritta inclinata ("Descrizione") su un oggetto TREND.

Poi ho scoperto che non potevo nemmeno mettere la scritta sulla linea manualmente, forse sto facendo qualcosa di sbagliato...

Cliccate con il tasto destro del mouse sul grafico. Fare clic su => Proprietà nel menu contestuale. Si aprirà la finestra delle proprietà. Nella scheda "Show", spunta la casella "Show object descriptions". Si può accedere alla finestra delle proprietà anche premendo il tasto F8.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов - Документация по MQL5
 

Dopo essere diventato un server di MIGBank-Demo, ci sono stati problemi di connessione persistenti, attualmente non è possibile connettersi.