Symulacja ręczna na MT4

O jezykach programowania w platformach i nie tylko.
lekarz
Stały bywalec
Stały bywalec
Posty: 55
Rejestracja: 06 maja 2010, 07:53

Symulacja ręczna na MT4

Nieprzeczytany post autor: lekarz » 12 wrz 2019, 18:05

Ponieważ chciałem przeprowadzić symulacje ręczną na platformie MT4, a obecne na rynku mi nie odpowiadają (darmowe nie posiadają odpowiednich dla mnie funkcji, a płatne są za drogie) postanowiłem stworzyć własny skrypt. Jest on już na dość zaawansowanym etapie. Ale mam problem.
Chciałbym zrobić listę otwartych zleceń. Taką przewijaną aby można było śledzić dużą ilość zleceń. Problem w tym że nie mam pomysłu jak to zrobić.
Prosiłbym kolegów o jakieś naprowadzenie lub przykład:)

ninjaproject
Gaduła
Gaduła
Posty: 101
Rejestracja: 30 lip 2019, 13:15

Re: Symulacja ręczna na MT4

Nieprzeczytany post autor: ninjaproject » 12 wrz 2019, 18:11

Lista otwartych zleceń jest w MT4 w Terminalu na dole.

ninjaproject
Gaduła
Gaduła
Posty: 101
Rejestracja: 30 lip 2019, 13:15

Re: Symulacja ręczna na MT4

Nieprzeczytany post autor: ninjaproject » 12 wrz 2019, 18:20

Natomiast, listę tradów otwartych wywołujemy tak:

Kod: Zaznacz cały


   for(i=0; i<OrdersTotal(); i++)
     {
    if(OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
     {
     Funkcja_Wykonawcza();
     }
     }

lekarz
Stały bywalec
Stały bywalec
Posty: 55
Rejestracja: 06 maja 2010, 07:53

Re: Symulacja ręczna na MT4

Nieprzeczytany post autor: lekarz » 13 wrz 2019, 15:05

@ninjaproject to wszystko ja wiem. Pytanie jak stworzyć przewijaną listę.

ninjaproject
Gaduła
Gaduła
Posty: 101
Rejestracja: 30 lip 2019, 13:15

Re: Symulacja ręczna na MT4

Nieprzeczytany post autor: ninjaproject » 13 wrz 2019, 15:27

A, to normalnie w MQL4 nie ma takiej opcji. Możesz skorzystać z MT4GUI:
https://fx1.net/products.php

lekarz
Stały bywalec
Stały bywalec
Posty: 55
Rejestracja: 06 maja 2010, 07:53

Re: Symulacja ręczna na MT4

Nieprzeczytany post autor: lekarz » 13 wrz 2019, 21:36

A jak zrobić żeby algorytm był wykonywany nie tylko w momencie Ticku-u ale w każdej dowolnej chwili?

ninjaproject
Gaduła
Gaduła
Posty: 101
Rejestracja: 30 lip 2019, 13:15

Re: Symulacja ręczna na MT4

Nieprzeczytany post autor: ninjaproject » 13 wrz 2019, 21:50

W MQL4 masz funkcję OnTimer().
https://docs.mql4.com/basis/function/events
Z tym, że operacji na transakcjach nie można wykonać OnTimer().

lekarz
Stały bywalec
Stały bywalec
Posty: 55
Rejestracja: 06 maja 2010, 07:53

Re: Symulacja ręczna na MT4

Nieprzeczytany post autor: lekarz » 15 wrz 2019, 14:47

Ok. Zabieram się za kodowanie. W międzyczasie wyskoczył jeszcze jeden problem. Otóż nie wiem dlaczego ale kurs wyświetla mi się czasami jako bardzo długa liczba po przecinku. Co zrobić żeby tak nie było i jednocześnie, abym mógł spokojnie operować na różnych instrumentach bez zmiany kodu (patrz załącznik)?
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

ninjaproject
Gaduła
Gaduła
Posty: 101
Rejestracja: 30 lip 2019, 13:15

Re: Symulacja ręczna na MT4

Nieprzeczytany post autor: ninjaproject » 15 wrz 2019, 15:41

Kod: Zaznacz cały

NormalizeDouble(double, Digits);
Bez tego też ci EA pozycji nie otworzy, ani SL, ani TP.
A, dla string:

Kod: Zaznacz cały

DoubleToString(double, norma);

lekarz
Stały bywalec
Stały bywalec
Posty: 55
Rejestracja: 06 maja 2010, 07:53

Re: Symulacja ręczna na MT4

Nieprzeczytany post autor: lekarz » 15 wrz 2019, 16:14

NormalizeDouble(double, Digits);
z tego co pamiętam to określa ilość miejsc po przecinku, a więc nie do końca rozwiązuje to mój problem bo mogą być kursy z miejscami po przecinku w różnych miejscach:
1. 12222.0
2. 0.9888
Chyba, że mogę np. zostawić sobie np. dla EURUSD powiedzmy 10 miejsc po przecinku i to przejdzie?

ODPOWIEDZ