Tam je deklarujesz jako zmienne.Mistyfikator pisze: ↑27 kwie 2022, 14:26Dlaczego wyświetla się komunikat "Zły TP i SL"?Dodam, że zmienne Tnij i Bierz mam zadeklarowane w inputs double, poza void, pod property.Kod: Zaznacz cały
if(Ask>SMAm1&&Ask>SMAm5&&Ask>SMAm15&&Ask>SMAm30&&Ask>SMAH1) { OrderSend(NULL,0,Ile,Ask,2.00,Tnij,Bierz,NULL,0,0,clrNONE);} if(Bid<SMAm1&&Bid<SMAm5&&Bid<SMAm15&&Bid<SMAm30&&Bid<SMAH1) { OrderSend(NULL,1,Ile,Bid,2.00,Tnij,Bierz,NULL,0,0,clrNONE);}
Czy chodzi o to, żeby tą deklarowaną wartość dodatkowo odjąć/dodać od ceny otwarcia? Czy MQL4 sam to robi?
A może trzeba zadeklarować _Digits? Ja zrozumieałem, że jest to predefiniowalne...
Jak w takiej sytuacji deklaruje się SL? Bo widzę, że to jeden z argumentów OrderSend?
Czy służy do tego OrderStopLoss?
Będę potrzebował zapisać coś w tym stylu:
1. if ASK >= X, wtedy SL = OpenPrice+Y
2. if SL >= OpenPrice, wtedy OrderSend(NULL,0,Ile,Ask,2.00,Tnij,Bierz,NULL,0,0,clrNONE)
W ogóle jestem początkujący i tutaj pojawia się kolejne pytanie:
Strategia będzie umożliwiała otwarcie więcej niż jednej pozycji (coś w stylu piramidowania), czy w tej sytuacji konieczna jest identyfikacja każdej kolejnej pozycji przy pomocy jakiegoś Ticket, czy Magic Number?
Czy można to po prostu pominąć, jeśli parametry SL będą identyczne dla wszystkich otwartych pozycji (w zasadzie wszystkie parametry poza ceną otwarcia?
SL i TP to mają być konkretne ceny, nie punkty.
Jeżeli np. w inputs zadeklarowałeś SL = 200 pkt, to potrzebujesz policzyć cenę SL zanim ją wsadzisz do OrderSend(), no i nie zapomnij o znormalizowaniu do _Digits .
To samo z TP.
OrderStopLoss() służy do odczytu ceny SL dla istniejącej, lub historycznej pozycji.
PS. Czemu ty sobie nie ściągniesz jakiegokolwiek prostego EA i nie popatrzysz jak to jest zrobione?
Byłoby znacznie szybciej.