Serwis Forex-nawigator.biz korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.
Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce. [Zamknij tą informację]

Dzisiaj jest 19 sie 2018, 05:36     PREMIA 30$ bez depozytu! Dodatkowo aż do 50% bonusu od wpłaty w XM!



[EA] zlecenie po weryfikacji Magicnumber

O jezykach programowania w platformach i nie tylko.
  • Autor
  • Wiadomość
Offline

poxter

Stały bywalec

Stały bywalec

[EA] zlecenie po weryfikacji Magicnumber

Nieprzeczytany post13 lut 2018, 01:37

Dobry ludziska
napotkałem na problem z którym się borykam już od kilku godzin i rozwiązanie nie chce się nasunąć

Zalożenie -EA ma zająć pozycję gdy OrderTotal =0 lub gdy >1 lecz brak pozycji z określonym MagicNumber

Ni chuchu mi nie wchodzi żadna pozycja

Kod: Zaznacz cały
 total=0;
if(OrdersTotal()>=0)
{
  for(i=0; i<=OrdersTotal(); i++)         
     {
      if (OrderSelect(i-1,SELECT_BY_POS)==true)
        {
          if(OrderMagicNumber()==15) total++; continue;
//jeśli nie ma otwartej pozycji, lub są ale po MagicNumerze nie ma to kupuje         
          if(total==0)
//warunek kupna     
      if(iopen1<iclose1)
      {
      ticket=OrderSend("EURUSD",OP_BUY,0.1,ASK,Slippage,0,0,15,15,15,Green);
      return(0);
      }
//warunek sprzedaży     
      if(iopen1>iclose1)
      {
      ticket=OrderSend("EURUSD",OP_SELL,0.1,BID,Slippage,0,0,15,15,15,Red);
      return(0);
      }
      }
     }


lub próbuje w ten deseń choć praktycznie to samo
Kod: Zaznacz cały
   int total=0;
   for(int m=0;m<OrdersTotal();m++)
     {
      bool select=OrderSelect(m,SELECT_BY_POS,MODE_TRADES);
      if(OrderMagicNumber()==15)
      total+=1;
       if(total<1)
      {
      // check for long position (BUY) possibility
      if(iopen1<iclose1)
      {
      ticket=OrderSend("EURUSD",OP_BUY,0.1,Ask,Slippage,0,0,15,15,15,Green);
      return(0);
      }
      // check for short position (SELL) possibility
      if(iopen1>iclose1)
      {
      ticket=OrderSend("EURUSD",OP_SELL,0.1,Bid,Slippage,0,0,15,15,15,Red);
      return(0);
      }
      }
      }
Offline
Awatar użytkownika

Mustafa

Pasjonat

Pasjonat

  • Posty: 834
  • Rejestracja: 20 lip 2010, 10:54
  • Lokalizacja: rewelacja
  • Pochwały: 4

Re: [EA] zlecenie po weryfikacji Magicnumber

Nieprzeczytany post13 lut 2018, 10:15

Użyłeś continue bez if'a więc uwala resztę kodu i przechodzi do następnego obrotu pętli. Poza tym przelicz w pętli ile masz zleceń i dopiero poza pętlą otwierasz pozycje. Błąd logiczny polega na tym, że po każdym obrocie pętli program będzie sprawdzał i próbował otwierać pozycje, a warunek total==0 będzie sprawdzony dopiero po przejściu przez całą pętlę.

Kod: Zaznacz cały
int  total = 0;
int ot = OrdersTotal();

for(int i = 0 ; i < ot; i ++)
{
   if(OrderSelect (i, SELECT_BY_POS) == true)
   {
       if(OrderMagicNumber()==15)
       {
            total++;
            break;// break może być opcjonalnie jeżeli nie potrzeba zliczać wszystkich MagicNumber
       }
   }
}

if(total==0)
{

}
but who cares
Offline

poxter

Stały bywalec

Stały bywalec

Re: [EA] zlecenie po weryfikacji Magicnumber

Nieprzeczytany post14 lut 2018, 00:23

Wielkie dzięki !!

Wróć do Programowanie

Kto jest online

Użytkownicy przeglądający to forum: Google Adsense [Bot] i 4 gości

cron