[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 301

 
Alexandr24:
Obrigado, vou preencher os espaços em branco :)

Desculpe. Eu não percebi que os links não funcionavam mais. Ainda tenho uma cópia destas palestras, publicadas na pré-história. Aqui está no site de compartilhamento de arquivos: http://depositfiles.com/files/eg4fmn3bp - Baixe, descompacte, execute e clique em "Home" - as palestras são de baixo para cima.
 
granit77:
1. A maneira padrão de obter dados indicadores no Expert Advisor é exatamente o iCustom.
2. #incluir não pertence de forma alguma a esta categoria. Esqueça isso por enquanto.

Muito obrigado! Desculpe pela resposta tardia.

Eu tenho tudo trabalhado, só falta descobrir porque o sinal da seta para baixo não está funcionando.

 
durol:

Uso TFs não-padrão no MT-4 - M21 M89 M377
eles não são atualizados automaticamente

notei que se você conectar e desconectar a conexão 2 vezes, todos os TFs não-padrão atualizarão automaticamente
o que é mais conveniente do que clicar em atualizar para cada moeda

ORIENTALMENTE aberto gráficos, o terminal tem estado ocioso por várias horas - todos os cronogramas não-padrão são atualizados automaticamente

o que pressionar, onde pressionar para que com uma ÚLTIMA conexão todos atualizem de uma vez?
eu tentei abrir: visão geral do mercado, login, clique em moedas, minimize - maximize a janela

se eu conectar - desconectar - o download é interrompido.

Encontrado no fórum MT4

AlexSilver 09.05.2006 16:13
Sim... O script é removido quando um novo tick aparece. Se você quiser usar a cópia, ela será muito mais rápida.

Slawa 04.05.2006 10:29
Não haverá gráficos não-padronizados online

somente cargos em 2006

se às vezes os gráficos se atualizam - deve haver algum tipo de padrão

Tanto quanto posso ver, todo o problema é uma dupla conexão defeituosa

Eu acho que não é difícil escrever um script ou algo similar, de modo que no painel, se necessário, um ícone aparece (ou no menu de contexto, que é menos conveniente), que duas vezes (em intervalos de 5 segundos - para que não haja conexão, então 5 segundos) irá desconectar - conecte a conexão e, assim, atualize automaticamente todas as TF não-padrão

pelo menos não toque no terminal por algumas horas - ele se atualizará

Mas esta não é a melhor solução - nem sempre funciona e às vezes você precisa de uma atualização a cada meia hora.

graças a

descobri por mim mesmo.

dll deve ser habilitado não em Ferramentas - Configurações, mas nas propriedades do Conversor de Período Opt - Geral

Serviço - As configurações ajudam se um gráfico TF não-padrão for branco sem tudo

não está claro porque esta caixa de seleção não está marcada por padrão neste indicador - sem ela o indicador não se atualiza automaticamente - isto é um claro menos de desenvolvedores

não é atualizado a cada tick- em algum lugar com um dos três
é desenhado automaticamente atualizado não com cada tick - mas o mesmo que manualmente atualizado

 

Bom dia a todos!

Você pode sugerir um programa prático para ler e escrever scripts MT4?

 
Ekburg:

Bom dia a todos!

Você pode sugerir um programa prático para ler e escrever scripts MT4?

MetaEditor
 
Alexandr24:
Obrigado, vou preencher os espaços em branco :)
Sobre a transferência do código indicador para artigos básicos, Expert.
https://www.mql5.com/ru/articles/1456
https://www.mql5.com/ru/articles/1457
https://www.mql5.com/ru/articles/1463
 
granit77:
Ao mover o código indicador para o Expert Advisor, artigos básicos.
https://www.mql5.com/ru/articles/1456
https://www.mql5.com/ru/articles/1457
https://www.mql5.com/ru/articles/1463

Mas é melhor não transferir o código indicador para o especialista - será lento
 
Vinin:

Mas é melhor não transferir o código indicador para o espert - haverá freios
De acordo, houve uma discussão vigorosa sobre a velocidade. Vinin e Integer eram a favor de indicadores separados.
Eu acredito neles :))
 
granit77:
Concordo, houve uma discussão vigorosa sobre a velocidade. Vinin e Integer foram para os indicadores individuais.
Eu acredito neles :))

Olá! Desculpe a insistência, mas se você não se importa, poderia me aconselhar, por favor?

Com o iCustom recebo um sinal indicador na EA, mas a EA só abre negócios em uma direção, dependendo da condição daquela parte .

// ----- буферы индикатора

double   ArrowDownBuffer[];
double   ArrowUpBuffer[];

//------ получение сигнала в советнике


double db=iCustom(NULL,0,"GetSignal",0,SignalBar);// Стрелка вниз
double ub=iCustom(NULL,0,"GetSignal",1,SignalBar);// Cтрелка вверх
 
 
 bool BuySignal=false;
 bool SellSignal=false;
 
//-----------------------------------------------------------------------------------+
//Проверка на сигнал
if(db!=1)
 {
  SellSignal=true;
 }
if(ub!=1)
 {
  BuySignal=true;
 }
   

   
 //------------------------------------------------------- check for long position (BUY) possibility
      if( BuySignal ) 
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"MA",MN,0,Green);
         


 
skyjet:

Olá! Desculpe a insistência, mas se você não se importa, poderia me aconselhar, por favor?

Com o iCustom recebo um sinal indicador na EA, mas a EA só abre negócios em uma direção, dependendo da condição daquela parte .

Não há nada mais cansativo do que procurar por erros no código de outras pessoas. E eu não sou um programador.

Veja como o bloco de abertura pelo indicador de seta é feito no feiticeiro. Há também um limite para o número de pedidos.

         #property copyright "Integer"
         //..............................  
         double bv=iCustom(NULL,TimeFrame,IND,PatternLength,PatternID,UsePatternStr,BuyPatternStr,0,1);
         double sv=iCustom(NULL,TimeFrame,IND,PatternLength,PatternID,UsePatternStr,BuyPatternStr,1,1);
         
         bool BuySignal=false;
         bool SellSignal=false;
            if(bv!=0 && bv!=EMPTY_VALUE){
               BuySignal=true;
            }
            if(sv!=0 && sv!=EMPTY_VALUE){
               SellSignal=true;
            }
            
            if(BuySignal || SellSignal){
               if(CloseOnRev)fOrderCloseMarket(SellSignal,BuySignal);
               int BuyCount,SellCount;
               int Total=fMarketOrdersTotal(BuyCount,SellCount);
                  if(Total==-1){
                     return(0);
                  }
                  if(Total<MaxCount || MaxCount==-1){
                     if(BuySignal){
                        if(BuyCount<MaxBuyCount || MaxBuyCount==-1){
                           if(LastBuyTime!=iTime(NULL,TimeFrame,0)){
                              fOrderOpenBuy();
                           }  
                        }
                     }
                     if(SellSignal){
                        if(SellCount<MaxSellCount || MaxSellCount==-1){
                           if(LastSellTime!=iTime(NULL,TimeFrame,0)){
                              fOrderOpenSell();
                           }
                        }
                     }
                  }
                  
            }
            
Razão: