[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 576
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
Вот так?
if (OrderSelect(OrdersTotal(), SELECT_BY_POS, MODE_TRADES)) {
ot=OrdersTotal();
if (ot<1){
Nope, if only one expert is working and no more than one order should be opened, you can do this (for starters)
А если есть открытый ордер? или даже несколько? получится эксперт не сработает
A hint, there is a definition of a daily high and low time:
if (time!=Time[0]){HiTime=0;LoTime=0;time=Time[0];}
if (High[0]>HiPrice)HiTime=TimeCurrent();
if (Low[0]<LoPrice)LoTime=TimeCurrent();
We need to compare the time of high/low with the specified time of the day. For example, it should be 22.00.
Can it be written like this:
datetime TimeE;
int h=22, m=00, ot;
TimeE=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+""+h+": "+m);
There is a tactic, but the EA opens in a weird way.
I must not be setting the time 22.00 for the condition correctly.
If it has to be reset, how?
Can you please tell me what kind of turkey this is? Where can this question be moved to?
Help to bring the EA up to date. The idea is simple - if High is later than Low and after 22.00 - buy from the current. and also if Low is later than Low and after 22.00 - sell from the current. Opening time of orders is set. Stop and profit is fixed.
In practice it has turned out, that opens sometimes correctly, and sometimes not on condition.
А если есть открытый ордер? или даже несколько? получится эксперт не сработает
I make it easier. But in this case it will open a new order when the EA is reinstalled.
if(FLAG_ORDER == NO && Signal_OPEN == OPEN_SELL)
{
TICKET_SELL = OrderSend(Symbol(),OP_SELL,Lot,Bid,5,0,0,NULL,0,0,CLR_NONE);
ERROR = GetLastError();
switch(ERROR)
{
case 0 : FLAG_ORDER = YES;
Signal_OPEN = NO;
Error("Set SELL: ",ERROR);
if(Sound_ON == true) PlaySound(Name_Sound_Open);
return(0);
default: Error("Set SELL: ",ERROR); return;
}
}
When this EA is running on a real account, error 146 is very frequent.
Is it possible to make the Expert Advisor make several attempts to open an order, say, with a pause of half a minute?