[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 376

 
Olá. Pessoal, por favor, ajudem - eu enterrei um esporão para redesenhar indicadores em algum lugar. Como fazer o cálculo do indicador apenas uma vez por barra (a cada período de tempo)? Eu me lembro - havia um disjuntor RETURN logo após o início - mas não me lembro da condição.
 
Aí está.
Taim0 = iTime(NULL,0,0);
       if ( Taim0 == taim_open)
        {
        return;
        } 

E colocar o início no final da função

taim_open = Taim0; 
Obrigado a todos vocês. ;-)
 
locol91 писал(а) >>
Aí está.

E colocar o início no final da função

>> Obrigado a todos vocês. ;-)

https://www.mql5.com/ru/forum/118402

 

Instalei três novos terminais de diferentes corretores para testar o Expert Advisor em condições reais de comercialização em demonstração e de repente descobri que

Recebierro 130= Paradas Inválidas. É uma coisa infernal - tudo estava funcionando nas plataformas que eu tinha antes.

Também não houve erros no testador de um problemático, não testou os outros. Comecei a analisá-los e parece que todos os três foram proibidos de abrir pedidos

SL e TP ao mesmo tempo (ainda não 100%, mas acho que esta é a questão).

- Alguém já encontrou algo assim? Se for verdade, "Paradas Inválidas" não ajuda muito...

- O testador da plataforma nada tem a ver com os termos e condições do corretor?

 

chief2000 писал(а) >>

...- O testador da plataforma não está de forma alguma ligado aos termos e condições do corretor?

O testador trabalha e tem que trabalhar de acordo com os termos de seu terminal a partir de um determinado corretor.

 

Aparentemente "funciona" e "deve" estão fora de sincronia :)

Hoje, um dos corretores "problemáticos" confirmou que é proibido abrir pedidos reais com o mesmo SL e TP,

Mas foi possível fazê-lo em seu testador (há outros casos com os testadores de outros corretores também).

 

Boa tarde, amigos.


Por favor, informe-se sobre esta situação.


Meu corretor não me permite negociar futuros de índices de ações. Portanto, não consigo ver gráficos desses índices em meu terminal.

A questão se coloca:

Onde posso obter cotações de DJIA, DAX, Nikkei, títulos americanos e europeus (por exemplo, 10 anos), assim como o chamado "índice do dólar", e como posso carregá-las no terminal, para que o terminal possa usá-las para traçar preços, usá-las como dados.


Aconselhe-me se você tiver uma chance.


Muito obrigado de antemão.
 
Morzh09 писал(а) >>

Boa tarde, amigos.

Por favor, informe-se sobre esta situação.

Meu corretor não me permite negociar futuros de índices de ações. Portanto, não consigo ver gráficos desses índices em meu terminal.

A questão se coloca:

Onde posso obter cotações de DJIA, DAX, Nikkei, títulos americanos e europeus (por exemplo, 10 anos), assim como o chamado "índice do dólar", e como posso carregá-las no terminal, para que o terminal possa usá-las para traçar preços, usá-las como dados.

Aconselhe se você terá a oportunidade.

Muito obrigado de antemão.

Faça o download deles no servidor da Alpari. DJI, DAX, Nikkei, índice do dólar que eles têm. Você pode fazer isso a partir do servidor de demonstração da Alpari. Procure o endereço em seu website. Ou instale sua versão MT4 e abra uma conta demo. Eles não têm Eurobonds.

 

Pessoal, socorro!!! Quebrei meu cérebro, mas não tenho conhecimento suficiente. Eu uso as funções WindowPriceMax e WindowPriceMin em meu indicador. O problema é que quando eu mudo para outro intervalo de tempo para o cálculo inicial do indicador estas funções tomam dados da janela anterior (por exemplo, o gráfico anterior tinha 4H e as janelas max e min eram por exemplo 1.4000 e 1.2000, quando mudo para D, as janelas max e min tornam-se 1.5000 e 1.1000, mas o primeiro indicador é calculado com valores antigos de max e min, e somente com um novo tick são necessários novos valores. E você pode esperar muito tempo por um novo tique, por exemplo, à noite. Como evitar este problema?

//***************************************
int init() {
IndicatorBuffers(3);
SetIndexStyle(0,DRAW_LINE);
    SetIndexBuffer(0, zz);
    SetIndexBuffer(1, fxH);
    SetIndexBuffer(2, fxL);
if ( Points!=0 && Percent==0) di=10* Points*Point;
return(0); }
//-----------------------------------------------
int deinit(){ ObjectsDeleteAll(0,21); return(0);}
//********************************************************
int start() {
int i, n, cb0;
int counted_bars=IndicatorCounted();
if ( counted_bars<0) {Print("Indicator Error (Counted bars < 0)!" ); return(-1); }
if (Bars<100) {Print("Indicator Error (Bars < 100)!" ); return(-1); }
int cbi=Bars-2;
if ( counted_bars>2) { cbi=Bars- counted_bars; }
//======================================================================================================================
for ( i= cbi; i>=0; i--) {
//-----------------Functions------------------------------
fxH[ i]=High[ i];  
fxL[ i]=Low[ i];
Max=(WindowPriceMax()-WindowPriceMin())/100;
 
kon12 >>:

Люди, помогите!!! Мозги сломал, но знаний не хватает. В индикаторе использую функции WindowPriceMax и WindowPriceMin. Беда в том, что при переходе на другой таймфрейм для начального расчета индикатора эти функции берут данные с предыдущего окна (например, предыдущий график был 4Н и мах и мин окна были допустим 1.4000 и 1.2000, перехожу на D, и мах и мин окна становятся 1.5000 и 1.1000, но сначала индикатор расчитывается по старым значениям мах и мин, и только с приходом нового тика считает новые значения. А нового тика можно ждать долго, например ночью... Как обойти эту заморочку?

Eu posso sugerir este truque para verificar:

veja se as funções WindowFirstVisibleBar() e WindowBrsPerChart() funcionam corretamente em sua situação. Se seus valores retornados corresponderem ao novo gráfico, você pode usar ArrayMaximum() e ArrayMinimum() para calcular os valores de preço máximo e mínimo no gráfico

Razão: