prosze o pomoc w dodaniu TP i SL do robota

Jeżeli masz pomysł lub używasz ciekawego systemu albo strategii gry, opisz ja tutaj.
nugi
Uczestnik
Uczestnik
Posty: 4
Rejestracja: 17 lis 2022, 08:49

prosze o pomoc w dodaniu TP i SL do robota

Nieprzeczytany post autor: nugi »

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;

grzegrzyw
Gaduła
Gaduła
Posty: 301
Rejestracja: 11 mar 2012, 19:43

Re: prosze o pomoc w dodaniu TP i SL do robota

Nieprzeczytany post autor: grzegrzyw »

SL i TP musisz zdefiniować jak w załączonym przykładzie, a później umieszczasz w poleceniu OrderSend,
Strategia 1.mq4
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4528
Rejestracja: 30 lip 2019, 13:15

Re: prosze o pomoc w dodaniu TP i SL do robota

Nieprzeczytany post autor: ninjaproject »

universalmacrossea_8.3.mq4
UniversalMACrossEA.mq4
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.

nugi
Uczestnik
Uczestnik
Posty: 4
Rejestracja: 17 lis 2022, 08:49

Re: prosze o pomoc w dodaniu TP i SL do robota

Nieprzeczytany post autor: nugi »

grzegrzyw pisze:
21 lis 2022, 19:15
SL i TP musisz zdefiniować jak w załączonym przykładzie, a później umieszczasz w poleceniu OrderSend,
Strategia 1.mq4


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

nugi
Uczestnik
Uczestnik
Posty: 4
Rejestracja: 17 lis 2022, 08:49

Re: prosze o pomoc w dodaniu TP i SL do robota

Nieprzeczytany post autor: nugi »

ninjaproject pisze:
21 lis 2022, 20:25
universalmacrossea_8.3.mq4
UniversalMACrossEA.mq4

Po co wynajdywać koło od nowa???
dziękuje kolego za odpowiedz - ale zależy mi na dokładnie tym robocie i sposobie w jaki działa
dlatego potrzebuje koniecznie dokończyć tego który już mam

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4528
Rejestracja: 30 lip 2019, 13:15

Re: prosze o pomoc w dodaniu TP i SL do robota

Nieprzeczytany post autor: ninjaproject »

nugi pisze:
22 lis 2022, 14:58
ninjaproject pisze:
21 lis 2022, 20:25
universalmacrossea_8.3.mq4
UniversalMACrossEA.mq4

Po co wynajdywać koło od nowa???
dziękuje kolego za odpowiedz - ale zależy mi na dokładnie tym robocie i sposobie w jaki działa
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.

nugi
Uczestnik
Uczestnik
Posty: 4
Rejestracja: 17 lis 2022, 08:49

Re: prosze o pomoc w dodaniu TP i SL do robota

Nieprzeczytany post autor: nugi »

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

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4528
Rejestracja: 30 lip 2019, 13:15

Re: prosze o pomoc w dodaniu TP i SL do robota

Nieprzeczytany post autor: ninjaproject »

nugi pisze:
01 gru 2022, 14:33
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
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.

ODPOWIEDZ