[Archive!] Any rookie question, so as not to clutter up the forum. Professionals, don't pass it by. Couldn't go anywhere without you - 2. - page 58

 
Vinin:

I'd have to look at the indicator. Maybe there is a solution.

Thank you for seeing the post. I am attaching the indicator.

It needs a filter to filter out unnecessary arrows. The picture on page 56 shows it. Of all the arrows going the same way, only the first one is needed.

I also did it this way, but it is not right.

for(int i=limit-1;i>=0;i--){

if ( flag[i] == 1 && sale condition){

Sale[i] = High[i]+point*Point;

flag[i] == -1 ;

}

if (flag[i] == - 1 && buy condition){

Buy[i] = Low[i]-point*Point;

flag[i] == 1 ;}

}

}

Files:
cross.mq4  4 kb
 
gince:

Thank you for seeing the post. I am attaching the indicator.

It needs a filter to filter out unnecessary arrows. The picture on page 56 shows it. Of all the arrows going the same way, only the first one is needed.

I've done it this way, but it's not right.



Alternatively, it is better to control on the first bar rather than on the zero bar. The number of false signals will be reduced.

There will of course be a lag of one bar.

Controlling at zero is more difficult to realize and we will naturally see re-drawing at zero. The signal may disappear and occur again later, on another bar

 
Vinin:


As an alternative, it is better to control on the first bar, not on the zero bar. The number of false signals will decrease.

There will of course be a lag of one bar.

Control at zero is more difficult to implement and there will of course be an overshoot at zero. The signal can disappear and repeat itself later on another bar.

I take indicator data from the first bar
 
gince:
The data from the indicators is taken from the first bar

So there was almost everything for that, but for some reason it is commented out
 
Vinin:

There was almost everything for this, but for some reason it is commented out

If you remove //, then it draws one arrow at a time.

I attach a picture - the date is the same, but there are two different ways of displaying the indicator

1 superimposed on the chart (sometimes the last one is displayed instead of the first one)

2 from the tester

3 all arrows

There are inconsistencies. The demo draws the same as the tester, until you switch timeframes

 
gince:

If you remove //, then it draws one arrow at a time.

I attach a picture - the date is the same, but there are two different ways of displaying the indicator

1 superimposed on the chart (sometimes the last one is displayed instead of the first one)

2 from the tester

3 all arrows

There are discrepancies. The demo shows the same as in the tester, until I switch the time frame


Okay. I'll do it my way.
 

And it can't be because

for (i = 0; i < counted_bars; i++)

it must be counted backwards

 
gince:

And it can't be because

for (i = 0; i < counted_bars; i++)

it must be counted backwards


I'll do it my way and the countdown will be different. I always do from the past to the present. It's a matter of taste, though. It doesn't really matter with the right approach
 

Hello. Can you please look up where the error is? The idea is to catch the pips and when a lock situation occurs, cancel the fixing of the result.

if(OrderType()==OP_BUY) {
if((OrderType()==OP_SELL) == false) {
if(Bid>=(OrderOpenPrice()+PipsProfit*Point)) {
fm=OrderClose(OrderTicket(),OrderLots(),Bid,Proskalz);
if(fm!=0 && fm!=-1){
Comment("Buy order closed upon reaching PipsProfit =",PipsProfit,");
Print("Buy order closed upon reaching PipsProfit =",PipsProfit,");
}
if(fm==0 || fm==-1){
GLE=GetLastError();
ED=ErrorDescription(GLE);
Print("Error # ",GLE, " while trying to close Buy-order # ",OrderTicket());
Print ("Error Description - ",ED);
}
}}}

???????

Thank you in advance.

 
Well...., please, PROFI, give me an answer as to what to do with the indicator. Tell me, is it possible or impossible? (The question was written earlier in the thread, if I duplicate it, I will have a second yellow :o) )
Reason: