Witam !
chciałbym prosić szanowna brać forexowa o pomoc w dodaniu poziomów SL i TP do robota
mam kod do prostego robota MT4 na średnia krocząca - robocik fajnie działa
i chciałbym dodać do niego SL i TP tak aby ukrócić niepotrzebne straty
czy ktoś może pomóc dopisać niezbędny kod do tego robota
podaje kod
//+------------------------------------------------------------------+
//| strategia 1.mq4 |
//| Marek |
//| |
//+------------------------------------------------------------------+
#property copyright "Marek"
#property link ""
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
input double Lot=0.01; // wielkosc pozycji
// dane sredniej kroczacej
input int interwal=25; // Ma interwal
input ENUM_MA_METHOD metoda_ma = MODE_SMA; // Ma metoda
input ENUM_APPLIED_PRICE rodz_cen_ma = PRICE_CLOSE; // Ma rodzaj cen
double moving_average_1=0.0;
double moving_average_2=0.0;
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
if (IsTradeAllowed() == true)
{
if(NewBar(PERIOD_CURRENT))
{
// obliczamy serdnia kroczaca
moving_average_1=iMA(_Symbol,PERIOD_CURRENT,interwal,0,metoda_ma,rodz_cen_ma,1);
moving_average_2=iMA(_Symbol,PERIOD_CURRENT,interwal,0,metoda_ma,rodz_cen_ma,2);
// otwarcie pozycji BUY
if(GetOrderTicket(_Symbol,OP_BUY)==-1
&& Close[1] > moving_average_1
&& Close[2] < moving_average_2 )
{
if(OrderSend(_Symbol,OP_BUY,Lot,Ask,50,0,0,"Buy",0,0,clrGreen)<0)
Print("Nie udalo sie otworzyc pozycji BUY , kod bledu :", GetLastError());
else
Print("Otwarto pozycje Buy,");
}
// Zamkniecie pozycji BUY
if(GetOrderTicket(_Symbol,OP_BUY)!=-1
&& Close[1] < moving_average_1
&& Close[2] > moving_average_2 )
{
if(OrderClose(GetOrderTicket(_Symbol,OP_BUY),OrderLots(),Bid,50,clrRed))
Print("OrderClose error Buy . Blad nr:", GetLastError());
else
Print("Zamknieto pozycje Buy.");
}
// otwarcie pozycji SELL
if(GetOrderTicket(_Symbol,OP_SELL)==-1
&& Close[1] < moving_average_1
&& Close[2] > moving_average_2 )
{
if(OrderSend(_Symbol,OP_SELL,Lot,Bid,50,0,0,"Sell",0,0,clrOrange)<0)
Print("Nie udalo sie otworzyc pozycji SELL , kod bledu :", GetLastError());
else
Print("Otwarto pozycje Sell,");
}
// Zamkniecie pozycji SELL
if(GetOrderTicket(_Symbol,OP_SELL)!=-1
&& Close[1] > moving_average_1
&& Close[2] < moving_average_2 )
{
if(OrderClose(GetOrderTicket(_Symbol,OP_SELL),OrderLots(),Ask,50,clrRed))
Print("OrderClose error Sell . Blad nr:", GetLastError());
else
Print("Zamknieto pozycje Sell.");
}
}// Koniec New Bar
}// Koniec Is Trade Allowed
}//Koniec on Tick
//+------------------------------------------------------------------+
//===========New Bar
bool NewBar(int okres)
{
bool f_current=false;
static datetime f_lastBar=0;
datetime f_bar=iTime(_Symbol, okres,0);
if(f_current==false && f_lastBar==0)
{
f_lastBar=f_bar; return false;
}
if(f_lastBar!=f_bar)
{
f_lastBar=f_bar; return true;
}
else return false;
}
//============= Get Order Ticket
int GetOrderTicket(string f_symbol="", int f_cmd=-1, int f_magic=-1)
{
for(int i=OrdersTotal()-1; i>=0; i--)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if((f_symbol== OrderSymbol() || f_symbol=="") &&
(f_cmd == OrderType() || f_cmd==-1) &&
(f_magic == OrderMagicNumber() || f_magic==-1))
return OrderTicket();
return -1;
prosze o pomoc w dodaniu TP i SL do robota
Re: prosze o pomoc w dodaniu TP i SL do robota
SL i TP musisz zdefiniować jak w załączonym przykładzie, a później umieszczasz w poleceniu OrderSend,
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: prosze o pomoc w dodaniu TP i SL do robota
Po co wynajdywać koło od nowa???
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
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: prosze o pomoc w dodaniu TP i SL do robota
niestety nie wychodzi mi to , pokazuje się co prawda ramka gdzie mogę zdefiniować SL oraz TP ale po otwarciu zamówienia SL i TP mam zero
te poziomy kompletnie nie wskakują , czy dałbyś rade napisać to jak należy , jestem skłonny nawet zapłacić za ta usługę - bardzo zależy mi na tym robocie , bo działa dokładnie tak jak potrzebuje
Re: prosze o pomoc w dodaniu TP i SL do robota
dziękuje kolego za odpowiedz - ale zależy mi na dokładnie tym robocie i sposobie w jaki działaninjaproject pisze: ↑21 lis 2022, 20:25universalmacrossea_8.3.mq4
UniversalMACrossEA.mq4
Po co wynajdywać koło od nowa???
dlatego potrzebuje koniecznie dokończyć tego który już mam
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: prosze o pomoc w dodaniu TP i SL do robota
nugi pisze: ↑22 lis 2022, 14:58dziękuje kolego za odpowiedz - ale zależy mi na dokładnie tym robocie i sposobie w jaki działaninjaproject pisze: ↑21 lis 2022, 20:25universalmacrossea_8.3.mq4
UniversalMACrossEA.mq4
Po co wynajdywać koło od nowa???
dlatego potrzebuje koniecznie dokończyć tego który już mam
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
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: prosze o pomoc w dodaniu TP i SL do robota
dziękuje , za dopisanie TP i SL do strategii jednak teraz robot przestał otwierać pozycje , czy możesz sprawdzić jeszcze raz kod - może uda się wyłapać co jest nie tak
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: prosze o pomoc w dodaniu TP i SL do robota
Ale ja przy samej strategii nic nie robiłem.
Tylko poprawnie dodałem SL i TP.
Może ty wpisujesz zbyt małe odległości SL i TP?
Niektórzy brokerzy mają minimalne odległości.
A w EA musisz wpisać punkty, tak jak pokazuje pomiar krzyżykiem.
I czytaj co pisze w zakładce Experts (Strategie) w Nawigator.
Tam się pojawiają komunikaty o błędach.
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.