Dobra zrobiłem inaczej bo tak jw nie potrafiłem - programistą nie jestem. Najważniejsze, że działa
Jakby komuś było potrzebne zamieszczam dla nowych.
Kod: Zaznacz cały
//+------------------------------------------------------------------+
//| BE .mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""
extern double Poziom_BE = 70;
extern double Poziom_Aktywacji = 40;
extern double Poziom_SL = 30;
int i;
int init() {return;}
int deinit() {return;}
int start()
{
for (i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
if (OrderStopLoss()!=OrderOpenPrice())
{if
((OrderType() == OP_BUY && Bid>= OrderOpenPrice()+Poziom_BE*Point) || (OrderType() == OP_SELL && Ask<= OrderOpenPrice()-Poziom_BE*Point))
{OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,MediumSeaGreen); Print("BE"); PlaySound("chimes.wav");}
}
if (OrderStopLoss()==OrderOpenPrice()-Poziom_SL*Point || OrderStopLoss()==OrderOpenPrice()) return; else
{if
((OrderType() == OP_BUY && Bid>= OrderOpenPrice()+Poziom_Aktywacji*Point))
{OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Poziom_SL*Point,OrderTakeProfit(),0,MediumSeaGreen); Print("BE +",Poziom_SL); PlaySound("chimes.wav");}}
if (OrderStopLoss()==OrderOpenPrice()+Poziom_SL*Point || OrderStopLoss()==OrderOpenPrice()) return; else
{if
((OrderType() == OP_SELL && Ask<= OrderOpenPrice()-Poziom_Aktywacji*Point))
{OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+Poziom_SL*Point,OrderTakeProfit(),0,MediumSeaGreen); Print("BE -",Poziom_SL); PlaySound("chimes.wav");}}
return;
}}
ps. oczywiście trzeba pamiętać aby Poziom_Aktywacji - Poziom_SL był minimum 5pips lub tyle na ile broker pozwala ustawiać.