Community of Expertise - page 5

 

понятно, что можно люфт сделать, но это же не серьёзно.... а если придётся люфт 10-20 пипсов делать, "для надёжности", да на М30, сказка просто =)


What does this have to do with it? "+Point" solves the problem of rounding off the last significant digit of the price. It's not about 2, 3, let alone 10-20 pips.
But it won't work now, what about when you try to use it on real? If you're told that you have to "hedge" =)
you should know exactly what the problem is, ok... But if you just put +Point everywhere and get +5-10 points in a deal(open price, SL, TP...). Sure, you can't save a bad EA, but you can help a good one...
 
... If you put +points everywhere and get +5-10 points per trade (opening price, SL, TP...). You can't help a bad EA, but you can help a good one.

IMHO, 5-10 points does not make the difference.
If the system is critical to such slippage, it will not work in real life.
If the quote is made by a human, the response can wait for dozens of seconds,
it may take more.

In addition (again, IMHO),
on one-minute timeframes it will hardly be possible to implement the system,
if there is no automated system on the broker's side.
And even with an automaton it is very doubtful.

The real timeframe is from one hour and above,
And there 5 pips does not play a big role, especially for trailing.
 
... а так понатыкаешь везде +поинт, и получится по сделке +5-10 поинтов (цена открытия, СЛ, ТП...). Понятно, что плохого эксперта не спасёшь, но хорошему поможешь...

IMHO, 5-10 pips does not make the difference.
If the system is critical to such slippages, it will not work in real life.
If a person is quoting, the response can wait for dozens of seconds,
it may take more.

In addition (again, IMHO),
it will hardly be possible to implement the system on one-minute timeframes,
if there is no automated system on the broker's side.
And even with an automaton it is very doubtful.

The real timeframe is from one hour and above,
And there 5 pips does not play a big role, especially for trailing.
Mak, I agree... Completely...
But I disagree that it does not work. We must find the error.
 
The MQL4 developers specified the following option:

"It's also possible to arrange access to historical data by other timeframes and even by other
currency pairs. To get such data, it is necessary to first define a one-dimensional array and
perform a copying operation using the "ArrayCopySeries" function. And when calling the function, you can
pass fewer parameters and not specify default parameters."

double eur_close_m1[];
int number_copied = ArrayCopySeries(eur_close_m1, MODE_CLOSE, "EURUSD", PERIOD_M1);



We tried to implement this option, but encountered a problem: the array

 eur_close_m1[] 


does not get any data into the array for some reason. Please help us find out what the problem is.










 
double eur_close_m1[];
int number_copied = ArrayCopySeries(eur_close_m1, MODE_CLOSE, "EURUSD", PERIOD_M1);



We tried to implement this option, but encountered a problem: the eur_close_m1[] array
is not receiving data for some reason. Please help us to understand what the problem is.


what does GetLastError say?
if this is error 4066, it means that you don't have any data fed in yet. You need to wait some time and try again.
 
double eur_close_m1[];
int number_copied = ArrayCopySeries(eur_close_m1, MODE_CLOSE, "EURUSD", PERIOD_M1);



Мы пытались эту опцию реализовать, но столкнулись с проблемой: в массив eur_close_m1[]
почему то не поступают данные. Помогите разобраться в чем проблема.


what does GetLastError say?
if it's a 4066 error, it's just that the data hasn't been downloaded yet. You need to wait some time and try again.


No, it doesn't get to "Requested history data in updating state". The Expert Advisor, which is based on importing data from
, is just dead. There are doubts that this function is supported. I wonder if there is any precedent for reviving the Expert Advisor via data import, is there a living witness?
 
re Private:
there are precedents =)
I have an expert (working) using ArrayCopySeries:
	double high[];
	ArrayCopySeries ( high, MODE_HIGH, _Symbol, Trade_TimeFrame );

	double open_price = NormalizeDouble ( MathMax( high[0], high[1] ), digits );


Expert Advisor works on 8 pairs and 4 timeframes simultaneously - everything works correctly...

I still need to see what GetLastError says...


Just in case: market overview has the right pairs? Maybe it affects it somehow... (a guess:)

 
Here is a snippet of our code with data import.
Does anyone know why it doesn't count the difference?


double ma_6O=iMAOnArray( ma_O, ArrayCopySeries(ma_O, MODE_OPEN, "EURUSD", PERIOD_H1), 3*MA_period,0,MODE_SMA,1);

double ma_6C=iMAOnArray( ma_C, ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1), 3*MA_period,0,MODE_SMA,1 );

double diff_OP = ma_6O - ma_6C;

Comment("O-С = "+diff_OP);

 
<br/ translate="no">
Here is a snippet of our code with data import.
Does anyone know why it doesn't count the difference?


double ma_6O=iMAOnArray( ma_O, ArrayCopySeries(ma_O, MODE_OPEN, "EURUSD", PERIOD_H1), 3*MA_period,0,MODE_SMA,1);

double ma_6C=iMAOnArray( ma_C, ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1), 3*MA_period,0,MODE_SMA,1 );

double diff_OP = ma_6O - ma_6C;

Comment("O-С = "+diff_OP);


Of course, it won't do anything, since the ArrayCopySeries function returns an integer number, not an array, but the number of copied elements.
Look in the Expert log - there should be a message about absence of array as an argument
 
We've redone the code, but for some reason it still doesn't work...


double ma_O[];
double ma_C[];

ArrayCopySeries(ma_O, MODE_OPEN, "EURUSD", PERIOD_H1);
double ma_6O=iMAOnArray( ma_O, 0, 3,0,MODE_SMA,1);

ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1);
double ma_6C=iMAOnArray( ma_C, 0, 3,0,MODE_SMA,1 );

double diff_OP = ma_6O - ma_6C;

Comment("O-C = "+diff_OP);
Reason: