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
Você pode adicioná-lo para desenhar essas linhas adicionais mais uma vez - como esta:
Mais uma vez obrigado mladen
Precisa de ajuda na programação de um Alerta
Olá, sou novo em toda a programação do mql4.
Eu quero criar um novo alarme "tudo em um".
Tenho Fx MNT, Super Sinal e Gráfico de Valores CHT com sinais de alarme.
Agora quero ter apenas um alarme, quando MNT,Super Sinal,Gráfico de Valor & RSI estiver no lugar certo.
Como codificar isto ? Posso usar as partes do alarme existente e colocá-las todas em um único grande código ?
gentilmente, considere o Slow
Olá, sou novo em toda a programação do mql4.
Eu quero criar um novo alarme "tudo em um".
Tenho o Fx MNT, o Super Sinal e a Tabela de Valores CHT com sinais de alarme.
Agora quero ter apenas um alarme, quando MNT,Super Sinal,Gráfico de Valor & RSI estiver no lugar certo.
Como codificar isto ? Posso usar as partes do alarme existente e colocá-las todas em um único grande código ?
gentilmente considera SlowLento
Você pode fazer isso, mas o código que seria "responsável" por obter dados de todos esses indicadores não seria simples (especialmente a parte com parâmetros onde você precisaria declarar parâmetros externos a todos os indicadores que seriam chamados a fim de descobrir se o alerta deveria ser acionado ou não)
fechamentos consecutivos mais alto/mais baixo
O arquivo anexo tem uma série de condições que podem ser incluídas, selecionando verdadeiro/falso.
Eu gostaria de incorporar outra condição como verdadeiro/falso: existem
2 fechamentos consecutivos mais altos por muito tempo?
Se houver, então se as outras condições habilitadas por true estiverem presentes, então seta para cima produzida.
2 fechamentos inferiores consecutivos para os calções?
Se houver, então se as outras condições habilitadas por true estiverem presentes, então seta para baixo produzida.
O número de fechos poderia ser uma variável?
Alguém poderia codificar esta condição extra no indicador Stoch_Indy? Obrigado.
O arquivo anexo tem uma série de condições que podem ser incluídas, selecionando verdadeiro/falso.
Eu gostaria de incorporar outra condição como verdadeiro/falso: estão lá
2 fechamentos consecutivos mais altos por muito tempo?
Se houver, então se as outras condições habilitadas por true estiverem presentes, então seta para cima produzida.
2 fechamentos inferiores consecutivos para os calções?
Se houver, então se as outras condições habilitadas por true estiverem presentes, então seta para baixo produzida.
O número de fechos poderia ser uma variável?
Alguém poderia codificar esta condição extra no indicador Stoch_Indy? Obrigado.
pessoa77
Experimente este aqui
Opção UsoBrasrasrascos FechadosConsecutivos adicionados para esse fim. Não apenas uma identificação fechada testada, mas um fechamento deve ser maior do que aberto em tais barras a fim de fazer uma subida consecutiva, ou deve ser menor do que aberto em tais barras a fim de fazer uma descida consecutiva
pessoa77
Experimente este aqui
Opção UsoBrasrasrascos FechadosConsecutivos adicionados para esse fim. Não apenas uma identificação fechada testada, mas um fechamento deve ser maior do que aberto em tais barras a fim de fazer uma subida consecutiva, ou deve ser menor do que aberto em tais barras a fim de fazer uma descida consecutivaMuito bom mladen - funciona muito bem. Obrigado!
Nos poucos casos em que me deparei, ter C = O permitido é, em geral, favorável.
Você poderia alterá-lo para permitir isto, ou, melhor ainda, ter uma opção se C = O é permitido ou não?
Muito bom mladen - funciona muito bem. Obrigado!
Nos poucos casos em que me deparei, ter C = O permitido é, em geral, favorável.
Você poderia alterá-lo para permitir isso ou, melhor ainda, ter uma opção se C = O é permitido ou não?pessoa77
Mais uma opção adicionada : AllowCloseEqualOpen. para que você possa controlá-lo com essa opção agora
Oi, pessoal,
Eu tenho uma pergunta sobre codificação
É possível traçar a média móvel no gráfico geral com estas preferências?
nCountedBars = IndicatorCounted();
dFactor = 2*3.14159/180.0;
mFactor = 10000.0;
Oi, pessoal,
Eu tenho uma pergunta sobre codificação
É possível traçar a média móvel no gráfico geral com estas preferências?
nCountedBars = IndicatorCounted();
dFactor = 2*3.14159/180.0;
mFactor = 10000.0;O que você escreveu (o dFactor e o mFactor) avalia para um valor constante independentemente do preço e do número de barras, assim você teria uma linha horizontal no gráfico
O que você escreveu (o dFactor e o mFactor) é avaliado a um valor constante independentemente do preço e do número de barras, de modo que você teria uma linha horizontal no gráfico.
Obrigado pela resposta!
Mas como posso obter uma linha angular de MA no gráfico geral, como neste código de histograma indiano?
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 FireBrick
#property indicator_color3 Yellow
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
//---- indicator parameters
extern int TimeFrame = 60;
extern int MAMode = 0;
extern int MAPeriod = 50;
extern int Price = 4;
extern double AngleTreshold = 0.25;
extern int StartMAShift = 2;
extern int EndMAShift = 0;
extern int MaxBars = 500;
string TF1;
//---- indicator buffers
double UpBuffer[];
double DownBuffer[];
double ZeroBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 2 additional buffers are used for counting.
IndicatorBuffers(3);
//---- drawing settings
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2 );
//---- 3 indicator buffers mapping
if(!SetIndexBuffer(0,UpBuffer) &&
!SetIndexBuffer(1,DownBuffer) &&
!SetIndexBuffer(2,ZeroBuffer))
Print("cannot set indicator buffers!");
SetIndexLabel(0,"");
SetIndexLabel(1,"");
SetIndexLabel(2,"");
switch(TimeFrame)
{
case 1: TF1="M1"; break;
case 5: TF1="M5"; break;
case 15: TF1="M15"; break;
case 30: TF1="M30"; break;
case 60: TF1="H1"; break;
case 240: TF1="H4"; break;
case 1440: TF1="D1"; break;
case 10080: TF1="W1"; break;
case 43200: TF1="MN1"; break;
default: {TimeFrame = Period(); init(); return(0);}
}
IndicatorShortName("MAAngle MTF * "+TF1+" *");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| The angle for EMA |
//+------------------------------------------------------------------+
int start()
{
double fEndMA, fStartMA;
double fAngle, mFactor, dFactor;
int nLimit, i;
int nCountedBars;
double angle;
int ShiftDif;
string Sym;
if (MAMode >= 4) MAMode = 0;
if(EndMAShift >= StartMAShift)
{
Print("Error: EndMAShift >= StartMAShift");
StartMAShift = 6;
EndMAShift = 0;
}
nCountedBars = IndicatorCounted();
dFactor = 2*3.14159/180.0;
mFactor = 10000.0;
Sym = StringSubstr(Symbol(),3,3);
if (Sym == "JPY") mFactor = 100.0;
ShiftDif = StartMAShift-EndMAShift;
mFactor /= ShiftDif;
//---- check for possible errors
if(nCountedBars<0) return(-1);
//---- last counted bar will be recounted
if(nCountedBars>0) nCountedBars--;
nLimit=Bars-nCountedBars;
nLimit=MathMax(nLimit,TimeFrame/Period());
nLimit=MathMin(nLimit,MaxBars );
//---- main loop
for(i=0; i<nLimit; i++)
{
int y = iBarShift(NULL,TimeFrame,Time);
if (TimeFrame<Period()) TimeFrame=Period();
fEndMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+EndMAShift);
fStartMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+StartMAShift);
// 10000.0 : Multiply by 10000 so that the fAngle is not too small
// for the indicator Window.
fAngle = mFactor * (fEndMA - fStartMA)/2.0;
//fAngle = MathArctan(fAngle)/dFactor;
DownBuffer = 0.0;
UpBuffer = 0.0;
ZeroBuffer = 0.0;
if(fAngle > AngleTreshold)
UpBuffer = fAngle;
else if (fAngle < -AngleTreshold)
DownBuffer = fAngle;
else ZeroBuffer = fAngle;
}
return(0);
}
//+------------------------------------------------------------------+