Mój EA - Formacje świecowe

O jezykach programowania w platformach i nie tylko.
asrt
Uczestnik
Uczestnik
Posty: 3
Rejestracja: 06 kwie 2014, 08:55

Mój EA - Formacje świecowe

Nieprzeczytany post autor: asrt »

Witam.
Mam problem z moim EA, mianowicie nie zawiera transakcji na cenie zamknięcia świecy, tylko na kolejnej i robią się później cyrki - screen w załączniku, kod poniżej. Czy można to napisać tak żeby w momencie zamknięcia zawierał transakcję?
Sprawdzenie momentu wejścia:

Kod: Zaznacz cały

bool objecie_hossy()
   {
   if((Open[0]<Close[1])&&(Close[0]>Open[1])) return(TRUE);
   else return(FALSE);
   }
bool objecie_bessy()
   {
   if((Open[0]>Close[1])&&(Close[0]<Open[1])) return(TRUE);
   else return(FALSE);
   }
Wykonywanie operacji:

Kod: Zaznacz cały

void CheckForOpen()
  {
   if (Hour() >= StartTradingHour || Hour() <= EndTradingHour)//Unikanie SWAP
   {
// sprawdzanie czy sprzedać
      if(objecie_bessy() && curentTime != Time[0])
        {               
          ticket = OrderSend(Symbol(), OP_SELL, 0.1, Bid, 0, Ask+(StopLoss*Point), 0, "", 4, 0, Red);
          
   	    curentTime = Time[0];
          Print("I am inside (sell)", curentTime);
          //----
          if(ticket < 0) //Sprawdzenie errora jeśli nie zostanie założona transakcja
            {
              Print("OrderSend failed with error #", GetLastError());
            }
        }
// sprawdzenie czy kupić
      if(objecie_hossy() && curentTime != Time[0])
        {
          ticket = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 0, Bid-(StopLoss*Point), 0, "", 5, 0, Green);
          
   	    curentTime = Time[0];
          Print("I am inside (buy)", curentTime);
          //----
   	   if(ticket < 0) //Sprawdzenie errora jeśli nie zostanie założona transakcja
            {
              Print("OrderSend failed with error #", GetLastError());
            }
        } 
   }
  }
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

David_Plavko
Gaduła
Gaduła
Posty: 132
Rejestracja: 27 sie 2011, 13:10

Re: Mój EA - Formacje świecowe

Nieprzeczytany post autor: David_Plavko »

A jak chcesz sprawdzić końcową cenę świecy nie czekając na jej koniec ? Po Close następuje Open kolejnej świecy i po tej cenie możesz kupić jeśli nie jesteś wróżbitą Maciejem ;)

asrt
Uczestnik
Uczestnik
Posty: 3
Rejestracja: 06 kwie 2014, 08:55

Re: Mój EA - Formacje świecowe

Nieprzeczytany post autor: asrt »

OK.
Kolejne pytanie: trzecia strzałka od lewej (drugi sell) - w przypadku dwóch poprzednich świec nie zostały spełnione wymagania z objecie_bessy - powinien być false i transakcja sell nie powinna mieć miejsca. Co źle zrobiłem, że zaczytał tą transakcję ?

David_Plavko
Gaduła
Gaduła
Posty: 132
Rejestracja: 27 sie 2011, 13:10

Re: Mój EA - Formacje świecowe

Nieprzeczytany post autor: David_Plavko »

Został spełniony warunek Open[0]>Close[1])&&(Close[0]<Open[1]. Tak jak pisałem wcześniej, Close[0] świecy to tak naprawdę aktualna cena, świeca nie będzie się zmieniać dopiero po jej zamknięciu. Zadaj sobie pytania: kiedy tworzy się formacja objęcia ? Ile świec musi minąć? Na której możesz stwierdzić , że wystąpiła ?

asrt
Uczestnik
Uczestnik
Posty: 3
Rejestracja: 06 kwie 2014, 08:55

Re: Mój EA - Formacje świecowe

Nieprzeczytany post autor: asrt »

Dziękuję za podpowiedź.
Muszą minąć 2 świece i na 3 (aktualnej) robię transakcję - czyli chodzi o zmianę warunku na: (Open[1]>Close[2])&&(Close[1]<Open[2]) - i wówczas na cenie otwarcia aktualnej świecy [0] mi założy transakcję, czy dobrze rozumiem, czy coś mieszam ?

-- Dodano: 06 kwie 2014, 12:19 --

dodałem 2 dodatkowe warunki i działa poprawnie - Dziękuję za pomoc

ODPOWIEDZ