[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
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ê?
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.
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.
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
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?
сталкнулся с такой особенностью:
открываем метаэдитор,
меняем в исходнике значения внешних переменных,
компилируем,
открываем терминал - на графике уже висит этот-же советник, но запускается он со старыми значениями внешних переменных!
если откомпилировать при запущенном советнике - значения обновятся.
проблему можно решить через #define и переназначение в инициализации, но это как-то коряво...
видимо терминал хранит где-то старые значения внешних переменных советника, но я не нашол.
шо сие означает и как с этим бороться?
os valores são armazenados em um arquivo de gráficos com chr na pasta perfis/(perfil selecionado)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; } }