Poszukuję kogoś kto zrobił by dla mnie prosty automat

O jezykach programowania w platformach i nie tylko.
Zlepek
Bywalec
Bywalec
Posty: 16
Rejestracja: 30 sie 2018, 09:00

Re: Poszukuję kogoś kto zrobił by dla mnie prosty automat

Nieprzeczytany post autor: Zlepek »

OK Wielkie dzięki. !!! Należy Ci się wielka flaszka a jak strategia przyniesie zyski to podeślę a w sumie już chyba wszystko o niej wiesz :)Kwestia dobrania odpowiednich godzin i sl. Nie używałem nigdy EA to moje pierwsze podejście do tego tematu. Wiem że nie odpalę 2 EA na jednym wykresie. Ale czy jeśli odpalę 3 badź 5 wykresów EUR USD i na każdym innego EA z innym MagicalNumber to nie będzie się to gryzło ? Chyba nie powinno co ?

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

Re: Poszukuję kogoś kto zrobił by dla mnie prosty automat

Nieprzeczytany post autor: LowcaG »

Kod: Zaznacz cały

if (Hour() == 23 && Minute() == 57) 
Unikał bym takich ostrych warunków. Tak po prostu dla bezpieczeństwa.

Hipotetycznie, nie przyjdzie tick w tej minucie, (kłopoty z łączem itp.albo po prostu nie przyjdzie) i nie zamyka Ci pozycji jak już będzie później.

Lepiej napisać osobną funkcję która sprawdza czy już jest czas zamknięcia.


Kolejna sprawa, zamkykasz nie po magic number, tylko wszystkie.

Zmieniasz TP czy tam SL też chyba bez magic number.

-rookie-
Maniak
Maniak
Posty: 2307
Rejestracja: 13 kwie 2015, 19:00

Re: Poszukuję kogoś kto zrobił by dla mnie prosty automat

Nieprzeczytany post autor: -rookie- »

LowcaG pisze:Kolejna sprawa, zamkykasz nie po magic number, tylko wszystkie.
Zmieniasz TP czy tam SL też chyba bez magic number.
Masz racje, teraz zamyka wszystkie pozycje, więc jakby odpalił kilka EA z różnym magic number to i tak zamknie wszystkie. Ale to jest chyba tylko 1 linijka kodu do dodania która sprawdza czy Magic Number z otwartego zlecenia jest tym z ustawień EA. Z tym zamykaniem to dałbym po prostu samą godzine bez minut, wtedy przez całą godzine będzie wywoływana ta funkcja. Albo ustawić zakres od do np większe od 23:30 ale mniejsze od 24:00 wtedy tylko w tym zakresie by zamykało zamiast o konkretnej minucie i wszystkie ticki w tym okresie byłoby uwzględnione, a tak to tutaj też masz racje, może nie być kwotowań w tej konkretnej minucie u danego brokera i nie zamknie.

grzesq
Stały bywalec
Stały bywalec
Posty: 30
Rejestracja: 10 lip 2009, 16:57

Re: Poszukuję kogoś kto zrobił by dla mnie prosty automat

Nieprzeczytany post autor: grzesq »

Myślę że można również rozważyć użycie OnTimer do wykonania zadań w ustalonym czasie.

-rookie-
Maniak
Maniak
Posty: 2307
Rejestracja: 13 kwie 2015, 19:00

Re: Poszukuję kogoś kto zrobił by dla mnie prosty automat

Nieprzeczytany post autor: -rookie- »

grzesq pisze:Myślę że można również rozważyć użycie OnTimer do wykonania zadań w ustalonym czasie.
Masz jakiś prosty przykład jak można tego użyć?

grzesq
Stały bywalec
Stały bywalec
Posty: 30
Rejestracja: 10 lip 2009, 16:57

Re: Poszukuję kogoś kto zrobił by dla mnie prosty automat

Nieprzeczytany post autor: grzesq »

Tak na szybko bo nie mam teraz dostępu do platformy.

Kod: Zaznacz cały


int OnInit()
{
   // inicjujemy timer
   EventSetTimer(1); // ustalamy czas w sekundach
  return 0;
}

// Wywoluje sie cykicznie co 1s.
void OnTimer()
{
  Print("sekunda");
}

void OnDeinit(const int reason)
{
  // Zatrzymujemy timer
  EventKillTimer();
}

-rookie-
Maniak
Maniak
Posty: 2307
Rejestracja: 13 kwie 2015, 19:00

Re: Poszukuję kogoś kto zrobił by dla mnie prosty automat

Nieprzeczytany post autor: -rookie- »

Dobre, może się przydać kiedyś takie rozwiązanie żeby co 1 sekunde sprawdzać coś tam... thx.

Zlepek
Bywalec
Bywalec
Posty: 16
Rejestracja: 30 sie 2018, 09:00

Re: Poszukuję kogoś kto zrobił by dla mnie prosty automat

Nieprzeczytany post autor: Zlepek »

Macie rację z tym zamykaniem pozycji. W piątki kwotowania mam do 22:59 więc nie zamyka pozycji. No ale to akurat najmniejszy szczegół. Martwi mnie fakt że zamyka mi wszystkie pozycje a nie tylko te z danego EA ;( i jak już się domyślacie sam na to nie wpadę jak to zmienić

grzesq
Stały bywalec
Stały bywalec
Posty: 30
Rejestracja: 10 lip 2009, 16:57

Re: Poszukuję kogoś kto zrobił by dla mnie prosty automat

Nieprzeczytany post autor: grzesq »

Gdybys poswiecil troche czasu na przejrzenie dokumentacji ktora Ci podeslalem to bys "wpadl".

http://bossa.pl/index.jsp?layout=2&page ... at_id=1353
http://bossa.pl/index.jsp?layout=2&page ... at_id=1346

Zlepek
Bywalec
Bywalec
Posty: 16
Rejestracja: 30 sie 2018, 09:00

Re: Poszukuję kogoś kto zrobił by dla mnie prosty automat

Nieprzeczytany post autor: Zlepek »

Dzięki wielkie czytam i czytam ale dla mnie to dalej pozostaje czarną magią. Ale to dla tego że zabrałem się za to od złej strony. Najpierw powinienem poznać podstawy programowania a dopiero później zajrzeć tu i się wypowiadać. Więc teraz kolej na mnie. Potrzebuję książki - materiałów do poznania mql4 od podstaw. Dzięki wam wiem już jak napisać prymitywny kod do otwierania pozycji ale teraz potrzebuję czegoś więcej. Mam sporo wolnego czasu więc wykorzystam go. Od czego zacząć interesuje mnie poznanie tego wszystkiego od podszewki z gotowymi kodami na podstawowe funkcje i zobaczenie jak to działa. Czytam teraz i staram się zrobić SL który będzie równy połowie poprzedniej świecy z H1 na podstawie różnicy Otwarcia i Zamknięcia poprzedniej świecy H1

Kod: Zaznacz cały

 for(int i=OrdersTotal(); i>=0; i--)
   {
      if(OrderSelect(i, SELECT_BY_POS)==true)
      {
         if (OrderType() == 0)
         {
         double n = ( (iOpen ( Symbol(), PERIOD_H1, 1 ) ));
         //Print( n );
         double m = ((iClose(Symbol(), PERIOD_H1, 1 ))) ;
         //Print( m );
            if  OrderOpenPrice  > m
            {
               double new_sl = NormalizeDouble(OrderStopLoss()+(MarketInfo(Symbol(),MODE_STOPLEVEL)+((n+m)/2);
               OrderModify(OrderTicket(), OrderOpenPrice(), new_sl, OrderTakeProfit(), 0, clrNONE);
            }
         }
Czy dobrze kombinuje ? Czy zostawić to i poczytać podstawowe materiały ?

ODPOWIEDZ