Rysowanie strzałek na wykresie
Kategoria: Repozytorium kodu MQL4 |
12 lutego 2009 o 16:29 |
Odpowiedzi: Brak |
Permalink
Bardzo często, podczas pisania EA zachodzi potrzeba weryfikacji, czy EA dobrze interpretuje dane odczytane z wskaźników. W zadaniu tym bardzo pomaga mi funkcja drawArrow.
Funkcja pozwala na łatwe dodanie do wykresu strzałki skierowanej w górę lub w dół, dzięki czemu można wizualnie prześledzić momenty generowania sygnałów, zwrotów trendów, spełnianie warunków czy też czego tylko dusza zapragnie :)
void drawArrow(string iName,int signal,int margin) {
string name=iName+TimeToStr(Time[0],TIME_DATE|TIME_MINUTES|TIME_SECONDS);
double p=0;
if(signal>0) {
p=Low[0]-margin*Point;
}
if(signal<0) {
p=High[0]+margin*Point;
}
if(signal!=0) {
if(ObjectFind(name)==-1) {
ObjectCreate(name,OBJ_ARROW,0,Time[0],p);
}
ObjectSet(name,OBJPROP_PRICE1,p);
if(signal>0) {
ObjectSet(name,OBJPROP_ARROWCODE,241);
}
if(signal<0) {
ObjectSet(name,OBJPROP_ARROWCODE,242);
}
}
}
Funkcja przyjmuje trzy parametry:
- iName - nazwa dla konkretnej serii strzałek (dzięki temu można nanieść wiele serii strzałek na ten sam wykres)
- signal - decyduje o tym, czy strzałka będzie w dół (wartości mniejsze od zera) czy też w górę (wartości większe od zera)
- margin - odległość w pipsach od high/low bieżącej świeczki
0 odpowiedzi do wpisu "Rysowanie strzałek na wykresie"