Strategia nie dziala w "realu"

O jezykach programowania w platformach i nie tylko.
piotrekm060
Bywalec
Bywalec
Posty: 10
Rejestracja: 19 paź 2012, 17:54

Re: Strategia nie dziala w "realu"

Nieprzeczytany post autor: piotrekm060 »

widze ze wszyscy na tym forum maja wyjeba....ne, z malymi wyjatkami, trzeba znalezc nowe...

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Re: Strategia nie dziala w "realu"

Nieprzeczytany post autor: personov »

TS to jest całkiem niezależna funkcja. Pokaże Ci jak to zapisać.
Na końcu kodu doadj funkcję ;

Kod: Zaznacz cały

////////////////////////////////////////////////////////////////////////
void ts(int cmd)
{  for (int i=0;i<=OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if (Symbol()==OrderSymbol() && magic==OrderMagicNumber() && cmd==OrderType() && OrderStopLoss()!=0)
      {
         double sl;
         color  cl;
         if (OrderType()==OP_BUY)
         {
            if (Bid>=OrderOpenPrice()+ActivateTS*myPoint)
            {
               if (Bid-OrderStopLoss()>=(StepTS)*myPoint)
               {  
                  sl = Bid-StepTS*myPoint;
               }
            }
            cl = Blue;
         }
         if (OrderType()==OP_SELL )
         {
            if (Ask<=OrderOpenPrice()-ActivateTS*myPoint) 
            {
               if (OrderStopLoss()-Ask>=(StepTS)*myPoint)
               {  
                  sl = Ask+StepTS*myPoint;
               }
            }
            cl = Red;
         }
         if (sl!=0)
         {
            int ticket = OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,cl);
            if (ticket<=0) Print(ErrorDescription(GetLastError()));
         }
      }
   }
}
Na początku kodu zdefiniuj ;

Kod: Zaznacz cały

#include <stdlib.mqh>
extern bool   TrailingStop        = true;
extern int    ActivateTS          = 10;
extern int    StepTS              = 10;
i w funkcji Start () daj :

Kod: Zaznacz cały

if (total(OP_BUY )>0 && TrailingStop==true) ts(OP_BUY );
  if (total(OP_SELL)>0 && TrailingStop==true) ts(OP_SELL);
Jakby coś nie grało to pytaj.
Solą życia jest kasa.

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

Re: Strategia nie dziala w "realu"

Nieprzeczytany post autor: Pierz Andrzej »

piotrekm060 pisze:widze ze wszyscy na tym forum maja wyjeba....ne, z malymi wyjatkami, trzeba znalezc nowe...
bez obrazy ale czego Pan oczekuje ? że ktoś za Pana napisze gotowe EA ? na forum jest pełno tematów dotyczących Trailing Stop , naprwde wystarczy poszukać .
Poprostu pomylił Pan kolejność najpierw szukamy tematu na forum jak gpo nie znajdujemy dopiero wtedy zadajemy pytanie a Pan to zrobił odwrotnie .
Jeżeli chce Pan pisać automaty musi sie oswoić z mysla ze najpierw szukamy kombinujemy a dopier potem zwracamy sie z prosba ;) , ja sie Pan nie nauczy samodzielnosci to bedzie ciezko i takie postu bedzie Pan pisal co drugi dzien .
Prosze nie odbierac niegatywnie mojego postu wrecz przeciwnie ja chce jak najlepiej ;)

-- Dodano: pt 26-10-2012, 7:05 --

z tego co wyczytalem na PW ma przestwiac tez TP wiec w miejsce

Kod: Zaznacz cały

Ordetakeprofit()
nalezy wstawic odpowiednio
dla buy

Kod: Zaznacz cały

 Ask + Takeprofit * Point
dla sell

Kod: Zaznacz cały

 Bid - Takeprofit * Point
tylko powiem szczerze zenie wiem po co ? bo w teorii to nigdy nie wylapie TP :) no chyba ze bedzie tak szybki ruch ze nie zdazy przestawic TP
z poważaniem
Andrzej Pierz
FOREX-SERVICE

piotrekm060
Bywalec
Bywalec
Posty: 10
Rejestracja: 19 paź 2012, 17:54

Re: Strategia nie dziala w "realu"

Nieprzeczytany post autor: piotrekm060 »

nie oczekuje tego ze ktos za mnie napisze EA, bo juz go po w malej czesci napisalem, jest proste ale moze tu jest haczyk, a nie w wymyslaniu jakis zlozonych, a co do TP, a owsze szukałem, po czesci znalazlem, po przeanalizowaniu, nie dzialalo, wiec zamiescilem pytanie, Andrzeju nie odbieram Twojego postu negatywnie tylko jako "rade", po co mi TP? kto nie kombinuje ten niema :)

ODPOWIEDZ