[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 794

 

obla4ko: а по поводу тестирования на истории вопрос :

Can an Expert Advisor (a simple one!) - not a grid) on the same period of history, with the same parameters give completely different results?

The only thing I did between these two tests was to update quotes archive... and that could have led to such a result!? - then it turns out that all the history is bullshit!?

1. history can change. Intraday gaps are filtered out, spikes are removed, etc. Sometimes even days disappear! // Somebody complained here not long ago that one month was stolen. Not CA, but a devil from "Evenings at farmstead near Dikanka"! )))

2. The difference may also be due to floating spread. Tester uses the current one at the moment of start.

3) The history is not bullshit. What is bullshit is an EA that is so dependent on little things like this.

 
obla4ko:

also, in my opinion, a "hairpin", subsequently cleaned up... :)), but "saved in memory" of smaller timeframes, which are no longer reachable...

And the question about testing on the history :

can an Expert Advisor (a simple one!) - ) on the same period of history, with the same parameters give completely different results?

The only thing I did, between these two tests, was to update the quotes archive... and that could have led to this result!? - then it turns out that the whole story is bullshit!?

Exactly... you just wrote about wiping the "studs" yourself. Plus, when testing, the spread is taken from the current spread. And it may be different: in the last test it was 2 points, and in the current one it is 4, for example...
 
obla4ko:

Thanks for the clarification - but do you think that instead of comparing with Time[0] value I should try to give this task before OrderSend(...) request : check if the current bar is closed by StopLoss-y? Then I need to input duble StopLoss() function which will work with StopLoss variable I announced? Or it is NOT POSSIBLE as a matter of principle? It is important to me that a new position is not opened on the bar which has caught a loss, even if it matches the parameters of the opening.

The matter is that the timing factors should be considered last - very often they slip - or rather the interpretation of an order somehow turns out to be different (ambiguous).


This condition will not work in a fast market

if(Volume[0]>1) return;
A few ticks came in at a time and it's already more than one
 
Vinin:


This condition will not work in a fast market

A few ticks came in at a time and it's already more than one

Exactly! It's not working! It slips:)) And a lot of positive positions don't open! What do you suggest in its place, the native one?
 
artmedia70:
Exactly... you just wrote about wiping the "studs" yourself. Plus, when testing, the spread is taken from the current spread. And it may be different: in the last test it was 2 points, and in the current one it is 4, for example...
Exactly, it looks like we need to write programs as thick as a stick - so they have a reserve of 6000 pips...:)))) - only then the profit is 30 quid per 10k for six months...:((((((((((
 
obla4ko:
That's it! It's not working! It slips... :)) And a lot of positive positions don't open! And what do you suggest to replace it, the native one?

For this you need to know the requirements. You may use the variant of controlling the opening of a new bar by time - but will it suit you? Trades must be opened at any time. It may be easier to control the number of open positions. We must first decide what is needed
 
Svinozavr:

1. history can change. Intraday gaps are filtered out, spikes are removed etc. Sometimes even days are missing! // Somebody complained recently that one month was stolen. Not the brokerage company, but from "Evenings at farmstead near Dikanka"! )))

2. The difference may also be due to the floating spread. The tester uses the current one at the time of launch.

3) History is not bullshit. What is bullshit is an Expert Advisor that is so dependent on such trivial things.

You can't liken an advisor to a cudgel - it's a delicate thing :))), virtual, I'd say what do you suggest, that he doesn't notice how "days are disappearing! // Someone complained here the other day that a month was stolen. "??? ....n such a counsellor at all?
 

Please advise how to use this in an indicator often:

int CountedBars=IndicatorCounted();
if(CountedBars< 0) CountedBars= 0;
if(CountedBars> 0) CountedBars--;
cnt = Bars - CountedBars;

for(int i = 0; i < cnt ;i++)

If you do automation based on this it's clear that nothing will work as IndicatorCounted() will be 0. How can you correctly rework the stuffing of an indicator to make it work?

 
Vinin:

For this you need to know the requirements. The option of controlling the opening of a new bar by time is possible - but will it be satisfactory. Maybe trades should be opened at any time. It may be easier to control the number of open positions. We have to decide what we need first.
And if we simply write Volume[0]>1 instead of Volume[0] >5, say? How do you think it would react? I'm just a supporter of, as far as possible, simple solutions - they are the most ingenious!!:))
 

Each advisor has different requirements

Reason: