[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 384

 
aero >>:

1. почему нe знаю, но можно попробовать перед импортом удалить все содержимое папки history

Sim, eu apaguei a história toda.

 

Ajude-me a consertar o indicador. Você precisa ser capaz de mudar as propriedades das setas e a cruz na caixa de edição do objeto indicador.


Arquivos anexados:
 

Boa tarde, amigos.


Você pode me dizer como usar corretamente a função iCustom?


Por exemplo, você tem um indicador

"Williams' Accumulation/Distribution, W A/D - Larry Williams' Accumulation/Distribution"(https://www.mql5.com/ru/code/7064)


e quero acessar este indicador a partir de outro indicador usando a função iCustom:

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red

extern string Symbol1="USDJPY";
extern int SignalMA_Period=5;
extern int SignalMA_Method=0;

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
string short_name="ind";
IndicatorShortName(short_name);
SetIndexLabel(0,short_name);
SetIndexLabel(1,"Signal");
SetIndexDrawBegin(1,SignalMA_Period);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
double ad1, ad2;
//----
if(counted_bars<0) return(-1);
//----
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
//----
for(int i=0; i<limit; i++)
{

ad1=iCustom(Symbol1,0,"WAD",1,i);

ExtMapBuffer1[i]=ad1;
}
//----
for(i=0; i<limit; i++)
ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1,Bars,SignalMA_Period,0,SignalMA_Method,i);
//----
return(0);
}
//+------------------------------------------------------------------+


O indicador Williams em meu sistema é chamado WAD.

Mas, infelizmente, exibe uma janela vazia com o indicador (ou seja, não há indicador na janela... não está construída)


Como consertá-lo, por favor informe, se possível.

Muito obrigado de antemão.

 
Morzh09 писал(а) >>

Boa tarde, amigos.

Você poderia aconselhar como usar corretamente a função iCustom?

Por exemplo, há um indicador

"Williams' Accumulation/Distribution, W A/D - Larry Williams' Accumulation/Distribution"(https://www.mql5.com/ru/code/7064)


Quero aplicar a este indicador a partir de outro indicador usando a função iCustom:


ad1=iCustom(Symbol1,0,"WAD",1,i);


O indicador Williams em meu sistema é chamado WAD.

Mas, infelizmente, exibe uma janela vazia com o indicador (ou seja, não há indicador na janela... não está construída)

Como consertá-lo, por favor informe, se possível.

Muito obrigado de antemão.

Aparentemente, você está abordando o buffer errado. Você pode precisar de 0. Eu tenho uma boa idéia do que fazer com o indicador.

 

Sim. Você tem que tratá-lo de maneira diferente

ad1=iCustom(Symbol1,0,"WAD",0,i); 
 

Eu me deparei com esta característica:

abrir o meta-editor,

alterar os valores das variáveis externas na fonte,

compilar,

abrimos o terminal - o mesmo Expert Advisor já está no gráfico, mas ele é executado com valores antigos de variáveis externas!

Se você compilar quando a EA estiver em execução - os valores serão atualizados.

O problema pode ser resolvido por #define e reatribuição na inicialização, mas isto é um pouco confuso...

O terminal armazena valores antigos das variáveis externas da EA, mas eu não o encontrei.

o que isso significa e como lidar com isso?

 
beruk >>:

сталкнулся с такой особенностью:

открываем метаэдитор,

меняем в исходнике значения внешних переменных,

компилируем,

открываем терминал - на графике уже висит этот-же советник, но запускается он со старыми значениями внешних переменных!

если откомпилировать при запущенном советнике - значения обновятся.

проблему можно решить через #define и переназначение в инициализации, но это как-то коряво...

видимо терминал хранит где-то старые значения внешних переменных советника, но я не нашол.

шо сие означает и как с этим бороться?


os valores são armazenados em um arquivo de gráficos com chr na pasta perfis/(perfil selecionado)
 
xeon писал(а) >>

os valores são armazenados em um arquivo gráfico com chr nos perfis/(perfil selecionado)

certo!

mas eu acho que não há nada que você possa fazer a respeito, e a reatribuição via #define é a melhor coisa a fazer, se necessário?

 

Caros amigos, vocês poderiam me aconselhar sobre esta questão?


Quero usar citações de títulos americanos e europeus para análise comercial, mas meu corretor não as fornece...


Em tal situação, tanto quanto sei, há duas maneiras possíveis:


1. Mudança de corretor

2. Cotações de importação de fonte externa para a plataforma Metatrader.


Há duas perguntas a este respeito:


I. De onde posso fazer o download das citações:


1) US 10 Yr T-Note

2) Euro Bund


E como importá-los para a plataforma Metatrader?


II. Qual corretor comercializará esses instrumentos?

(Para a segunda pergunta, favor enviá-la para minha mensagem pessoal, não para ser considerada como uma promoção)


Muito obrigado de antemão.
 

O que está errado aqui?

Anexei esta EA à tabela horária e se o preço no início da hora for maior que cn1 e o preço atual estiver 8 pontos acima dele, a ordem deve abrir (também se o preço estiver abaixo do nível atual), mas minha EA abre posição imediatamente por alguma razão. Por quê?

  int i=0;
   double a,b;
   while (i==0)
   {
     a=MarketInfo("USDCAD", MODE_ASK);
     b=MarketInfo("USDCAD", MODE_BID); 
     if((Open[0]<cn1)&&((a-cn1)<0.0008))
      {
       OrderSend("USDCAD",OP_BUY,1,a,1,SL,cn2);
       i=1;
       }
     if((Open[0]>cn11)&&((cn11-b)<0.0008))
      {
       OrderSend("USDCAD",OP_SELL,1,b,1,SL1,cn21);
       i=1;
      }  
   }
Razão: