EA N7S_AO_772012 - page 33

 
boing9267 писал(а) >>

If after optimization there are no results, it means that with any combinations of all parameters within the specified ranges with the specified step there is no option, when the Expert Advisor would not fail, or it simply did not trade due to nonfulfilled mandatory conditions for opening positions. Try to play with lot size, loss and initial deposit size, and read a few pages back and look at the code.

Thanks. I have looked through all of the posts, but I have not found my version. I am following the instructions. If something was wrong, how would the optimization work anyway? During optimization, it performs some transactions, although, as I understand it, they are ten times less than they should be? On the output 0.

And another thing, about looking through the code: I may as well read Chinese, I can't even understand where the stop size is regulated :).

Now I've tried just throwing in the presets consistently and running it for a month, not great, but it works! 10 trades. And after optimization it doesn't want to work at all.

 
Yay, found the footsteps!
 
Still not many trades, about 15 in a month at stage 1. Maybe something else needs to be changed apart from the stops, apart from the pad between the chair and the computer? I have 4 decimal places in quotes.
 
mpeugep писал(а) >>

A constructive remark to SHOOTER777. You should make your own perceptron for each indicator or make one universal one for any indicator, because you use your own indicator and "information is gathered" through the perceptron of AO indicator.

What indicator are we talking about? I will explain the meaning of the question. This EA uses three timeframes to determine the moment and direction of the entry. The direction of the main movement is determined on H4 and this indicator is not connected with any Perceptron. But the entries on H1 depend on the other, exactly AO oscillator and they are not logically connected in any way. Of course, it may be changed. I thought it was as easy as on H4. The only thing you need is in the function

double iA_C (int pr){int tmfr=60; return(iAO(Symbol(), tmfr, pr));}

to return its indicator.

Universalization only leads to longer and more sensitive optimization time, so go ahead. Probably there are more than a dozen clones of this EA being tested now. I would like to hear different opinions.

 
andreiuser писал(а) >>

Yes. Good evening, everyone. The most versatile indicator is a line, preferably a slant.

But seriously, at the beginning of the "post" there was a question about the choice of ind.

I thought that I should apply not a sampling indicator but a sampling indicator. We could go on and on

But I don't know where it will lead and it looks trivial. This is why I suggest

Do not be distracted by multicurrency and protective functions but test one currency with different indicators.

indicators. I assume that SHOOTER has done this work, but MACD has been used.

I wonder what others?

Thank you.

Of course one may test one pair with different indicators, as I did the whole last year. But in the end, the scheme and algorithm I have found are only suitable for two or three pairs. It is impossible to test six or eight pairs with three or five indicators by myself. But if one tests one, another one, the third one, etc., and then compare them, everyone would be profitable.

 
andreiuser писал(а) >>

Yes. Good evening, everyone. The most versatile indicator is a line, preferably a slant.

But seriously, at the beginning of the "post" there was a question about the choice of ind.

I thought that I should apply not a sampling indicator but a sampling indicator. I could go on and on

But I don't know where it will lead and it looks trivial. This is why I suggest

Do not be distracted by multicurrency and protective functions but test one currency with different indicators.

indicators. I assume that SHOOTER has done this work, but MACD has been used.

I wonder what others?

Thank you.

Of course one may test one pair with different indicators, as I did the whole last year. But in the end, the scheme and algorithm I have found are only suitable for two or three pairs. It is impossible to test six or eight pairs with three or five indicators by myself. But if one tests one, another one, the third one, etc., and then compare them, everyone would be profitable.

 

Repeating what we've been through ))))

There are such lines in the code

bool TrBlnc = true; int StrtBlnc = 3000; int DBlnc = 1500; int UBlnc = 4000;

declared that (TrBlnc = true) is enabled to control trading depending on the equity status.

Trading stops and is not executed if the balance is lower than (DBlnc= 1500) of this value or higher than (int UBlnc= 4000).

Control of execution in the FLG() function.

And now, attention!!! Initialization

if ( IsOptimization( ) ) TrBlnc = false;//if ( IsTesting( ) ) TrBlnc = false;

I.e. if there is optimization, control is disabled, if there is a test or a real check, it is enabled.

I hope I explained it well. Watch the initial balance or remove and disable this control

 
SHOOTER777 >> :

Which indicator are we talking about? Let me explain the meaning of the question. This EA uses three timeframes to determine the moment and direction of entry. The direction of the main movement is determined on H4 and this indicator is not connected with any perceptron. But the entries on H1 depend on the other, exactly AO oscillator and they are not logically connected in any way. Of course, it may be changed. I thought it was as easy as on H4. The only thing you need is in the function

double iA_C (int pr){int tmfr=60; return(iAO(Symbol(), tmfr, pr));}

to return its indicator.

Universalization only leads to longer and more sensitive optimization time, so go ahead. Probably there are more than a dozen clones of this EA being tested now. I would like to hear different opinions.

So, you have added another indicator in a new version, yes, you have written a function for it, where you return its value, but the Perceptron was written for the function iA_C!!!

double prcptrnAC(int q1,int q2,int q3,int q4,int pr,int at)
{double qw = (q1-50)+((q2-50)*iA_C(pr)+(q3-50)*iA_C(2*pr)+(q4-50)*iA_C(3*pr))/iA_C(1);
if (MathAbs(qw)>at) return(qw);else return(0);}

......................................................................................................

......................................................................................................

void H1() { prcptx1 = prcptrnAC(x1,x2,x3,x4,px,tx) ;
prcpty1 = prcptrnAC(y1,y2,y3,y4,py,ty) ;
prcptX1 = prcptrnAC(X1,X2,X3,X4,pX,tX) ;
prcptY1 = prcptrnAC(Y1,Y2,Y3,Y4,pY,tY) ;
Print (Flq;)
BuSll (0,1,772012000);
}


 

I have found an interesting point:

The Expert Advisor makes trades during the day. At the end of the day I check its performance - compare it with a tester run on the same timeframe. So this is what happens: there are differences. I.e. deals that are not similar to those that are done by the Expert Advisor attached to the chart, with deals that are done by the Expert Advisor in the Strategy Tester within the same timeframe. At first I thought, maybe there were some irregularities and looked into the log - it is absolutely clear. But after restarting the terminal (closed and reopened it) and re-running in the tester, the open and closed positions coincided. I have been observing this situation for 3 days.

 
mpeugep писал(а) >>

So you have added another indicator in the new version, yes, you have written a function for it where you return its value, but the perceptron is written for the iA_C function!!!!

double prcptrnAC(int q1,int q2,int q3,int q4,int pr,int at)
{double qw = (q1-50)+((q2-50)*iA_C(pr)+(q3-50)*iA_C(2*pr)+(q4-50)*iA_C(3*pr))/iA_C(1);
if (MathAbs(qw)>at) return(qw);else return(0);}

......................................................................................................

......................................................................................................

void H1() { prcptx1 = prcptrnAC(x1,x2,x3,x4,px,tx) ;
prcpty1 = prcptrnAC(y1,y2,y3,y4,py,ty) ;
prcptX1 = prcptrnAC(X1,X2,X3,X4,pX,tX) ;
prcptY1 = prcptrnAC(Y1,Y2,Y3,Y4,pY,tY) ;
Print (Flq;)
BuSll (0,1,772012000);
}

Let's go over it again.

The indicator, which I have added in the new version, is designed to determine the direction of the trend on the higher H4 timeframe. It is in no way related to the perceptron, which determines the entry points on smaller timeframes. The fact that in the first versions I used both H4 and H1 oscillator AO is just my choice, a coincidence if you like.
In the H1 function it is also possible to change the perceptrons, regardless of the main indicator, I think it's not difficult, everyone can do it for himself, I will give an example later, but I probably will not make this block universal, it is too slow and complicated.