Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 789

 
Ciao a tutti, cari compagni, aiutatemi con la seguente domanda. Indicatore OSM standard + indicatore MA (solo abbassato al piano interrato). Come portare una lettura dell'indicatore MA giù in cantina? Se usiamo l'indicatore MA standard, applichiamo un prezzo da 0 a 6, e se scendiamo in cantina, impostiamo "apply to" a 8. Suppongo che dovremmo cambiare l'indicatore MA stesso (ma non so cosa cambiare lì) e poi usare la funzione iCustom.

Vi sarei grato per il vostro aiuto.


 
alexey1979621:
Ciao a tutti, cari compagni, aiutatemi con la seguente domanda. Indicatore standard + indicatore MA (solo abbassato alla base). Come prendere le indicazioni dell'indicatore MA abbassato in cantina? Se usiamo un indicatore standard МА, applichiamo un prezzo da 0 a 6, ma se scendiamo in cantina, impostiamo "apply to" a 8. Suppongo che dovremmo cambiare l'indicatore MA stesso (ma non so cosa cambiare lì) e poi usare la funzione iCustom.

Vi sarei grato per il vostro aiuto.


Si prende un array dell'indicatore OSM e ImaOnArray con tutti i parametri МА.
 
solnce600:

Brava gente!!!

Aiutatemi a trovare un bug. Sto imparando gli array.

Ho creato un array in un file include.

Ho messo un riferimento al file include nel mio Expert Advisor.

Non riesco a capire perché.

Nei codici di errore del link della posizione del file

http://clip2net.com/s/jkTd89

Grazie.

Forse il problema è nel nome del file e nel percorso? Cercate di nominare i file in caratteri latini e senza punti.
 
solnce600:

Brava gente!!!

Aiutatemi a trovare un bug. Sto imparando gli array.

Ho creato un array in un file include.

Ho messo un riferimento al file include nel mio Expert Advisor.

Non riesco a capire perché.

Nei codici di errore del link della posizione del file

http://clip2net.com/s/jkTd89

Grazie.

Percorso sospetto. ../Programm Files/... In realtà tutti i file dovrebbero essere in un percorso come C:-Users\***AppData\Roaming\MetaQuotes\Terminal\******************\MQL4\Include
 
barabashkakvn:
Percorso sospetto. ../Programm Files/... In realtà tutti i file dovrebbero trovarsi in un percorso come C:\Users\***AppData\Roaming\MetaQuotes\Terminal\******************\MQL4\Include
Si può effettivamente eseguire il terminale nel portatile ;)
 
evillive:
In realtà, è possibile eseguire il terminale in portatile ;)
Si può usare /Portable switch, ma noi non siamo telepati, vero? E tale chiave è usata da poche persone.
 

Potete per favore dirmi come fare in modo che i dati dell'indicatore vengano visualizzati come candele o solo come barre verticali come qui:

Non è chiaronel codice stesso come fare questo! Lo stile DRAW_HISTOGRAM disegna solo una linea verticale su ogni barra dal bordo inferiore della finestra, ma non una candela.

/// это начало ///

#property indicator_chart_window
#property indicator_buffers 6

#property  indicator_style1 STYLE_DOT
#property  indicator_width1 1
#property  indicator_color1 Sienna

#property  indicator_style2 STYLE_DOT
#property  indicator_width2 1
#property  indicator_color2 Sienna

#property  indicator_style3 STYLE_SOLID
#property  indicator_width3 2
#property  indicator_color3 DodgerBlue

#property  indicator_style4 STYLE_SOLID
#property  indicator_width4 2
#property  indicator_color4 DodgerBlue

#property  indicator_style5 STYLE_SOLID
#property  indicator_width5 1
#property  indicator_color5 DodgerBlue

#property  indicator_style6 STYLE_SOLID
#property  indicator_width6 1
#property  indicator_color6 DodgerBlue

/// это в процедуре OnInit() ///

   SetIndexBuffer(0, ForecastCloudHigh);
   SetIndexStyle(0, DRAW_HISTOGRAM, EMPTY, EMPTY, IndicatorCloudColor);
   SetIndexShift(0, ForecastBars - Offset);
   
   SetIndexBuffer(1, ForecastCloudLow);
   SetIndexStyle(1, DRAW_HISTOGRAM, EMPTY, EMPTY, IndicatorCloudColor);
   SetIndexShift(1, ForecastBars - Offset);
   
   SetIndexBuffer(2, ForecastBestPatternOpen);
   SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(2, ForecastBars - Offset);

   SetIndexBuffer(3, ForecastBestPatternClose);
   SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(3, ForecastBars - Offset);

   SetIndexBuffer(4, ForecastBestPatternHigh);
   SetIndexStyle(4, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(4, ForecastBars - Offset);
   
   SetIndexBuffer(5, ForecastBestPatternLow);
   SetIndexStyle(5, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(5, ForecastBars - Offset);

/// а это уже заполнение в процедуре-обработчике ///

         ForecastBestPatternOpen[indexBar] = xcbase + ((iOpen(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternClose[indexBar] = xcbase + ((iClose(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternHigh[indexBar] = xcbase + ((iHigh(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternLow[indexBar] = xcbase + ((iLow(NULL, 0, altindex) - ycbase) * sAlt[0]);
 
Awwl:

Puoi dirmi come fare in modo che i dati dell'indicatore vengano visualizzati come candele o solo come barre verticali come qui:

Non è chiaronel codice stesso come fare questo! Lo stile DRAW_HISTOGRAM disegna solo una linea verticale su ogni barra dal bordo inferiore della finestra, ma non una candela.

Il modo più semplice è disegnare in mql5, usando lo stile di disegnoDRAW_CANDLES oDRAW_COLOR_CANDLES. Sfortunatamente, in mql4 non è possibile disegnare candele in questo modo.
 
Awwl:

Puoi dirmi come fare in modo che i dati dell'indicatore vengano visualizzati come candele o solo come barre verticali come qui:

Non è chiaronel codice stesso come fare questo! Lo stile DRAW_HISTOGRAM disegna solo una linea verticale su ogni barra dal bordo inferiore della finestra, ma non una candela.

Se capisci come funziona l'indicatore Heiken Ashi (incluso nel terminale), capirai tutto.
 
evillive:
Se capite come è impostato l'indicatore Heiken Ashi (il terminale viene fornito con esso), capirete tutto.

L'Heiken Ashi integrato sembra un po' sottosviluppato (mi chiedo se sono solo io sul 745?), ma posso capire come funziona. E non è chiaro come sia costruito WmiFor!

Nel codice Heiken Ashi una candela è disegnata da 4 istogrammi di barre:

#property indicator_separate_window
#property indicator_buffers 4
#property  indicator_color1 Red
#property  indicator_color2 White
#property  indicator_color3 Red
#property  indicator_color4 White
#property  indicator_width1 1
#property  indicator_width2 1
#property  indicator_width3 3
#property  indicator_width4 3

//---
input color ExtColor1 = Red;    // Shadow of bear candlestick
input color ExtColor2 = White;  // Shadow of bull candlestick
input color ExtColor3 = Red;    // Bear candlestick body
input color ExtColor4 = White;  // Bull candlestick body
//--- buffers
double ExtLowHighBuffer[];
double ExtHighLowBuffer[];
double ExtOpenBuffer[];
double ExtCloseBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//|------------------------------------------------------------------|
void OnInit(void)
  {
   IndicatorShortName("Heiken Ashi");
   IndicatorDigits(Digits);
//--- indicator lines
   SetIndexStyle(0,DRAW_HISTOGRAM,0,1,ExtColor1);
   SetIndexBuffer(0,ExtLowHighBuffer);
   SetIndexStyle(1,DRAW_HISTOGRAM,0,1,ExtColor2);
   SetIndexBuffer(1,ExtHighLowBuffer);
   SetIndexStyle(2,DRAW_HISTOGRAM,0,3,ExtColor3);
   SetIndexBuffer(2,ExtOpenBuffer);
   SetIndexStyle(3,DRAW_HISTOGRAM,0,3,ExtColor4);
   SetIndexBuffer(3,ExtCloseBuffer);
//---
   SetIndexLabel(0,"Low/High");
   SetIndexLabel(1,"High/Low");
   SetIndexLabel(2,"Open");
   SetIndexLabel(3,"Close");
   SetIndexDrawBegin(0,10);
   SetIndexDrawBegin(1,10);
   SetIndexDrawBegin(2,10);
   SetIndexDrawBegin(3,10);
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtLowHighBuffer);
   SetIndexBuffer(1,ExtHighLowBuffer);
   SetIndexBuffer(2,ExtOpenBuffer);
   SetIndexBuffer(3,ExtCloseBuffer);
//--- initialization done
  }

Cioè, man mano che il numero di buffer aumenta (da 0 a 3), nuove barre vengono disegnate sopra quelle vecchie. L'ordine è il seguente:

LowHigh - HighLow - Open - Close.

L'ordine dei candelabri dovrebbe essere il seguente per farli apparire come dovrebbero essere, con i loro corpi e le loro code:

max(Open,Close)//linea di colore spessa// - min(Open,Close)//bianco spessa// - High//linea di colore spessa// - Low//bianco spessa//.

Compiliamo l'indicatore, mettiamolo sul grafico e vediamo tutti i problemi (vedi immagine).

Ma questo metodo, come Heiken Ashi, ha uno svantaggio - sotto ogni "candela" si ottiene un anello bianco nel colore di fondo che copre tutto ciò che è più basso. Ma con WmiFor tutto è perfetto! Caratteristiche non documentate?

Prima immagine - Heiken Ashi (inserito in una finestra separata), seconda immagine - WmiFor, lo sfondo è in verde chiaro per chiarezza.