wyświetlanie linii

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

wyświetlanie linii

Nieprzeczytany post autor: personov »

Jaki kod trzeba dodać do EA, aby wyświetlał wartości w formie linii na wykresie ?
Ze wskaźnikami nie miałem do czynienia, a podejżewam, że ma to coś wspólnego z buforami itp.
Mam EA, które przelicza sobie dwie wartości :

Kod: Zaznacz cały

double v2 = .......;
double v3 = .......;
Zmiany w w/w wartościach następuja tak jak w przykladowym MA(close), czyli po zakończeniu świecy nie zmieniają się już, a na świecy aktualnej zmiany nastepują wraz z tickiem. Chciałbym, aby był widoczny taki wykres jak na przykładowym załączniku. Mogą to być takie punkty, mogą to być line - dowolnie.
Ułatwiłoby mi to dalszą analize EA, gdybym tylko mógl zobaczyć jak układały się te wartości wstecz.
Z góry dziękuje za pomoc.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Solą życia jest kasa.

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

to są normalnei linie - wykorzsytywane są bufory, linia ma TYP lini prezrywanej

Wszystko jest zawarte w sekcji INIT, więc możesz podejrzeć w helpie
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

A moge prosić o jakąś podpowiedź ?
Chodzi mi o coś bardziej rzeczowego, bo jak wspomniałem nie mam o tym zielonego pojęcia.
Solą życia jest kasa.

gfx
Pasjonat
Pasjonat
Posty: 451
Rejestracja: 22 lut 2011, 20:29

Nieprzeczytany post autor: gfx »

Co to za MA?

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

To na załączniku to tylko przykład. Linie, które mają być wyświetlane to dwa moje własne parametry z EA.

Dodano po 3 godzinach 7 minutach:

Kombinuję :
Na początku trzeba dac info czy ma to by na wykresie czy w oddzielnym oknie, oraz ile buforów ma być, oraz jakie wartości mają być wyświetlane.

Kod: Zaznacz cały

#property indicator_chart_window
#property indicator_buffers 2
double v2,v3;
Dalej - w init jakim stylem ma być wyświetlane :

Kod: Zaznacz cały

void init() 
{ 
   SetIndexBuffer(0,v2);
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1,Red);
   SetIndexBuffer(1,v3);
   SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1,Red);  
} 
I w start - przeliczenia moich v2 i v3 :

Kod: Zaznacz cały

double v2 = ......;
double v3 = ......;
I nie działa :(
Dodam, że wartości :

Kod: Zaznacz cały

double v2 = ......;
double v3 = ......;
są na pewno dobrze przeliczane ponieważ te wartości są poprawnie podawane w

Kod: Zaznacz cały

 Comment
.
Solą życia jest kasa.

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

Ale co nie działa, nie pokazuje, źle pokazuje nie kompiluje?



Właśnie musisz w stylu wyświetlania tak pozmieniać aby otrzymać przerywają linie. W Metaedytor najesz na SetIndexStyle i kliknij F1. Tam powinna być większość parametrów jak nie wszystkie.
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

RobsonFX
Stały bywalec
Stały bywalec
Posty: 66
Rejestracja: 13 sty 2011, 22:00

Nieprzeczytany post autor: RobsonFX »

personov pisze:To na załączniku to tylko przykład. Linie, które mają być wyświetlane to dwa moje własne parametry z EA.

Dodano po 3 godzinach 7 minutach:

Kombinuję :
Na początku trzeba dac info czy ma to by na wykresie czy w oddzielnym oknie, oraz ile buforów ma być, oraz jakie wartości mają być wyświetlane.

Kod: Zaznacz cały

#property indicator_chart_window
#property indicator_buffers 2
double v2,v3;
Więc tak kolego, żeby wyświetlić coś to te zmienne v2 i v3 muszą być macierzami (tablicami), czyli v2[] i v3[]

3maj się.
1. "KISS" - Keep It Simple Stupid
2. SYNERGIA - współdziałanie różnych czynników, którego efekt jest większy niż suma oddzielnych działań
3. STOP LOSS - niedoceniony przyjacielem TRADERA.

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Tig3r pisze:Ale co nie działa, nie pokazuje, źle pokazuje nie kompiluje?



Właśnie musisz w stylu wyświetlania tak pozmieniać aby otrzymać przerywają linie. W Metaedytor najesz na SetIndexStyle i kliknij F1. Tam powinna być większość parametrów jak nie wszystkie.
Linia nie musi być przerywana. Tamten załącznik to przykład.
Nie sprecyzowałem.
Nie dziala tzn. nic nie wyświetla na wykresie.
Ale RobsonFX już wyłapał błąd.
Teraz muszę się zająć jak zwykłe przeliczenie zamienic na tablice.
Jakaś podpowiedź ?
Solą życia jest kasa.

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

personov pisze:Teraz muszę się zająć jak zwykłe przeliczenie zamienic na tablice.
Jakaś podpowiedź ?
A po co? dla konkretnego czasu obliczasz wartość i wstawiasz do aktualnego bufora, a historia jest zapamiętywana.

Więc teoretycznie wystarczy że przeliczysz:

v2[0]=x;
v3[0]=y;

i będzie dobrze

no chyba że chcesz całość to robisz pętle z wykorzystaniem indicator_counted - który określa ile świec nie było przeliczanych
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Tig3r pisze:dla konkretnego czasu obliczasz wartość i wstawiasz do aktualnego bufora
Dla zółtodzioba to nie jest takie proste ;)
Tig3r pisze:Więc teoretycznie wystarczy że przeliczysz:

v2[0]=x;
v3[0]=y;

i będzie dobrze
Dałem tak :

Kod: Zaznacz cały

#property indicator_chart_window 
#property indicator_buffers 2 
double v2[],v3[]
;

Kod: Zaznacz cały

void init() 
{ 
   SetIndexBuffer(0,v2);
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1,Red);
   SetIndexBuffer(1,v3);
   SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1,Red);  
} 

Kod: Zaznacz cały

void start() 
{ double v2[0] = ........;
   double v3[0] = .......;
i nie kompiluje. Wypluwa błędy w samym przeliczaniu v2[] i v3[].
Solą życia jest kasa.

ODPOWIEDZ