Re: Simple Expert Advisors (EA's) for MT4
301Hello guys . I need an EA for forex and indices that work with a custom indicator ( arrow with 2 buffers) SL/TP and hours filter. Any help`will be apreciated.
Code: Select all
void TradeStart(int orderType){
double candleHigh1 = iHigh(Symbol(), Period(), 1);
double candleLow1 = iLow(Symbol(), Period(), 1);
datetime candleExperation = iTime(Symbol(), Period(), 0)+PeriodSeconds() - 1;
int i = 0;
//---determine if we are buying or selling
double price = candleLow1 - 3*pips;
double sl = 0, tp = 0;
if(orderType == OP_BUYSTOP) price = candleHigh1 + 3*pips;
int err = 0;
int TicketNumber = OrderSend(Symbol(),orderType,LotSize,price,Slippage,0,0," ",
MagicNumber,0,clrGreen);
if(TicketNumber == -1)
{
err = GetLastError();
Print("Could not place the order due to error ",err," ",ErrorDescription(err));
if(err == ERR_TRADE_NOT_ALLOWED)Alert("YOU NEED TO ENABLE YOUR AUTOTRADING BUTTON!");
}
else//If we are able to select an order
{
if(!OrderSelect(TicketNumber,SELECT_BY_TICKET))
{
err = GetLastError();
Print("Could not select the order due to error ",err," ",ErrorDescription(err));
}
else//If we are able to select an order
{
double priceOpen = OrderOpenPrice();
sl = priceOpen + (Stoploss*pips);
tp = priceOpen - (Takeprofit*pips);
if(OrderType() == OP_BUYSTOP){
sl = priceOpen - (Stoploss*pips);
tp = priceOpen + (Takeprofit*pips);
}
if(!OrderModify(TicketNumber, price, sl, tp, 0, clrGreen))
{
err = GetLastError();
Print("Could not modify the order due to error ",err," ",ErrorDescription(err));
}
}
}
}
Sorry not very skilled in pending order type EA's.nickbyniel1541 wrote: Mon Nov 01, 2021 4:45 am
Good afternoon guys - plz see the above gif file. This is a simple EA I'm working on that places a pending order when price gets back into the BBands. If possible, can some explain to me what I am doing wrong. I want the pending trade placed without the SL and TP. Only when the trade becomes active do I want the trade to be modified and the stops added. mrtools or anyone else can you plz point me in the right direction....thanks very much in advance.
Here is the code for the pending function
Code: Select all
void TradeStart(int orderType){ double candleHigh1 = iHigh(Symbol(), Period(), 1); double candleLow1 = iLow(Symbol(), Period(), 1); datetime candleExperation = iTime(Symbol(), Period(), 0)+PeriodSeconds() - 1; int i = 0; //---determine if we are buying or selling double price = candleLow1 - 3*pips; double sl = 0, tp = 0; if(orderType == OP_BUYSTOP) price = candleHigh1 + 3*pips; int err = 0; int TicketNumber = OrderSend(Symbol(),orderType,LotSize,price,Slippage,0,0," ", MagicNumber,0,clrGreen); if(TicketNumber == -1) { err = GetLastError(); Print("Could not place the order due to error ",err," ",ErrorDescription(err)); if(err == ERR_TRADE_NOT_ALLOWED)Alert("YOU NEED TO ENABLE YOUR AUTOTRADING BUTTON!"); } else//If we are able to select an order { if(!OrderSelect(TicketNumber,SELECT_BY_TICKET)) { err = GetLastError(); Print("Could not select the order due to error ",err," ",ErrorDescription(err)); } else//If we are able to select an order { double priceOpen = OrderOpenPrice(); sl = priceOpen + (Stoploss*pips); tp = priceOpen - (Takeprofit*pips); if(OrderType() == OP_BUYSTOP){ sl = priceOpen - (Stoploss*pips); tp = priceOpen + (Takeprofit*pips); } if(!OrderModify(TicketNumber, price, sl, tp, 0, clrGreen)) { err = GetLastError(); Print("Could not modify the order due to error ",err," ",ErrorDescription(err)); } } } }
Always glad for you help mrtools. I'm still at it. I got the trade to be taken without the stop, however
Perhaps you can help me how to call the buffer.davy wrote: Thu Nov 25, 2021 2:06 am Dear MrTools and Mladen,
Can you make simple ea using Averages - mtf - alters 8.8 indicator just by going buy or sell as it change color?
Thank you.
Users browsing this forum: adriano.ecker, fibo7818, kvak, SijjiN, TEAMTRADER and 100 guests