Break even edycja
Break even edycja
Mam taki oto znany skrypt, najprostszy, do ustawiania be. Czy ktoś potrafi mi wytłumaczyć jak go edytować? Chodzi o zmianę wartości be=0 na inną.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Re: Break even edycja
//+------------------------------------------------------------------+
//| Set Zero SL.mq4 |
//| Copyright © 2006, Eli Hayun |
//| http://www.elihayun.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Eli Hayun"
#property link "http://www.elihayun.com"
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() ;
if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Set Zero SL.mq4 |
//| Copyright © 2006, Eli Hayun |
//| http://www.elihayun.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Eli Hayun"
#property link "http://www.elihayun.com"
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string curr = Symbol();
int ot = OrdersTotal();
int ords[200], ordType[200], ordTicket[200]; double ordLots[200];
string ordComments[200];
int ix=0;
for (int i=0; i<ot; i++)
{
int o = OrderSelect(i, SELECT_BY_POS);
if (OrderSymbol() == Symbol())
if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))
{
double sl = 0;
if ((OrderType() == OP_BUY) && (OrderStopLoss() < OrderOpenPrice()))
sl = OrderOpenPrice() ;
if ((OrderType() == OP_SELL) && (OrderStopLoss() > OrderOpenPrice()))
sl = OrderOpenPrice() ;
if (sl != 0)
OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
Re: Break even edycja
W miejsce zer wpisywałem inne wartości, ale skrypt nie reaguje. Wpisywałem pewnie w złych miejscach...
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Break even edycja
Tak, potrafię wytłumaczyć, ale to by była lekcja MQL4.
Jeżeli chcesz takiej lekcji-konsultacji trwającej jedną godzinę, to napisz do mnie na PW.
Jeżeli chcesz takiej lekcji-konsultacji trwającej jedną godzinę, to napisz do mnie na PW.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
Re: Break even edycja
A ile tych miejsc tam widzisz?
Nie, wpisywanie tam innej wartości niż zero jest bez sensu. Jeżeli grasz na demo to ok, ale jeżeli grasz prawdziwymi pieniędzmi to zmienianie kodu bez jego rozumienia w nadziei, że będzie działać nie jest rozsądne.
A teraz co robi kod.
sprawdza w zależności czy to buy/sell czy (dla buy) SL < od ceny otwarcia.
Jeżeli jest to ustawia (zmienną )SL na cenę otwarcia.
Na końcu jeżeli SL != 0 modyfikuje zlecenie a dokładnie SL na właśnie tę cenę otwarcia.
Czyli jak rozumiem SL = cena otwarcia to Twoje BE=0
Teraz musisz się zastanowić co to znaczy BE różne od zera dla Ciebie. i zmodyfikować zmienną SL na trochę inną wartość niż cenę otwarcia.
Kod jest ogólnie słaby w swojej koncepcji, bo zmienia na pałę SL bez analizy jak daleko jest aktualna cena od ceny otwarcia.
Poszukaj innych są dostępne które to analizują.
Re: Break even edycja
Po prostu chciałem ustawić be na wartość 1 lub więcej pkt. Teraz już wiem, linijka 20, tam zmienia się wartość.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Break even edycja
Spoko, możesz ustawić wartość jaką chcesz, byle dodatnią liczbę całkowitą.
Poza tym, to przerobiłem kod, bo był pełen błędów i zbędnych rzeczy, które nic nie robiły.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
Re: Break even edycja
OK, dziękuję.