Komputerowe systemy na rynkach finansowych. wykład 5. MQL4 - funkcje operujące na obiektach wykresu

Podobne dokumenty
Komputerowe systemy na rynkach finansowych. wykład 3 funkcje MQL4

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Kurs programowania 2 - listy

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Przypomnienie o klasach i obiektach

Dodanie nowej formy do projektu polega na:

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Programowanie komputerowe. Zajęcia 4

za pomocą: definiujemy:

Programowanie Obiektowe GUI

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Wstęp do programowania

Zasady programowania Dokumentacja

Algorytmy i Struktury Danych. Anna Paszyńska

Egzamin z Podstaw informatyki i programowania 2007/2008

Instrukcja laboratoryjna cz.3

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

W powyższym kodzie utworzono wyliczenie dni tygodnia.

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Zajęcia 4 procedury i funkcje

Programowanie obiektowe i zdarzeniowe

Platformy Programistyczne Podstawy języka Java

Narzędzia informatyczne w językoznawstwie

KATEGORIA OBSZAR WIEDZY

Podstawy programowania skrót z wykładów:

Właściwości i metody obiektu Comment Właściwości

Ćwiczenia 9 - Swing - część 1

Kurs WWW. Paweł Rajba.

Programowanie obiektowe

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Test przykładowy 2 PAI WSB Wrocław /06/2018

Podstawy programowania III WYKŁAD 2

Programowanie i struktury danych. Wykład 4 Dr Piotr Cybula

Zaawansowane aplikacje WWW - laboratorium

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

JAVA CZ.2 Programowanie obiektowe. poniedziałek, 20 kwietnia 2009

Rysowanie punktów na powierzchni graficznej

Polecenie ŚWIATPUNKT - ŚWIATŁO PUNKTOWE

Podstawy programowania obiektowego

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

KOLEJKA (QUEUE) (lista fifo first in, first out)

OGÓLNE WYMAGANIA DOTYCZĄCE SPOSOBU PRZYGOTOWANIA PRAC DYPLOMOWYCH (wytyczne dla Studentów)

Dzisiejszy wykład. Programowanie w Perlu. Usuwanie elementów z początku tablicy. Dodawanie elementów do początku tablic

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

ECDL/ICDL Grafika menedżerska i prezentacyjna Moduł S2 Sylabus - wersja 5.0

POMIARY WIDEO W PROGRAMIE COACH 5

Projektowanie klas c.d. Projektowanie klas przykład

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Diagramy klas. dr Jarosław Skaruz

Podstawowe kontrolki graficzne. Obsługa plików poprzez kontrolki

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Kreowanie i analizowanie eksperymentów pełnoczynnikowych w programie Minitab. Osoba kontaktowa: Katarzyna Kornicka Telefon:

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Zaawansowane aplikacje internetowe - laboratorium

Kurs języka Python. Wykład 5. Marcin Młotkowski. 9 listopada Rodzaje parametrów funkcji. 2 Biblioteka Tk. 3 Układanie kontrolek w oknie

Visual Basic for Applications. Formatki tworzenie,

Lista, Stos, Kolejka, Tablica Asocjacyjna

1. Narzędzia główne: WORD 2010 INTERFEJS UŻYTKOWNIKA. wycinamy tekst, grafikę

Python. Wprowadzenie. Jolanta Bachan

Swing ćwiczenia 2 opis

Podstawy programowania obiektowego

Aktualizacja SMSFall v Data publikacji:

Wyższej Szkoły Przedsiębiorczości i Marketingu w Chrzanowie

Ćwiczenie: JavaScript Cookies (3x45 minut)

Podstawowe części projektu w Javie

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Język ludzki kod maszynowy

ECDL/ICDL Grafika menedżerska i prezentacyjna Moduł S2 Sylabus - wersja 6.0

Klasy i obiekty cz I Klasy, obiekty, podstawy używania obiektów

Systemy operacyjne na platformach mobilnych

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Instrukcja laboratoryjna nr.3

Smarty PHP. Leksykon kieszonkowy

Programowanie obiektowe

Mechanizm dziedziczenia

Wykład 5 Okna MDI i SDI, dziedziczenie

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

Specyfikacja API Runtime BAS 3.0

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

Programowanie komputerowe. Zajęcia 7

Visual Studio instalacja

Kurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie

Wymagania edukacyjne na poszczególne oceny. z przedmiotu Informatyki. w klasie VI

3.7. Wykresy czyli popatrzmy na statystyki

Programowanie w C++ Wykład 4. Katarzyna Grzelak. 19 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37

Dzisiejszy wykład. Narzędzia informatyczne w językoznawstwie. Usuwanie elementów z początku tablicy. Dodawanie elementów do początku tablic

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

SFML. (Simple and Fast Multimedia Library)

Transkrypt:

Komputerowe systemy na rynkach finansowych wykład 5 MQL4 - funkcje operujące na obiektach wykresu

ObjectCreate - funkcja tworzy nowy obiekt graficzny, określonego typu oraz nadaje mu nazwę i przyporządkowuje do okna wykresu umieszczając obiekt w miejscu określonym parametrami. Liczba parametrów opisujących współrzędne położenia obiektu jest zależna od typu obiektu i może przyjmować od 1 do 3 par zmiennych czas/cena. Położenie większość typów obiektów graficznych umieszczanych na wykresie określane jest parą wartości czas/cena, ale niektóre typy obiektów tak jak np. OBJ_LABEL nie są umieszczone nad konkretnym słupkiem wykresu, dlatego do ustawienia tego typu obiektu w dowolnym miejscu wykresu korzystamy z funkcji ObjectSet() oraz parametrów OBJPROP_XDISTANCE (położenie w poziomie, oś x) i OBJPROP_YDISTANCE (położenie w pionie, oś y). Jeśli funkcja powiedzie się zwraca wartość true, w przeciwnym razie false. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). Uwaga! Każde okno w terminalu jest identyfikowane indeksem. Indeks okna głównego wykresu przyjmuje wartość 0, natomiast każde kolejne okno (pod okno wykresu głównego np. wykres wskaźnika w osobnym podoknie) numerowane jest od 1 do n. bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0) gdzie: name nazwa obiekt, każdy obiekt powinien mieć inną nazwę type typ obiektu określony stałą window numer okna do którego ma być dodany obiekt graficzny time1-3 pierwsza-trzecia współrzędna czasu na wykresie price1-3 pierwsza-trzecia współrzędna ceny na wykresie Wartość zwracana true jeśli funkcja zakończyła się powodzeniem false jeśli funkcja zakończyła się niepowodzeniem

if(!objectcreate("text_object1", OBJ_TEXT, 0, D'2013.05.15 12:00',1.2980)) { Print("błąd: nie mogę utworzyć obiektu #",GetLastError()); return(0); } if(!objectcreate("text_object2", OBJ_TEXT, 0, Time[20],High[20]+10*Point)) { Print("błąd: nie mogę utworzyć obiektu #",GetLastError()); return(0); } // tworzymy nowy obiekt tekstowy typu label na wykresie if(!objectcreate("label_object1", OBJ_LABEL, 0, 0, 0)) { Print("błąd: nie mogę utworzyć obiektu #",GetLastError()); return(0); }

Tabela 1 Stałe określające typ obiektu mogą przyjmować poniższe wartości.

ObjectDelete - funkcja usuwa obiekt z wykresu określony nazwą. Jeśli funkcja powiedzie się zwraca wartość true, w przeciwnym razie false. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). bool ObjectDelete( string name ) Parametry name nazwa obiektu, który ma zostać usunięty Wartość zwracana true jeśli funkcja zakończyła się powodzeniem false jeśli funkcja zakończyła się niepowodzeniem if(!objectcreate("label_object1", OBJ_LABEL, 0, 0, 0)) { Print("błąd: nie mogę utworzyć obiektu #",GetLastError()); return(0); }... ObjectDelete("label_object1");...

ObjectDescription - funkcja zwraca wartość opisującą obiekt graficzny typu OBJ_TEXT, OBJ_LABEL. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). Parametry: name nazwa obiektu graficznego Wartość zwracana Tekst opisu obiektu graficznego string ObjectDescription( string name ) if(!objectcreate("label_object1", OBJ_LABEL, 0, 0, 0)) { Print("błąd: nie mogę utworzyć obiektu #",GetLastError()); return(0); } Print("Objekt o nazwie label_object1 opisany jest =", ObjectDescription( label_object1 ));... ObjectFind - funkcja zwraca numer indeksu obiektu na podstawie podanej nazwy obiektu. Jeśli funkcja powiedzie się zwraca numer indeksu obiektu, w przeciwnym razie wartość -1. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). int ObjectFind( string name ) Parametry: name nazwa obiektu graficznego Wartość zwracana: numer indeks obiektu lub -1 jeśli nie znaleziono obiektu o podanej nazwie.

ObjectGet - funkcja zwraca parametry obiektu graficznego określone po przez nazwę obiektu oraz indeks parametru opisującego obiekt. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). double ObjectGet( string name, int index ) Parametry name nazwa obiektu graficznego index indeks parametru opisującego obiekt Wartość zwracana wartość parametru opisującego obiekt color oldcolor = ObjectGet("obj_linia", OBJPROP_COLOR); Tabela 2 Stałe określające właściwości obiektów mogą przyjmować poniższe wartości.

ObjectMove - funkcja przesuwa obiekt na wykresie. Obiekt określony jest za pomocą nazwy a parametry za pomocą indeksu od 0 do 2 określającego, które współrzędne należy przesunąć oraz wartości współrzędnych czas/cena. Jeśli funkcja powiedzie się zwraca wartość true, w przeciwnym razie false. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). bool ObjectMove( string name, int point, datetime time, double price) Parametry: name nazwa obiektu graficznego point indeks określający współrzędne (0-2) time nowa wartość czasu price nowa wartość ceny Wartość zwracana true jeśli funkcja zakończyła się powodzeniem false jeśli funkcja zakończyła się niepowodzeniem ObjectMove("MojaLiniaTrendu ", 1, D'2009.09.25 12:30', 1.2345) ObjectName - funkcja zwraca nazwę obiektu graficznego na podstawie podanego indeksu obiektu. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). string ObjectName( int index ) Parametry index wartość określająca indeks obiektu z zakresu od 0 do ObjectsTotal() Wartość zwracana: nazwa obiektu określonego indeksem.

ObjectsTotal - funkcja zwraca liczbę obiektów określonego typu, które znajdują się na aktualnym wykresie. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). int ObjectsTotal( int type=empty ) Parametry type typ obiektów które mają zostać zliczone lub wartość domyślna wówczas będą zliczone wszystkie obiekty Wartość zwracana liczba zliczonych obiektów na wykresi int wszystkie_objekty = ObjectsTotal(); string nazwa; for(int i=0;i< wszystkie_objekty;i++) { nazwa = ObjectName(i); Print(i,"Nazwa obiektu o indeksie ",i," to " + name); }

ObjectsDeleteAll - funkcja usuwa wszystkie obiekty określonego typu ze wskazanego okna/podokna wykresu. Funkcja zwraca ilość usuniętych obiektów. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). Notes: Jeśli podana wartość indeksu okna jest nieprawidłowa lub równa -1 to zostaną usunięte wszystkie obiekty z okna na którym wywołano funkcję ObjectsDeleteAll(). Jeśli podana wartość typu obiektu jest nieprawidłowa lub równa -1 to zostaną usunięte wszystkie obiekty z okna na którym wywołano funkcję ObjectsDeleteAll(). int ObjectsDeleteAll( int window=empty, int type=empty ) Parametry: window indeks okna z zakresu 0 do WindowsTotal() lub wartość domyślna EMPTY wówczas usuwa obiekty z okna głównego oraz podokien type indeks typu obiektu jaki ma zostać usunięty lub wartość domyślna wówczas usuwa wszystkie typy obiektów Wartość zwracana: liczba usuniętych obiektów. // usuwa wszystkie obiekty typu linia pozioma z 1 podokna ObjectsDeleteAll(2, OBJ_HLINE); // usuwa wszystkie typy obiektów z 2 podokna ObjectsDeleteAll(2); // usuwa wszystkie obiekty z wszystkich okien ObjectsDeleteAll();

ObjectSet - funkcja ustawia parametry obiektu graficznego określone poprzez nazwę obiektu oraz indeks parametru opisującego obiekt. Jeśli funkcja powiedzie się zwraca wartość true, w przeciwnym razie false. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). bool ObjectSet( string name, int index, double value ) Parametry name nazwa obiektu graficznego index indeks parametru opisującego obiekt value nowa wartość parametru obiektu Wartość zwracana true jeśli funkcja zakończyła się powodzeniem, false jeśli funkcja zakończyła się niepowodzeniem // ustawia wartość parametru time1 linii trendu na czas ostatniego słupka wykresu ObjectSet("MojaLiniaTrendu", OBJPROP_TIME1, Time[0]); // ustawia drugi (indeks 1) poziom obiektu Fibonacci ObjectSet("MojPoziomFibo", OBJPROP_FIRSTLEVEL+1, 1.3402); // ustawia widoczność obiektu będzie widoczny tylko na wykresie 15 minutowym ObjectSet("MojObjektNaWykresie", OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15 OBJ_PERIOD_H1); // tworzymy nowy obiekt tekstowy typu label na wykresie a następnie zmienia jego położenie if(!objectcreate("label_object1", OBJ_LABEL, 0, 0, 0)) { Print("błąd: nie mogę utworzyć obiektu #",GetLastError()); return(0); } ObjectSet("label_object1", OBJPROP_XDISTANCE, 200); ObjectSet("label_object1", OBJPROP_YDISTANCE, 100); Stałe określające właściwości obiektów mogą przyjmować poniższe wartości (patrz Tabela 2).

ObjectSetText - funkcja ustawia opis tekstowy i format tekstu obiektów typu OBJ_TEXT oraz OBJ_LABEL. Jeśli funkcja powiedzie się zwraca wartość true, w przeciwnym razie false. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). bool ObjectSetText( string name, string text, int font_size, string font=null, color text_color=clr_none ) Parametry: name nazwa obiektu graficznego typu tekstowego text tekst obiektu font_size wielkość czcionki w punktach font nazwa rodzaju czcionki text_color kolor czcionki Wartość zwracana: true jeśli funkcja zakończyła się powodzeniem false jeśli funkcja zakończyła się niepowodzeniem. if(!objectcreate("label_object1", OBJ_LABEL, 0, 0, 0)) { Print("błąd: nie mogę utworzyć obiektu #",GetLastError()); return(0); } ObjectSet("label_object1", OBJPROP_XDISTANCE, 200); ObjectSet("label_object1", OBJPROP_YDISTANCE, 100); ObjectSetText("label_object1", "To jest test", 10, "Times New Roman", Red);...

ObjectType - funkcja zwraca typ obiektu na podstawie podanej nazwy obiektu. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). int ObjectType( string name ) Parametry: name nazwa obiektu graficznego. Wartość zwracana: indeks typu obiektu określony nazwą. int obj_typ = ObjectType("linia_122"); Print( "Indeks typu obiektu linia_122 to " + obj_type ); ObjectGetFiboDescription - funkcja zwraca wartość opisową obiektu graficznego typu Fibonacci. Obiekt typu Fibonacci może posiadać do 32 poziomów, z których wartości opisowe pobieramy poprzez podanie indeksu poziomu numerując od 0 do 31. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). string ObjectGetFiboDescription( string name, int index ) Parametry: name nazwa obiektu graficznego, index indeks poziomu Fibonacci (0-31). Wartość zwracana: wartość parametru opisującego obiekt. string tekst; for(int i=0;i<32;i++) { tekst = ObjectGetFiboDescription( MojObjektFibo, i ); if( GetLastError()!= 0 ) break; Print( MojObjektFibo,"poziom: ",i," tekst opisu: ",tekst); }

ObjectGetShiftByValue - funkcja wyznacza numer słupka na podstawie podanej wartości ceny. Indeks słupka na wykresie wyznaczany jest na podstawie pierwszej i drugiej pary parametrów opisujących obiekt np. typu OBJ_TREND. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). int ObjectGetShiftByValue( string name, double value) Parametry: name nazwa obiektu graficznego value wartość ceny. Wartość zwracana: wyznaczony numer słupka. int przesunięcie = ObjectGetShiftByValue("MojaLiniaTrendu", 1.3402); ObjectGetValueByShift - funkcja wyznacza numer słupka na podstawie podanego numeru słupka. Indeks słupka na wykresie wyznaczany jest na podstawie pierwszej i drugiej pary parametrów opisujących obiekt np. typu OBJ_TREND. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). double ObjectGetValueByShift( string name, int shift ) Parametry name nazwa obiektu graficznego shift numer słupka na wykresie double price = ObjectGetValueByShift("MojaLiniaTrendu", 12);

ObjectSetFiboDescription - funkcja ustawia nowy opis dla obiektu, poziomów Fibonacciego. Poziomy Fibonacciego oznaczane są indeksem od 0 do 31. Jeśli funkcja powiedzie się zwraca wartość true, w przeciwnym razie false. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). bool ObjectSetFiboDescription( string name, int index, string text ) Parametry: name nazwa obiektu graficznego index numer indeksu poziomu Fibonacciego. text nowy opis poziomu Fibonacciego Wartość zwracana: true jeśli funkcja zakończyła się powodzeniem false jeśli funkcja zakończyła się niepowodzeniem. ObjectSetFiboDescription("MojPoziomFibo",2,"Druga linia 0.707"); źródło: http://bossa.pl/index.jsp?layout=2&page=0&news_cat_id=1141