[WARNING CLOSED!] Any newbie question, so as not to clutter up the forum. Professionals, don't go by. Can't go anywhere without you. - page 89
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Help! Please help - there is a custom indicator that, among other things, draws Buy and Sell arrows. How to make an EA based on it???? How to make it easier - to determine whether an arrow is drawn from an EA? Or, is the indicator code made as a function of the Expert Advisor???? I am familiar with MQL. I have not found the answers to my questions there.
I am very interested in it.
Help! Please help - there is a custom indicator that, among other things, draws Buy and Sell arrows. How to make an EA based on it???? How to make it easier - to determine whether an arrow is drawn from an EA? Or, is the code of the indicator made as a function of the Expert Advisor???? I am familiar with MQL. I have not found the answers to my questions there.
Help me.
https://www.mql5.com/ru/code/8524
Great, a ready-made advisor! I'll look into it, thank you!
what does it say in the log on the attempt?
says nothing
https://www.mql5.com/ru/code/8524
As it turns out, it's a little more complicated than that. This Expert Advisor works with indicators where arrows are allocated two indicator arrays (indicator buffers). In my indicator, the objects (arrows) are created using the ObjectCreate() method. As far as I understand, the object (arrow) is created according to time-price coordinates. I think the easiest way to make an Expert Advisor, where an indicator formula is used in a function, so to say, and positions open instead of arrows at the same conditions. How to be ??? Help!
As it turns out, it's a little more complicated than that. This Expert Advisor works with indicators where arrows are allocated two indicator arrays (indicator buffers). In my indicator, the objects (arrows) are created using the ObjectCreate() method. What to do in this case? Help!
You can simply move the indicator code to the Expert Advisor. There, instead of the ObjectCreate() command for the Buy arrow, open a Buy deal. The same for Sell.
Thank you! I will do it - I think there is nothing difficult.
Hello
Help me out here. Bottom line. The EA only sells and closes, it works with one order. When stochastic is above 80, we can catch some loss, so I have an idea to change condition to sell if the position has closed on stop loss with isCloseLastPosByStop function from KimA. That is, it is true when the last position has closed on Stop Loss, and false when it has not, and these conditions have been entered in the selling condition. When connected, one position is opened which is closed by stoploss or not closed at all. Please tell me what is wrong in the code or how to make it look like this
i
int start()
{
int
cnt=0,
ticket,
total;
double
StochK_0, // K line value
StochD_1, // value of line D
SL=StopLoss;
bool
isCloseLastPosByStop(NULL,OP_SELL, MagicNamber); // function KimA
StochK_0=iStochastic(NULL, 0, K_per,D_per,Slow,MODE_SMA,0,MODE_MAIN, 0); // K
StochD_1=iStochastic(NULL, 0, K_per,D_per,Slow,MODE_SMA,0,MODE_MAIN, 2); //D
ticket= OrderTicket();
total=OrdersTotal();
if (total<1)
if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 0)
{
if ( (StochK_0<StochD_1) && (StochD_1 > 80) ) // 1st ist sale
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,0, "My EXP", MagicNamber,0,Green); // sell
OrderSelect(0, SELECT_BY_POS);
if (OrderSelect(0, SELECT_BY_POS)==true )
Print("SELECT_BY_POS");
else
Print("failed to select error : ",GetLastError());
if((StochK_0<30)&& (StochD_1 < 30))
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
}
else
if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 1)
{
if ((StochK_0<StochD_1) && (StochK_0 < 60) && (StochD_1 < 60) ) 2nd asses sale
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*0,0, "My EXP", MagicNamber,0,Green); //
OrderSelect(0, SELECT_BY_POS);
if (OrderSelect(0, SELECT_BY_POS)==true )
Print("SELECT_BY_POS");
else
Print("failed to select2 error : ",GetLastError());
if((StochK_0<30)&& (StochD_1 < 30)) // close condition
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
}
return(0);
}
//___ fu ______ isCloseLastPosByStop(NULL,OP_SELL, MagicNamber)______
bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
...............itd..............................