
To EA ustawia grupowy SL i TP - niestety dla wszystkich otwartych zleceń - a potrzeba żeby ustawiało tylko dla zleceń dla okna , w którym pracuje czyli jak pracuje w oknie z USDJPY to tylko na tej parze niech ustawia ST i TP.
Teraz jest tak - ustawiamy grupowe TP w oknie z USDJPY np. na 102.10 to inne pozycje na EURUSD mają również ustawiony TP na 102.10
Z góry dzięki gdyby ktoś miał czas i chęć to poprawić .
pozdrawiam
marek8
//+------------------------------------------------------------------+
//| [EA]Go2SamePoint.mq4 |
//| Copyright © 2009, Viking234.Com. |
//| http://www.viking234.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Viking234.Com."
#property link "http://www.viking234.com"
// http://www.forexfactory.com/showthread.php?p=2997450
// 4Shared file is WORKING VERSION!
// Distributed under GPL (http://www.gnu.org/licenses/gpl.txt)
// Donation? Very Welcome > http://www.viking234.com side bar. =)
extern double Buy_TP=141.20;
extern double Buy_SL=0.00;
extern double Sell_TP=140.00;
extern double Sell_SL=0.00;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
int HowDeepIsYourLove = OrdersTotal();
double TP,SL;
for(int z=0;z<HowDeepIsYourLove;z++) {
if(OrderSelect(z,SELECT_BY_POS,MODE_TRADES)) {
if(OrderType()==OP_BUY||OrderType()==OP_BUYSTOP||OrderType()==OP_BUYLIMIT) {
TP=NormalizeDouble(Buy_TP,Digits);
SL=NormalizeDouble(Buy_SL,Digits);
if(OrderTakeProfit()!=TP||OrderStopLoss()!=SL) {
if(!OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0,CLR_NONE))
Print("Something happened in BuyHood =), error#"+GetLastError());
}
} else if(OrderType()==OP_SELL||OrderType()==OP_SELLSTOP||OrderType()==OP_SELLLIMIT) {
TP=NormalizeDouble(Sell_TP,Digits);
SL=NormalizeDouble(Sell_SL,Digits);
if(OrderTakeProfit()!=TP||OrderStopLoss()!=SL) {
if(!OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0,CLR_NONE))
Print("Something happened in SellHood =), error#"+GetLastError());
}
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+