[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 600
O testador não relata nenhum erro, apenas não são feitos pedidos.
Por favor, aponte o erro, a lógica: se o valor de MA [0] da barra é maior que MA [1] você tem que comprar, ao contrário - vender (este código foi escrito como um exemplo para tentar entender uma condição simples e criar uma condição mais complicada).
Este código não usa MA[0] e MA[1] mas MA[j] e MA[j+1];
Após uma pequena revisão do código (muito pequena), apareceu o erro 4107
Posso fazer com que funcione, mas será uma EA totalmente diferente. Estou simplificando-o ao máximo. E aqui o código pode ser reduzido para mais da metade.
Se as Paradas e Aquisições forem iguais a zero, o Expert Advisor começa a abrir negócios
Vinin: Posso fazê-lo funcionar, mas será uma EA completamente diferente. Estou simplificando o máximo possível. E aqui o código pode ser reduzido em mais da metade.
Vinin, se você pode fazer com que funcione com fechamento em parada ou lucro, o principal para mim é sentir a filosofia da mql ao abordar diferentes barras na matriz.
Craft: Vinin, se você pode fazer com que funcione com fechamento em parada ou lucro, o principal é sentir a filosofia do mql ao abordar diferentes barras em uma matriz.
Eu o verifiquei. Funciona. O sinal é uma mudança de direção
Craft: Bom, mas como funciona em código (lógica): Se MA150+20 > MA5 > MA150-20 e MA150+20 > MA21 > MA150-20, então Tendência plana.
A lógica está em algum lugar por aqui... Eu fiz isso rápido, desculpe-me, se alguma coisa...
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж//------------------------------- Функция определения тренда по МАшкам ----------------------------//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж// Возврвщает 1 = тренд вверх, -1 = тренд вниз, 0 = флэт...//------------------------------------------------------------// -------------- Внешние переменные -------------//============================================================externstring MATrendDetectorParameters = "Параметры детектора тренда";
externdouble Limit150 =20;
externdouble Limit21 =20;
externdouble Limit5 =20;
// ===============================================================// ---------------------- Собственно сама функция ----------------// ===============================================================int TrendDetectorMA (string sy, int tf)
{
double MA150, MA150UP, MA150DN,
MA21, MA21UP, MA21DN,
MA5, MA5UP, MA5DN,
pt;
// ---------------------------------------
pt=Point;
if (sy=="" || sy=="0") sy=Symbol();
MA150 =iMA(sy,tf,150,0,MODE_SMA, PRICE_MEDIAN,1);
MA21 =iMA(sy,tf,21,0,MODE_SMA, PRICE_MEDIAN,1);
MA5 =iMA(sy,tf,5,0,MODE_SMA, PRICE_MEDIAN,1);
MA150UP =MA150+Limit150*pt;
MA150DN =MA150-Limit150*pt;
MA21UP =MA21+Limit21*pt;
MA21DN =MA21-Limit21*pt;
MA5UP =MA5+Limit5*pt;
MA5DN =MA5-Limit5*pt;
// --------------------------------------// ------------- Рассчёт данных ---------if (
MA5DN>MA21UP && // Если нижняя граница быстрой МАшки выше верхней границы средней МАшки и...
MA21DN>MA150UP // нижняя граница средней МАшки выше верхней границы медленной МАшки,
)
return(1); // значит тренд вверх, возвращаем 1if (
MA5UP<MA21DN && // Если верхняя граница быстрой МАшки ниже нижней границы средней МАшки и...
MA21UP<MA150DN // верхняя граница средней МАшки ниже нижней границы медленной МАшки,
)
return(-1); // значит тренд вниз, возвращаем -1elsereturn(0); // В остальных случаях у нас флэт, возвращаем 0
}
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
O desafio é algo parecido com isto:
int tr=TrendDetectorMA (NULL, 5); // NULL, 0 = текущий символ, либо явно, напр. EURUSD
// 5 = таймфрейм, можно 15, 30, 60, 240, 1440, 10080, 43200, хотя можно было
// и красивее сделать.
Comment ("\n","Тренд = ", tr);
return;
meu sistema está configurado para sempre querer abrir uma ordem e eu a limito através de sinais de proibição, apenas sinais me dão permissão para negociar = ordem
Tenho um pequeno problema agora - não há negócios atrasados, mas há problemas com ordens aleatórias no apartamento noturno - até agora eu sonho em ensinar a EA a distinguir o apartamento, e não limitá-lo à hora do dia para trabalhar. Para a estimativa da tendência estou usando um TF mais alto na lógica EA, então sou capaz de colocá-lo à noite em um TF de hora em hora e parece ser menos teimoso do que em M15
Por que restringir? Você pode usar estratégias separadas para tendências e planos. Deixe-o sempre funcionar, desde que funcione ... ;)
O testador não relata nenhum erro, apenas não são feitos pedidos.
Por favor, aponte o erro, a lógica: se o valor de MA [0] da barra é maior que MA [1] você tem que comprar, ao contrário - vender (este código foi escrito como um exemplo para tentar entender uma condição simples e criar uma condição mais complicada).
Este código não usa MA[0] e MA[1] mas MA[j] e MA[j+1];
Após uma pequena revisão do código (muito pequena), apareceu o erro 4107
Posso fazer com que funcione, mas será uma EA totalmente diferente. Estou simplificando-o ao máximo. E aqui o código pode ser reduzido para mais da metade.
Se as Paradas e Aquisições forem iguais a zero, o Expert Advisor começa a abrir negócios
resposta
A questão é que os conselheiros trabalham e os indicadores não funcionam de forma alguma!
Vinin, se você pode fazer com que funcione com fechamento em parada ou lucro, o principal é sentir a filosofia do mql ao abordar diferentes barras em uma matriz.
Eu o verifiquei. Funciona. O sinal é uma mudança de direção
Bom, mas como funciona em código (lógica): Se MA150+20 > MA5 > MA150-20 e MA150+20 > MA21 > MA150-20, então Tendência plana.
O desafio é algo parecido com isto:Quero usar os volumes Ramus em MT4, eles parecem ter volumes mais realistas.
meu sistema está configurado para sempre querer abrir uma ordem e eu a limito através de sinais de proibição, apenas sinais me dão permissão para negociar = ordem
Tenho um pequeno problema agora - não há negócios atrasados, mas há problemas com ordens aleatórias no apartamento noturno - até agora eu sonho em ensinar a EA a distinguir o apartamento, e não limitá-lo à hora do dia para trabalhar. Para a estimativa da tendência estou usando um TF mais alto na lógica EA, então sou capaz de colocá-lo à noite em um TF de hora em hora e parece ser menos teimoso do que em M15
Boa noite, eu não trabalho com indicadores MQL4, e nada! Por favor, ajude-me!
responda
O fato de que os conselheiros trabalham, e os indicadores não funcionam!
F1 ajuda - seção de indicadores técnicos
Como usar caixa de objetos e conjunto de objetos para desenhar uma linha horizontal em uma janela estocada, por exemplo?