PDA

Zobacz pełną wersję : Pomoc ze wskaźnikiem proszę



Legug
05-04-2010 08:02, 08:02
Cześć chłopaki,

Używam funkcji iMAOnArray, ale nie mogę uzyskać następującego wskaźnika, aby uzyskać wyjście. Okno wskaźnika, które przeciągnęłam, pozostanie puste.

Każda pomoc doceniona.

pozdrowienia
Steve

// ----------------------------------------------- -------------------
//| iMAOnArray.mq4 |
//| Guru koderów |
//|
http://www.metatrader.info|
// ----------------------------------------------- -------------------

#property copyright Koder Guru
#property link http://www.metatrader.info


#property indior_separate_window
#property indior_color1 LawnGreen
Kolor wskaźnika #property 2 Ciemnoniebieski

double ExtMapBuffer1 [];
double RSI_Val [];
podwójne RSI_Val_SMA [];

int init ()
{
IndiorDigits (MarketInfo (Symbol (), MODE_DIGITS));
SetIndexStyle (0, DRAW_LINE);
SetIndexBuffer (0, ExtMapBuffer1);

return (0);
}

int deinit ()
{
return (0);
}

int start ()
{
int bar, limit;

int counted_bars = IndiorCounted ();
if (counted_barslt; 0) return (-1);
if (counted_barsgt; 0) counted_bars--;
limit = Bars-IndiorCounted ();


for (bar = 0; barlt; limit; bar )
RSI_Val [bar] = iCustom (NULL, 0, RSI, 0,0, bar);

for (bar = 0; barlt; limit; bar )
RSI_Val_SMA [bar] = iMAOnArray (RSI_Val, Bars, 5,0, MODE_SMA, bar);

for (bar = 0; barlt; limit; bar ) {
if (RSI_Val [bar] gt; RSI_Val_SMA [bar])
ExtMapBuffer1 [bar] = 1;
jeszcze
ExtMapBuffer1 [bar] = 0;
}

return (0);
}

garasox
10-31-2021 06:32, 06:32
Chyba znalazłem problem, musisz ustawić rozmiar tablicy, Wstawiony kod podwójny ExtMapBuffer1 # 91; # 93 ;; double RSI_Val # 91; # 91; color = DarkOrange # 93; wstaw tutaj numer # 91;color # 93; # 93 ;; double RSI_Val_SMA # 91; # 91; color = DarkOrange # 93; wstaw tutaj numer # 91;color # 93; # 93 ;; ale pojawia się kolejny problem. obliczona wartość nie zgadza się z obliczoną wartością wyświetlaną na wykresie ..........

alxokgooxstero
10-31-2021 07:53, 07:53
int init () {IndiorBuffers (3); SetIndexStyle (0, DRAW_LINE); SetIndexBuffer (0, ExtMapBuffer1); SetIndexBuffer (1, RSI_Val); SetIndexBuffer (2, RSI_Val_SMA); powrót; }

garasox
10-31-2021 09:14, 09:14
int init () {IndiorBuffers (3); SetIndexStyle (0, DRAW_LINE); SetIndexBuffer (0, ExtMapBuffer1); SetIndexBuffer (1, RSI_Val); SetIndexBuffer (2, RSI_Val_SMA); powrót; }
nie należy narysować rsivalu i rsivalsma, czy konieczne jest ustawienie bufora, aby mógł on być używany przez imaonarray?

Legug
10-31-2021 10:35, 10:35
Cześć Lmyyyks, Dzięki za wiadomość e-mail. Nie chcę brzmieć głupio, ale co jeszcze muszę włożyć? Zmieniłem to na to, co mam poniżej, ale wciąż nie ma wyjścia. Zasadniczo chcę, aby wyświetlał linię o wartości 1 lub 0 w zależności od warunku. Jeśli masz to do przekazania, możesz dodać kod do odpowiedzi. Pozdrawiam Steve/​​ --------------------------------------------- --------------------- /| iMAOnArray.mq4 |/| Guru koderów |/|
http://www.metatrader.info/|/ ----------------------------------------------- ------------------- #property copyright Koder Guru #property link http://www.metatrader.info #property indior_separate_window #property indior_color1 LawnGreen #property indior_color2 DarkBlue double ExtMapBuffer1 []; double RSI_Val [5000]; podwójne RSI_Val_SMA [5000]; int init () {IndiorDigits (MarketInfo (Symbol (), MODE_DIGITS)); SetIndexStyle (0, DRAW_LINE); SetIndexBuffer (0, ExtMapBuffer1); return (0); } int deinit () {return (0); } int start () {int bar, limit; int counted_bars = IndiorCounted (); if (counted_barslt; 0) return (-1); if (counted_barsgt; 0) counted_bars--; limit = Bars-IndiorCounted (); for (bar = 0; barlt; limit; bar ) RSI_Val [bar] = iCustom (NULL, 0, RSI, 0,0, bar); for (bar = 0; barlt; limit; bar ) RSI_Val_SMA [bar] = iMAOnArray (RSI_Val, Bars, 5,0, MODE_S MA, bar); for (bar = 0; barlt; limit; bar ) {if (RSI_Val [bar] gt; RSI_Val_SMA [bar]) ExtMapBuffer1 [bar] = 1; else ExtMapBuffer1 [bar] = 0; } return (0); }

Chyba znalazłem problem, musisz ustawić rozmiar tablicy, Wstawiony kod podwójny ExtMapBuffer1 # 91; # 93 ;; double RSI_Val # 91; # 91; color = DarkOrange # 93; wstaw tutaj numer # 91;color # 93; # 93 ;; double RSI_Val_SMA # 91; # 91; color = DarkOrange # 93; wstaw tutaj numer # 91;color # 93; # 93 ;; ale pojawia się kolejny problem. obliczona wartość nie zgadza się z obliczoną wartością wyświetlaną na wykresie ..........

Chyba znalazłem problem, musisz ustawić rozmiar tablicy, Wstawiony kod podwójny ExtMapBuffer1 # 91; # 93 ;; double RSI_Val # 91; # 91; color = DarkOrange # 93; wstaw tutaj numer # 91;color # 93; # 93 ;; double RSI_Val_SMA # 91; # 91; color = DarkOrange # 93; wstaw tutaj numer # 91;color # 93; # 93 ;; ale pojawia się kolejny problem. obliczona wartość nie zgadza się z obliczoną wartością wyświetlaną na wykresie ..........

garasox
10-31-2021 11:56, 11:56
Cześć, Dzięki za wiadomość e-mail. Nie chcę brzmieć głupio, ale co jeszcze muszę włożyć? Zmieniłem to na to, co mam poniżej, ale wciąż nie ma wyjścia. Zasadniczo chcę, aby wyświetlał linię o wartości 1 lub ...
wstaw ten wstawiony kod SetArrayAsSeries (RSI_Val_SMA, true); SetArrayAsSeries (RSI_Val, true); może funkcje są błędnie napisane lub liczba parametrów jest zła. Nie mam teraz odniesienia. Ale to sposób, w jaki sobie z tym poradziłem. PAMIĘTAJ, aby sprawdzić zwróconą wartość, ponieważ nie jest ona taka sama jak wyświetlana zarówno w oknie nawigatora, jak i na wykresie. Nie pamiętam, że wysłałem Ci e-mail btw.

Legug
10-31-2021 13:16, 13:16
Dziękuję za to. Zrobię to. Przepraszam, kiedy powiedziałem e-mail, miałem na myśli post, który wystawiłeś.

wstaw ten wstawiony kod SetArrayAsSeries (RSI_Val_SMA, true); SetArrayAsSeries (RSI_Val, true); może funkcje są błędnie napisane lub liczba parametrów jest zła. Nie mam teraz odniesienia. Ale to sposób, w jaki sobie z tym poradziłem. PAMIĘTAJ, aby sprawdzić zwróconą wartość, ponieważ nie jest ona taka sama jak wyświetlana zarówno w oknie nawigatora, jak i na wykresie. Nie pamiętam, że wysłałem Ci e-mail btw.

wstaw ten wstawiony kod SetArrayAsSeries (RSI_Val_SMA, true); SetArrayAsSeries (RSI_Val, true); może funkcje są błędnie napisane lub liczba parametrów jest zła. Nie mam teraz odniesienia. Ale to sposób, w jaki sobie z tym poradziłem. PAMIĘTAJ, aby sprawdzić zwróconą wartość, ponieważ nie jest ona taka sama jak wyświetlana zarówno w oknie nawigatora, jak i na wykresie. Nie pamiętam, że wysłałem Ci e-mail btw.

Legug
10-31-2021 14:37, 14:37
Cześć chłopaki, to jest fantastyczne, dziękuję za twoją pomoc. Pozdrawiam Steve

nie, nie jest. ale sprawi, że tablice będą łatwe w użyciu bez martwienia się o inicjalizację macierzy. główną przyczyną problemu jest ta linia: RSI_Val [bar] = iCustom (NULL, 0, RSI, 0, 0, bar); użycie 0 oznacza RSI Period = 0. Lepiej jest użyć zewnętrznego parametru. lub użyj funkcji iRSI () [/php]

nie, nie jest. ale sprawi, że tablice będą łatwe w użyciu bez martwienia się o inicjalizację macierzy. główną przyczyną problemu jest ta linia: RSI_Val [bar] = iCustom (NULL, 0, RSI, 0, 0, bar); użycie 0 oznacza RSI Period = 0. Lepiej jest użyć zewnętrznego parametru. lub użyj funkcji iRSI () [/php]