Praca z niestandardowymi oknami w cTrader Algo
W tym artykule i odpowiadającym mu filmie porozmawiamy o pracy z niestandardowymi oknami podczas tworzenia algorytmów cTrader. Wyjaśnimy, czym są niestandardowe okna i jak mogą być używane w Twoich cBotach i wskaźnikach. Stworzymy również przykład użycia niestandardowego okna w cBocie.
Przykład niestandardowego okna
Teraz przełączymy się do aplikacji Algo, aby zobaczyć ilustrację tego, jak niestandardowe okna mogą być używane w Twoich cBotach i wskaźnikach. Stworzymy nowy wskaźnik; w nim po prostu użyjemy gotowego przykładu z dokumentacji.
Skopiuj i wklej kod z dokumentacji do okna edytora kodu. Następnie skompiluj wskaźnik i dodaj instancję do wykresu.
Gdy tylko wskaźnik zostanie dodany, powinniśmy zobaczyć wyskakujące okno niestandardowe. To okno zawiera złożony formularz wyświetlający informacje o symbolu, do którego wykresu wskaźnik jest obecnie dołączony. Ten formularz to świetny przykład tego, co można osiągnąć za pomocą okien niestandardowych.
Okna niestandardowe a WPF i WinForms
Istnieje kilka powodów, dla których korzystanie z okien niestandardowych jest lepsze niż korzystanie z WPF lub WinForms. Okna niestandardowe cTrader mają już natywny styl, który pasuje do wyglądu i stylu cTrader. Okna WinForms i WPF wymagają specjalnej obsługi i zaawansowanych umiejętności programowania, ponieważ działają w różnych wątkach. Takich problemów można całkowicie uniknąć, korzystając z okien niestandardowych cTrader.
Tworzenie okna niestandardowego
Teraz pokażemy, jak można utworzyć okno niestandardowe od podstaw. Utworzymy nowy wskaźnik i nazwiemy go „Custom Window Example". W tym przykładzie dodamy okno niestandardowe, a następnie dodamy do niego niestandardowe kontrolki. Samo okno zostanie zadeklarowane w metodzie Initialize(); aby wyświetlić okno, wywołamy metodę window.Show().
1 2 3 4 5 6 7 8 9 10 11 | |
Aby zobaczyć okno, możemy skompilować wskaźnik i dodać go do wykresu.
Dodawanie kontrolek do okna
Teraz dodamy niestandardowe kontrolki do okna. Te kontrolki będą miały formę pola tekstowego zawierającego tekst.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Ponownie skompilujemy wskaźnik i dodamy nową instancję, aby zobaczyć, jak wyglądają nasze niestandardowe kontrolki.
Modyfikowanie właściwości okna
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Ponownie skompilujemy nasz wskaźnik i dodamy instancję. Teraz obszar naszego okna to prostokąt o szerokości i wysokości 800 pikseli.
Następna zmiana będzie polegać na dodaniu zakresu, w którym można zmienić rozmiar okna. Aby to zrobić, dodamy parametry MinHeight, MaxHeight, MinWidth i MaxWidth.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Ponownie skompilujemy wskaźnik, a po dodaniu instancji możemy spróbować zmienić jego rozmiar. Zmiana rozmiaru jest możliwa tylko w określonym zakresie szerokości i wysokości.
Możemy również zmienić kolor tła okna i sprawić, że nie będzie można zmieniać jego rozmiaru.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Po wykonaniu zwykłych czynności (ponownej kompilacji wskaźnika i dodaniu instancji) okno powinno mieć nowy kolor tła.
Podsumowanie
Okna niestandardowe cTrader są elastyczne i można je w dużym stopniu dostosowywać. Oprócz wymienionych powyżej właściwości możesz również zmieniać marginesy i wypełnienie, widoczność okien niestandardowych oraz to, czy są aktywne w określonych warunkach. Okna niestandardowe cTrader udostępniają również metody ich wyświetlania, ukrywania i zamykania, a także kilka innych procedur obsługi zdarzeń.