[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 56
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
Descrição da interseção no programa. Parece funcionar, mas não como deveria. Estou arredondando as variáveis para um dígito para que
pegue a intersecção. E este Alerta() me toca, desde que os meios estejam na mesma posição. Como faço para que seja chamado uma vez, bem até 5 vezes.
//| Глобальные переменные |
//+------------------------------------------------------------------+
extern int Period_MA_Blue = 4; // Период 4-х расчётной синей МА (4 часа)
extern int Period_MA_Green = 13; // Период 13-ти расчётной зеленой МА (13 часов)
extern int Period_MA_Orange = 50; // Период 50-ти расчётной оранжевой МА (2 дня 2 часа)
double MA_Blue_EURUSD, MA_Green_EURUSD, MA_Orange_EURUSD;
string SMA_Blue_EURUSD,SMA_Green_EURUSD,SMA_Orange_EURUSD;
//+------------------------------------------------------------------+
//| Начало программы |
//+------------------------------------------------------------------+
int init(){return(0);}
int EURUSD()
{
if(SMA_Green_EURUSD == SMA_Orange_EURUSD && SMA_Blue_EURUSD > SMA_Orange_EURUSD)
{
// Если зеленая МА пересекает оранжевую МА и при этом синяя МА выше - сигнал к покупке.
Alert("Cигнал на ПОКУПКУ паре EURUSD");
return(11); // 11 - на первой паре сигнал на покупку.
}
if(SMA_Green_EURUSD == SMA_Orange_EURUSD && SMA_Blue_EURUSD < SMA_Orange_EURUSD)
{
// Если зеленая МА пересекает оранжевую МА и при этом синяя МА ниже - сигнал к продаже.
Alert("Cигнал на ПРОДАЖУ паре EURUSD");
return(10); // 20 - на первой паре сигнал на продажу.
}
}
int start()
{
//+------------------------------------------------------------------+
//| Блок работы с EURUSD |
//+------------------------------------------------------------------+
if(EURUSD() != 11 || EURUSD() != 10)
{
// Если функция EURUSD() не зафиксировала ни один из сигналов, обрабатываем данные дальше.
MA_Blue_EURUSD = iMA("EURUSD",PERIOD_H1,Period_MA_Blue,0,MODE_EMA,PRICE_CLOSE,0);
MA_Green_EURUSD = iMA("EURUSD",PERIOD_H1,Period_MA_Green,0,MODE_EMA,PRICE_CLOSE,0);
MA_Orange_EURUSD = iMA("EURUSD",PERIOD_H1,Period_MA_Orange,0,MODE_EMA,PRICE_CLOSE,0);
SMA_Blue_EURUSD = MA_Blue_EURUSD; // Преобразование int в string
SMA_Blue_EURUSD = StringSetChar(SMA_Blue_EURUSD, 6, ''); // Округление до х.хххх
SMA_Green_EURUSD = MA_Green_EURUSD; // Преобразование int в string
SMA_Green_EURUSD = StringSetChar(SMA_Green_EURUSD, 6, ''); // Округление до х.хххх
SMA_Orange_EURUSD = MA_Orange_EURUSD; // Преобразование int в string
SMA_Orange_EURUSD = StringSetChar(SMA_Orange_EURUSD, 6, ''); // Округление до х.хххх
}
}
int deinit(){return(0);}
Se estiver tudo errado na raiz, sugira métodos para rastrear o cruzamento. Obrigado.
Boa tarde, por favor, ajude, há uma idéia simples para implementar uma chamada de Alerta() quando três MAs se cruzam.
Descrição da interseção no programa. Parece funcionar, mas não como deveria. Estou arredondando as variáveis para um dígito para
para pegar a interseção. E este Alerta() toca para mim desde que os meios estejam na mesma posição. Como faço para que seja chamado uma vez, bem até 5 vezes. Se não estiver bem na raiz, sugira métodos para rastrear o cruzamento. Obrigado.
Em algum lugar como este, num relance...
Ou eu sou estúpido ou há algo errado com o terminal. Eu queria otimizar uma EA, mas não há nenhuma aba "parâmetros de entrada" nas propriedades da EA. Tenho tentado otimizar minha EA, mas não há nenhuma aba "parâmetros de entrada" em suas propriedades.
https://forum.mql4.com/ru/46980/page417#702426
https://www.mql5.com/ru/forum/138609/page417#702426
É possível usar uma matriz nos parâmetros de uma função? Por exemplo, eu quero criar uma função que lide com informações em uma matriz:
É possível usar uma matriz nos parâmetros de uma função? Por exemplo, eu quero criar uma função que lide com informações em uma matriz:
O que diz o tutorial aqui?
"
Os parâmetros a serem passados são indicados entre parênteses após o nome da função a ser chamada e são listados, separados por vírgulas. O número de parâmetros passados para uma função não deve exceder 64. A função também não pode utilizar os parâmetros passados. Neste caso, é indicada uma lista de parâmetros vazia, ou seja, os parênteses de abertura e fechamento são colocados imediatamente após o nome da função.
O número, tipo e ordem dos parâmetros passados na chamada de função devem coincidir com o número, tipo e ordem dos parâmetros formais, especificados na descrição da função (exceção é a chamada de uma função, que tem parâmetros padrão - ver Chamada de função e Descrição da função e operador de retorno). Se não houver tal coincidência, o MetaEditor emitirá uma mensagem de erro. Constantes, variáveis, expressões e arrays podem ser usados como parâmetros passados. "
É possível usar uma matriz nos parâmetros de uma função? Por exemplo, eu quero criar uma função que lide com informações em uma matriz:
Tente isto:
https://docs.mql4.com/ru/basis/variables/formalO mesmo vale para Close - iClose, Open - iOpen, Time - iTime Volume - iVolume etc.
E o indicador pode traçar até 8 linhas de 0 a 7 https://docs.mql4.com/ru/customind/indicatorbuffers
muito obrigado :) o indicador ainda não está desenhado, tenho picos em linhas como price=iL[k]; onde iL é meu iLow...antigo Low
De qualquer forma, descobri muitas coisas úteis...mas não vou cavar mais...
há um método mais simples de visualizar o redesenho...sem um indicador personalizado.
O que o livro didático diz aqui?
"
Os parâmetros a serem passados são indicados entre parênteses após o nome da função a ser chamada e são listados, separados por vírgulas. O número de parâmetros passados para a função não deve exceder 64. A função também não pode utilizar os parâmetros passados. Neste caso, é indicada uma lista de parâmetros vazia, ou seja, os parênteses de abertura e fechamento são colocados imediatamente após o nome da função.
O número, tipo e ordem dos parâmetros passados na chamada de função devem coincidir com o número, tipo e ordem dos parâmetros formais, especificados na descrição da função (exceção é a chamada de uma função, que tem parâmetros padrão - ver Chamada de função e Descrição da função e operador de retorno). Se não houver tal coincidência, o MetaEditor emitirá uma mensagem de erro. Constantes, variáveis, expressões e arrays podem ser usados como parâmetros passados. "