Comunidade de Especialistas - página 5

 

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


O que isso tem a ver com o assunto? O "+Point" resolve o problema de arredondar o último dígito significativo do preço. Não se trata de 2, 3 e muito menos de 10-20 pips.
Mas não vai funcionar agora, e quando você tentar usá-lo de verdade? Se lhe disserem que você tem que "hedge" =)
você deve saber exatamente qual é o problema, ok... Mas se você simplesmente colocar +Point em qualquer lugar e conseguir +5-10 pontos em um negócio(preço aberto, SL, TP...). Claro, você não pode salvar uma má EA, mas pode ajudar uma boa...
 
... Se você colocar + pontos em qualquer lugar e conseguir +5-10 pontos por comércio (preço de abertura, SL, TP...). Você não pode ajudar uma má EA, mas pode ajudar uma boa EA.

IMHO, 5-10 pontos não faz a diferença.
Se o sistema for crítico para tal deslizamento, ele não funcionará na vida real.
Se a citação for feita por um humano, a resposta pode esperar por dezenas de segundos,
pode levar mais.

Além disso (novamente, IMHO),
em prazos de um minuto, dificilmente será possível implementar o sistema,
se não houver um sistema automatizado do lado do corretor.
E, mesmo com um autômato, é muito duvidoso.

O tempo real é de uma hora ou mais,
E aí 5 pips não desempenham um grande papel, especialmente para o rastreamento.
 
... а так понатыкаешь везде +поинт, и получится по сделке +5-10 поинтов (цена открытия, СЛ, ТП...). Понятно, что плохого эксперта не спасёшь, но хорошему поможешь...

IMHO, 5-10 pips não faz a diferença.
Se o sistema for crítico para tais escorregões, ele não funcionará na vida real.
Se uma pessoa está citando, a resposta pode esperar por dezenas de segundos,
pode levar mais.

Além disso (novamente, IMHO),
dificilmente será possível implementar o sistema em prazos de um minuto,
se não houver um sistema automatizado do lado do corretor.
E, mesmo com um autômato, é muito duvidoso.

O tempo real é de uma hora ou mais,
E aí 5 pips não desempenham um grande papel, especialmente para o rastreamento.
Mak, eu concordo... Completamente...
Mas eu discordo que não funcione. Devemos encontrar o erro.
 
Os desenvolvedores da MQL4 especificaram a seguinte opção:

"Também é possível organizar o acesso aos dados históricos por outros prazos e até mesmo por outros pares de moedas
. Para obter tais dados, é necessário primeiro definir uma matriz unidimensional e
realizar uma operação de cópia usando a função "ArrayCopySeries". E ao chamar a função, você pode
passar menos parâmetros e não especificar parâmetros padrão"

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



Tentamos implementar esta opção, mas encontramos um problema: a matriz

 eur_close_m1[] 


não recebe quaisquer dados na matriz por algum motivo. Por favor, ajude-nos a descobrir qual é o problema.










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



Tentamos implementar esta opção, mas encontramos um problema: a matriz eur_close_m1[]
não está recebendo dados por algum motivo. Por favor, ajude-nos a entender qual é o problema.


o que diz GetLastError?
se este for o erro 4066, significa que você simplesmente ainda não tem seus dados carregados. Você precisa esperar algum tempo e tentar novamente.
 
double eur_close_m1[];
int number_copied = ArrayCopySeries(eur_close_m1, MODE_CLOSE, "EURUSD", PERIOD_M1);



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


o que diz GetLastError?
se for um erro 4066, é que os dados ainda não foram baixados. Você precisa esperar algum tempo e tentar novamente.


Não, não se trata de "Dados históricos solicitados em estado de atualização". O Expert Advisor, que se baseia na importação de dados de
, está simplesmente morto. Há dúvidas de que esta função seja apoiada. Será que existe algum precedente para reviver um Expert Advisor via importação de dados, existe alguma testemunha viva?
 
re Private:
há precedentes =)
Tenho um especialista (trabalhando) usando o ArrayCopySeries:
	double high[];
	ArrayCopySeries ( high, MODE_HIGH, _Symbol, Trade_TimeFrame );

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


Expert Advisor trabalha em 8 pares e 4 prazos simultaneamente - tudo funciona corretamente...

Ainda preciso ver o que a GetLastError diz...


Só por precaução: a visão geral do mercado tem os pares certos... Talvez o afete de alguma forma... (um palpite:)

 
Aqui está um trecho de nosso código com importação de dados.
Alguém sabe por que isso não conta a diferença?


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">
Aqui está um trecho de nosso código com importação de dados.
Talvez alguém saiba porque isso não conta a diferença?


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);


É claro que não fará nada, já que a função ArrayCopySeries retorna um número inteiro, não um array, mas o número de elementos copiados.
Veja no registro de especialista - deve haver uma mensagem sobre a ausência de matriz como um argumento
 
Redefinimos o código, mas por alguma razão ele ainda não funciona...


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);