IndicatorBuffers
Funkcja ustawia i określa maksymalną ilość buforów, które będą wykorzystywane przez wskaźnik. Maksymalna ilość buforów może przyjąć wartość 8. Bufory indeksowane są wartościami od 0 do 7. Należy pamiętać, że ustawiając ilość buforów powodujemy, że dla każdego bufora alokowana jest tablica o długości równej ilości słupków na danym wykresie. Z punktu widzenia optymalizacji i wydajności kodu nie powinniśmy ustawiać większej ilość buforów niż w rzeczywistości będziemy wykorzystywać.
Składnia:
|
void IndicatorBuffers( int count ) Parametry count – maksymalna ilość buforów które będą wykorzystywane do obliczeń, wartość nie może być większa niż 8 Wartość zwracana brak |
Przykład:
|
#property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Silver //---- parametry wejściowe, użytkownika extern int FastEMA=12; extern int SlowEMA=26; extern int SignalSMA=9; //---- bufory dla wyliczonych wartości wskaźnika double ind_buffer1[]; double ind_buffer2[]; double ind_buffer3[]; //+------------------------------------------------------------------+ //| Funkcja inicjalizująca wskaźnik | //+------------------------------------------------------------------+ int init() { //---- dodanie dwóch dodatkowoy buforów IndicatorBuffers(3); //---- ustwienie stylów wydruku dla wykresu wskaźnia SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,3); SetIndexDrawBegin(0,SignalSMA); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2); //---- przypisanie indeksu dla każdego bufora danych SetIndexBuffer(0,ind_buffer1); SetIndexBuffer(1,ind_buffer2); SetIndexBuffer(2,ind_buffer3); //---- nazwa skrócona wskaźnika IndicatorShortName("OsMA("+FastEMA+","+SlowEMA+","+SignalSMA+")"); //---- koniec inicjalizacji wskaźniak return(0); } |