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
Quero usar o "PREÇO FECHADO" em vez do preço mediano na codificação abaixo .... Ajuda Plz :
Muito obrigado
int start()
{
duplo ClosePrice=Close[0];
int limit, i, flag, flagh, trend[5000];
duplo acima[5000], dn[5000], preço médio, atr;
int counted_bars = IndicatorCounted();
//---- verificação de possíveis erros
if(counted_bars < 0) return(-1);
//---- última barra contada será contada novamente
if(counted_bars > 0) counted_bars--;
limite=barras_contadas_barras_1;
//impressão(limite);
//----
para (i = Barras; i >= 1; i--) {
TrendUp = EMPTY_VALUE;
TrendDown = EMPTY_VALUE;
atr = iATR(NULL, 0, Nbr_Periods, i);
//Print("atr: "+atr);
median Price = (High+Low)/2;
//Print("medianPrice: "+medianPrice");
up=medianPrice+(Multiplier*atr);
//Print("up: "+up");
dn=preço médio-(Multiplicador*atr);
//Print("dn: "+dn");
tendência=1;
if (Fechar>up) {
tendência=1;
se (tendência == -1) mudançaOfTrend = 1;
//Print("tendência: "+tendência");
}
caso contrário, se (Fechar<dn) {
tendência=-1;
se (tendência == 1) mudançaOfTrend = 1;
//Print("tendência: "+tendência");
}
senão se (tendência===1) {
tendência=1;
changeOfTrend = 0;
}
senão se (tendência==-1) {
tendência=-1;
changeOfTrend = 0;
}
se (tendência0) {
bandeira=1;
//Print("bandeira: "+ bandeira");
}
senão {
bandeira=0;
//Print("flagh: "+ flag");
}
se (tendência>0 && tendência<0) {
flagh=1;
//Print("flagh: "+flagh");
}
senão {
flagh=0;
//Print("flagh: "+ flagh");
}
se (tendência>0 && dn<dn)
dn=dn;
if (trendup)
up=up;
se (bandeira===1)
up=medianPrice+(Multiplier*atr);
if (flagh===1)
dn=median Price(Multiplier*atr);
//-- Desenhe o indicador
se (tendência===1) {
TrendUp=dn;
se (changeOfTrend == 1) {
TrendUp = TrendDown;
changeOfTrend = 0;
}
}
senão se (tendência==-1) {
TrendDown=up;
se (changeOfTrend == 1) {
TrendDown = TrendUp;
changeOfTrend = 0;
}
}
if (trend===1 && trend====-1) {
UpBuffer = iLow(Símbolo(),0,i)-(3*Ponto);
DnBuffer = EMPTY_VALUE;
}
if (trend===-1 && trend====1) {
UpBuffer = EMPTY_VALUE;
DnBuffer = iHigh(Symbol(),0,i)+(3*Point);
}
}
WindowRedraw();
//----
retorno(0);
}
Quero usar o "PREÇO FECHADO" em vez do preço mediano na codificação abaixo .... Ajuda Plz :
Muito obrigado
int start()
{
duplo ClosePrice=Close[0];
int limit, i, flag, flagh, trend[5000];
duplo acima[5000], dn[5000], preço médio, atr;
int counted_bars = IndicatorCounted();
//---- verificação de possíveis erros
if(counted_bars < 0) return(-1);
//---- última barra contada será contada novamente
if(counted_bars > 0) counted_bars--;
limite=barras_contadas_barras_1;
//impressão(limite);
//----
para (i = Barras; i >= 1; i--) {
TrendUp = EMPTY_VALUE;
TrendDown = EMPTY_VALUE;
atr = iATR(NULL, 0, Nbr_Periods, i);
//Print("atr: "+atr);
median Price = (High+Low)/2;
//Print("medianPrice: "+medianPrice");
up=medianPrice+(Multiplier*atr);
//Print("up: "+up");
dn=preço médio-(Multiplicador*atr);
//Print("dn: "+dn");
tendência=1;
if (Fechar>up) {
tendência=1;
se (tendência == -1) mudançaOfTrend = 1;
//Print("tendência: "+tendência");
}
caso contrário, se (Fechar<dn) {
tendência=-1;
se (tendência == 1) mudançaOfTrend = 1;
//Print("tendência: "+tendência");
}
senão se (tendência===1) {
tendência=1;
changeOfTrend = 0;
}
senão se (tendência==-1) {
tendência=-1;
changeOfTrend = 0;
}
se (tendência0) {
bandeira=1;
//Print("bandeira: "+ bandeira");
}
senão {
bandeira=0;
//Print("flagh: "+ flag");
}
se (tendência>0 && tendência<0) {
flagh=1;
//Print("flagh: "+flagh");
}
senão {
flagh=0;
//Print("flagh: "+ flagh");
}
se (tendência>0 && dn<dn)
dn=dn;
if (trendup)
up=up;
se (bandeira===1)
up=medianPrice+(Multiplier*atr);
if (flagh===1)
dn=median Price(Multiplier*atr);
//-- Desenhe o indicador
se (tendência===1) {
TrendUp=dn;
se (changeOfTrend == 1) {
TrendUp = TrendDown;
changeOfTrend = 0;
}
}
senão se (tendência==-1) {
TrendDown=up;
se (changeOfTrend == 1) {
TrendDown = TrendUp;
changeOfTrend = 0;
}
}
if (trend===1 && trend====-1) {
UpBuffer = iLow(Símbolo(),0,i)-(3*Ponto);
DnBuffer = EMPTY_VALUE;
}
if (trend===-1 && trend====1) {
UpBuffer = EMPTY_VALUE;
DnBuffer = iHigh(Symbol(),0,i)+(3*Point);
}
}
WindowRedraw();
//----
retorno(0);
}Você pode substituir :
(Alto+Baixo)/2
com
Fechar
kenwa
De que funcionalidade do símbolo de auto-cheque você está falando? Não existe tal coisa nesse código.
Tudo que você tem que fazer é entrar o símbolo no campo de parâmetro apropriado e ele funcionará (em qualquer símbolo, desde que o nome do símbolo esteja correto) Use o indicador o fareastol fornecido, pois ele faz tudo o que você estava falando que você precisa deleoi mladen,
vejo estes dentro:
if (ForSymbol1=="") ForSymbol1 = Symbol();
if (ForSymbol2==""") ForSymbol2 = Symbol();
if (ForSymbolSyn3a==""") ForSymbolSyn3a = Symbol();
if (ForSymbolSyn3b==""") ForSymbolSyn3b = Symbol();
if (ForSymbolSyn3c==""") ForSymbolSyn3c = Symbol();
algumas partes:
verificação vaziaSymbol(int limit, string ForSymbol, double& buffer[])
{
limite = MathMax(limite,MathMin(Bars-1,iCustom(ForSymbol,timeFrame,indicatorFileName, "returnBars",0,0)*timeFrame/Period()));
para (int i=limite; i>=0; i--)
{
int y = iBarShift(ForSymbol,TimeFrame,Time);
buffer = iCustom(ForSymbol,timeFrame,indicadorNome do arquivo, "calculateValue",MA_Period,MA_Method,CCI_Period,applied_price,",0,y);
}
}
não posso saber exatamente o que ele está fazendo, pois minha habilidade não pode saber seu propósito exato, mas pelo meu palpite bruto, parece que o código é auto-detectar se nós inserimos um símbolo externo, então mostraremos no gráfico, se nenhum for inserido, mostrará o gráfico Null local. então pensarei que se eu deixar intencionalmente várias linhas de entrada externas em branco fora (não preenchendo nada lá), o indicador mostrará o gráfico Null local repetidamente (pelo menos sobrepondo-se) várias vezes? também como o código se adapta aos símbolos internos predefinidos? não sei exatamente como fazer, mas tento, é como a maneira de anexar (para dessensibilizar a função/reconhecimento do símbolo de entrada externa)? ou como adaptar a modificação aos símbolos internos predefinidos?
a propósito, por que a versão que eu fiz antes da página 166 #1660, ainda repintar ao vivo? que razões básicas causam tal repintura? Obrigado pelos conselhos.
oi mladen,
vejo estes dentro:
if (ForSymbol1=="") ForSymbol1 = Symbol();
if (ForSymbol2==""") ForSymbol2 = Symbol();
if (ForSymbolSyn3a==""") ForSymbolSyn3a = Symbol();
if (ForSymbolSyn3b==""") ForSymbolSyn3b = Symbol();
if (ForSymbolSyn3c==""") ForSymbolSyn3c = Symbol();
algumas partes:
verificação vaziaSymbol(int limit, string ForSymbol, double& buffer[])
{
limite = MathMax(limite,MathMin(Bars-1,iCustom(ForSymbol,timeFrame,indicatorFileName, "returnBars",0,0)*timeFrame/Period()));
para (int i=limite; i>=0; i--)
{
int y = iBarShift(ForSymbol,TimeFrame,Time);
buffer = iCustom(ForSymbol,timeFrame,indicadorNome do arquivo, "calculateValue",MA_Period,MA_Method,CCI_Period,applied_price,",0,y);
}
}
não posso saber exatamente o que ele está fazendo, pois minha habilidade não pode saber seu propósito exato, mas pelo meu palpite bruto, parece que o código é auto-detectar se nós inserimos um símbolo externo, então mostraremos no gráfico, se nenhum for inserido, mostrará o gráfico Null local. então pensarei que se eu deixar intencionalmente várias linhas de entrada externas em branco fora (não preenchendo nada lá), o indicador mostrará o gráfico Null local repetidamente (pelo menos sobrepondo-se) várias vezes? também como o código se adapta aos símbolos internos predefinidos? não sei exatamente como fazer, mas tento, é como a maneira de anexar (para dessensibilizar a função/reconhecimento do símbolo de entrada externa)? ou como adaptar a modificação aos símbolos internos predefinidos?
a propósito, por que a versão que fiz antes da página 166 #1660, ainda pinta ao vivo? que razões básicas causam tal repintura? Obrigado pelos conselhos.Você pode verificar o indicador neste post : https://www.mql5.com/en/forum/178416/page19 para ver como alguns controles adicionais podem ser feitos
para #1664, ler e baixar antes, eu não posso adaptar os códigos, muito avançados e complexos para mim.
para #1664, ler e baixar antes, eu não posso adaptar os códigos, muito avançados e complexos para mim.
Nem tudo pode ser escrito em duas linhas. Em alguns casos, é impossível
Olá Mladen
Em relação ao meu pedido de calcular POC e VA para uma faixa alvo com base em um determinado perfil de mercado, eu tentei o máximo possível. Infelizmente, eu só ganhei valor de POC. Obter valores VA altos/baixos está além da minha capacidade atual.
Além disso, no início da semana, o indicador original Sensor de Nível parece ter erro em seu código, causando uma péssima exibição como você pode ver na figura anexa. Não consigo entender qual a razão, apenas adivinhando que está relacionado a conflitos entre a exibição padrão MT4 e dados de menor intervalo de tempo (<W1).
Por favor, dê uma olhada e me dê conselhos para seguir em frente.
Muito obrigado,
fareastolfareastol
Isso na tela está acontecendo porque há um intervalo de tempo no gráfico entre os dados da última sexta-feira e os dados do primeiro domingo ou segunda-feira e quando o horário xshift é adicionado aos horários da linha.
Uma solução possível é a desta versão: inverter a tela e em vez de exibi-la da direita para a esquerda para exibi-la da esquerda para a direita (como na figura). Até agora não foi encontrada uma solução para a exibição da direita para a esquerda.
Às vezes basta pensar um pouco (assim que terminei o post anterior, a idéia estava lá )
Aqui está a solução "da direita para a esquerda" (até onde eu testei, ela funciona bem agora)
Hi,
Calculei a linha de desvio padrão "à mão".
Agora quero desenhar um canal como o canal de desvio original a partir do metatrader.
Mas não sei como calcular o fator = 0,618 para minha linha de desvio normal para que funcione como o canal original ...OBJPROP_DEVIATION,0,618)
Olá, Mladen,
Você me lembra muitas coisas significativas e me motiva muito.
Obrigado a todos
fareastol