Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 114
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
R Quais objetos não são diferentes? e o que significa mudar o tipo de objeto, as propriedades vão colapsar?
Isto significa que se eu substituir o objeto de linha horizontal por uma linha de tendência ou uma linha vertical no castiçal atual em meu código atual, um objeto ainda funcionará e será vermelho independentemente dos parâmetros do outro objeto.
O objetivo de todas essas manipulações é combinar o indicador e a EA, agora estou tentando encontrar o erro em si.
ou seja, cria movimentos e apaga muito normalmente, mas preciso de azul quando compro, não de vermelho quando vendo de qualquer forma.Saudações. Você pode me dizer o que é a () entrada de parênteses após "double bb" e o que é a {} entrada de parênteses para"double bb(int buff,int shift)" neste caso?
Também aqui. Comprar e Vender tem o tipo bool. Como posso descobrir o que é atribuído a eles ao usar "< , &&, >"? ?
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
Saudações. Você pode me dizer o que é a () entrada de parênteses após "double bb" e o que é a {} entrada de parênteses para"double bb(int buff,int shift)" neste caso?
Também aqui. Comprar e Vender tem o tipo bool. Como posso descobrir o que é atribuído a eles ao usar "< , &&, >"? ?
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
2) As variáveis booleanas são atribuídas com o resultado de toda a expressão lógica, seguindo o sinal de atribuição (=). Se todas as condições forem verdadeiras, a variável é atribuída como verdadeira, caso contrário - falsa
Isto significa que se eu substituir o objeto de linha horizontal por uma linha de tendência ou uma linha vertical no castiçal atual em meu código atual, um objeto ainda funcionará e será vermelho independentemente dos parâmetros do outro objeto.
O objetivo de todas essas manipulações é combinar o indicador e a EA, agora estou tentando encontrar o erro em si devido ao que o está causando.
ou seja, ele se move e apaga normalmente, mas eu preciso de azul quando compro, não de vermelho quando vendo de qualquer forma.Então você está ajustando os parâmetros do objeto gráfico errado novamente.
muito provavelmente.
Parece ser um livro de texto, mas o resultado não é o mesmo, foi por isso que joguei o código aqui.
Eu não consigo entender porque existe uma variável global do terminal do cliente se eu não a criei ?(GlobalVariablesTotal() mostra "1"). Talvez haja alguma pré-configuração no terminal ? Então porque quando eu quero saber seu nome e chamar a função GlobalVariableName(0) ou GlobalVariableName(1), nenhum nome é mostrado. Por favor, diga-me qual poderia ser o problema?
Saudações. Preciso obter os dados na linha vermelha do indicador que não está sobreposta na tabela de preços, mas que é exibida separadamente sob ela. Estou tentando fazer como com os indicadores que estão sobrepostos no gráfico, mas algo está errado. Onde eu estou errado?
Aqui está o próprio indicador
#property link "yuriytokman@gmail.com"
//ну если проще запулить в одно окно три мульти с настройками
//1 EUR-USD
//2 EURGBP
//3 EURJPY
//если все три в состоянии перекупленности значит Бай и наоборот
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_level1 0
#property indicator_level2 5
#property indicator_level3 -5
extern string Symbol_1 = "EURUSD";
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
double buf[];
double MA_buf[];
double buf2[];
double MA_buf2[];
double buf3[];
double MA_buf3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(0, buf);
SetIndexStyle(4,DRAW_NONE);
SetIndexBuffer(4,MA_buf);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(1, buf2);
SetIndexStyle(3,DRAW_NONE);
SetIndexBuffer(3,MA_buf2);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(2, buf3);
SetIndexStyle(5,DRAW_NONE);
SetIndexBuffer(5,MA_buf3);
IndicatorShortName("ytg_Def_RSI_3_Symbol");
Comment("yuriytokman@gmail.com");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
double RSI_1, RSI_2, RSI_12, RSI_22, RSI_13, RSI_23;
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=limit; i>=0; i--)
{
RSI_1 = iRSI(Symbol_1,0,RSI_1_Period,applied_price,i);
RSI_2 = iRSI(Symbol_1,0,RSI_2_Period,applied_price,i);
MA_buf[i] = (RSI_1-RSI_2);
RSI_12 = iRSI(Symbol_2,0,RSI_1_Period,applied_price,i);
RSI_22 = iRSI(Symbol_2,0,RSI_2_Period,applied_price,i);
MA_buf2[i] = (RSI_12-RSI_22);
RSI_13 = iRSI(Symbol_3,0,RSI_1_Period,applied_price,i);
RSI_23 = iRSI(Symbol_3,0,RSI_2_Period,applied_price,i);
MA_buf3[i] = (RSI_13-RSI_23);
}
for(i=limit; i>=0; i--)
{
buf[i] = iMAOnArray(MA_buf,0,ma_period,0,ma_method,i);
buf2[i] = iMAOnArray(MA_buf2,0,ma_period,0,ma_method,i);
buf3[i] = iMAOnArray(MA_buf3,0,ma_period,0,ma_method,i);
}
//----
return(0);
}
Saudações. Preciso obter os dados na linha vermelha do indicador que não está sobreposta na tabela de preços, mas que é exibida separadamente sob ela. Estou tentando fazer como com os indicadores que estão sobrepostos no gráfico, mas algo está errado. Onde eu estou errado?
Aqui está o próprio indicador
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
Você abre a janela dos parâmetros de entrada e os lista noiCustom em ordem.
Estão faltando os três primeiros valores de linha: