Przydatne funkcje MQL

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
rayzeel
Gaduła
Gaduła
Posty: 357
Rejestracja: 05 lis 2008, 14:47

Breakeven

Nieprzeczytany post autor: rayzeel »

Wątek ten będzie poświęcony gotowym funkcjom i rozwiązaniom w mql. Będą tutaj zamieszczane fragmenty kodów, które przede wszystkim początkujący, będą mogli wykorzystywać w swoich pierwszych EA. Sam niestety na razie nie mogę zbyt wiele tutaj zaproponować, ale myślę, że znajdą się osoby, które chętnie podzielą się swoimi rozwiązaniami danego problemu. Chodzi oczywiście i przede wszystkim o rzeczy typu: ustawianie BE, Trailing Stop, zliczanie otwartych pozycji, "tylko jedno zlecenie na sygnał", odczekanie "x" czasu po złożeniu zlecenia itd. itp. Rozwiązania mogą się powtarzać, bo chodzi tutaj o różne punkty widzenia, z których każdy będzie mógł wybrać najlepsze dla siebie.

Dodano po 3 minutach:

Po osiągnięciu X pipsów, EA przestawia SL na cenę otwarcia pozycji.

Kod: Zaznacz cały

 extern int be = X;

Kod: Zaznacz cały

  for(int x=total; x>=0; x--) 
      {  
         if(OrderSelect(x,SELECT_BY_POS,MODE_TRADES)) 
            {     
               if(OrderType()==OP_BUY) 
                  { 
                     if(OrderOpenPrice()+be*Point < Ask && OrderStopLoss()<OrderOpenPrice()) 
                        {  
                        OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,CLR_NONE); 
                        } 
                  } 
               if(OrderType()==OP_SELL) 
                  {  
                     if(OrderOpenPrice()-be*Point > Bid && OrderStopLoss()>OrderOpenPrice()) 
                        {  
                        OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,CLR_NONE); 
                        } 
                  }  
            } 
      } 

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Re: Breakeven

Nieprzeczytany post autor: Pierz Andrzej »

rayzeel pisze:Wątek ten będzie poświęcony gotowym funkcjom i rozwiązaniom w mql. Będą tutaj zamieszczane fragmenty kodów, które przede wszystkim początkujący, będą mogli wykorzystywać w swoich pierwszych EA. Sam niestety na razie nie mogę zbyt wiele tutaj zaproponować, ale myślę, że znajdą się osoby, które chętnie podzielą się swoimi rozwiązaniami danego problemu. Chodzi oczywiście i przede wszystkim o rzeczy typu: ustawianie BE, Trailing Stop, zliczanie otwartych pozycji, "tylko jedno zlecenie na sygnał", odczekanie "x" czasu po złożeniu zlecenia itd. itp. Rozwiązania mogą się powtarzać, bo chodzi tutaj o różne punkty widzenia, z których każdy będzie mógł wybrać najlepsze dla siebie.

Dodano po 3 minutach:

Po osiągnięciu X pipsów, EA przestawia SL na cenę otwarcia pozycji.


Kod: Zaznacz cały

 extern int be = X;

Kod: Zaznacz cały

  for(int x=total; x>=0; x--) 
      {  
         if(OrderSelect(x,SELECT_BY_POS,MODE_TRADES)) 
            {     
               if(OrderType()==OP_BUY) 
                  { 
                     if(OrderOpenPrice()+be*Point < Ask && OrderStopLoss()<OrderOpenPrice()) 
                        {  
                        OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,CLR_NONE); 
                        } 
                  } 
               if(OrderType()==OP_SELL) 
                  {  
                     if(OrderOpenPrice()-be*Point > Bid && OrderStopLoss()>OrderOpenPrice()) 
                        {  
                        OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,CLR_NONE); 
                        } 
                  }  
            } 
      } 
to jak juz kolega wrzuca kod to niech chodziaz bedzie kompletny :>
z poważaniem
Andrzej Pierz
FOREX-SERVICE

Awatar użytkownika
rayzeel
Gaduła
Gaduła
Posty: 357
Rejestracja: 05 lis 2008, 14:47

Nieprzeczytany post autor: rayzeel »

Ciekaw jestem, czego w nim brakuje ... Używam go i jakoś przenosi cenę na be. Poza tym :
rayzeel pisze:chodzi tutaj o różne punkty widzenia
także jak masz lepsze rozwiązanie to wrzucaj ;)

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

To dodaj jeszcze do tego kodu int total=OrdersTotal(); i bedzie ok :)

JAREK67
Maniak
Maniak
Posty: 2143
Rejestracja: 13 lip 2006, 11:21

Nieprzeczytany post autor: JAREK67 »

Pierz Andrzej pisze:To dodaj jeszcze do tego kodu int total=OrdersTotal(); i bedzie ok :)
no dobra jak się mamy uczyć to się uczmy. Co ten zapis oznacza?

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

JAREK67 pisze:
Pierz Andrzej pisze:To dodaj jeszcze do tego kodu int total=OrdersTotal(); i bedzie ok :)
no dobra jak się mamy uczyć to się uczmy. Co ten zapis oznacza?
po pierwsze primo.. ten watek chyba nie mial byc traktowany jako kurs tylko gotowe funkcje, latwe, szybkie i przyjemne ;) i co najwazniejsze latwe do uzyca, a w skutek takich pytan robi sie syf...

po drugie primo, najlepsza i najszybsza nauka w MQLu jest F1 w MetaEditorze, opisane jest tam praktycznie wszystko czego moze potrzebowac poczaktujacy programista (w zalozeniu ze jakies podstawy ma, tu propunuje byle jaki kurs podstawowy C C++(to nawet za duzo ;) ) badz tez javy, w praktyce moze ze to byc dowolny jezyk C podobny, kazdy znajdzie analogie do MQLa)

po trzecie primo, nalezalo by sie zaznajomic z podstawowymi slowami jezyka angielskiego ,po to aby moc czytac i tak nie skomplikowana dokumentacje MQLa, jak i moc wydeduowac znaczenie powyzszej komendy, czyt. Orders = Zlecenia Total = suma.

po ostatnie primo, jezeli ten watek ma miec sens nie powinno sie w nim zadawac zadnych pytan, tylko same kawalki kodu, najlepiej zawsze w postaci funkcji ktora nie uzywa zmiennych globalnych (no chyba ze trzeba).

Awatar użytkownika
fxBobi
Gaduła
Gaduła
Posty: 244
Rejestracja: 20 sie 2008, 18:43

Nieprzeczytany post autor: fxBobi »

ja proponuje tak aby zachowac taki schemat porządku poprostu aby powiadamiac prywatnie autora kodu o ewentualnym , pytania również keirować prywatnie , jeżeli błąd nie zostanie poprawiony to aby wysłąć powiadomienie do moda o tym aby skasował wątek

Awatar użytkownika
Pablo90
Pasjonat
Pasjonat
Posty: 1215
Rejestracja: 10 cze 2007, 15:36

Nieprzeczytany post autor: Pablo90 »

A ja proponuję, żeby usuwać stąd posty bez załączonego kodu.

ODPOWIEDZ