Pergunte! - página 45

 
majlisb:
HI, profissional

por exemplo Em um Ea recebemos um sinal e queremos colocar um pedido de BUYSTOP/SellStop na altura da barra de sinais,

Devemos esperar a nova barra aberta para encontrar a Hight of signal bar , Como podemos fazer isso ? (qualquer artigo , correio, EA , , , , )

Obrigado

Se você contar 3bars para sinal agora conta 4bars simplesmente sim ? Codersguru tem um belo artigo sobre outra forma no site mql4

 

Eu tenho uma pergunta:

Isto pode exigir alguma programação adicional que não pode ser feita na MT. Não tenho certeza. Basicamente, tenho um EA que tanto faz testes de retaguarda quanto de avanço bem na MT com dados da Alpari. Nos dados de outros corretores, há muitas vezes uma discrepância entre as negociações. Às vezes, se uma negociação é aberta na Alpari, ela pode não ser aberta com um corretor diferente ou vice versa. É possível escrever algum tipo de script que executará as negociações na plataforma do meu corretor logo após uma negociação ser executada na plataforma da Alpari?

Por exemplo, eu recebo um sinal para comprar 2 lotes de cabos a 1.9450 na Alpari. A negociação é executada. Essa mesma ordem é então inserida na plataforma do meu corretor ao vivo um segundo depois. Quando uma parada ou nível t/p é atingido na Alpari e a negociação é fechada, essa mesma negociação é então fechada na plataforma do meu corretor ao vivo.

Isto não é um sistema de escalonamento, então se houver uma discrepância de 2 pip entre os dois preços, não é um grande negócio. Alguém sabe se isto é possível, e se sim, como faço para fazer isto? Obrigado.

 

Ajuda com o MTF xpMA

Codersguru,

Você pode verificar as capacidades do MTF da xpMA?

Muito obrigado,

Pippt

Por favor, veja o post #364 em:

https://www.mql5.com/en/forum/173574

 

pergunta simples, mas não consigo entender. qual função matemática em mql é usada para arredondar um valor duplo?

digamos por exemplo, eu tenho 0,69 e quero que o resultado seja .70. ou se o valor é .63 e o resultado seria .60.

o tecto matemático() e o chão matemático() não fazem o truque.

 

Pergunta para principiantes

Olá a todos...

Graças à CodersGuru e ao seu excelente curso, estou tentando aprender MQL4

convertendo um indicador que escrevi em MQL3.

Encontrei um problema e gostaria de alguma ajuda... se alguém pudesse me dizer o que estou fazendo de errado no código a seguir.

O problema está no 2 Se declarações... na linha 78 & 79

//+------------------------------------------------------------------+

//| First_Indicator.mq4 |

//| Codersguru |

//| https://www.mql5.com/en/forum |

//+------------------------------------------------------------------+

#propriedade copyright "Codersguru

#link da propriedade "https://www.forex-tsd.com"

#janela_do_cartão_indicador de propriedade

#property indicator_buffers 8

#indicador de propriedade_cores1 Vermelho

//---- buffers

duplo ExtMapBuffer1[];

//----------------- Declarações Variáveis ----------------------+

int pos=0;

duplo Pivot_Point = 0;

duplo novo_Ponto_Pivô_do_Ponto = 0;

duplo pré_Ponto_Pivô_do_Ponto=0;

duplo Pivot_Factor=0;

duplo LastClose=0;

//+------------------------------------------------------------------+

//| Função de inicialização do indicador personalizado |

//+------------------------------------------------------------------+

int init()

{

//---- indicadores

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer(0,ExtMapBuffer1);

string short_name = "Pivot Line";

IndicatorShortName(short_name);

return(1);

}

//+------------------------------------------------------------------+

//| Função de desinicialização do indicador do cliente |

//+------------------------------------------------------------------+

int deinit()

{

retorno(0);

}

//+------------------------------------------------------------------+

//| Função de iteração de indicador personalizada |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted();

//---- verificação de possíveis erros

se (counted_bars<0) retornar(-1);

//---- última barra contada será contada novamente

se (barras_contadas>0) barras_contadas--;

int cnt=barras_contadas_combars;

//---- circuito principal de cálculo

while(cnt >= 0)

{

LastClose = Fechar[cnt];

Se (LastClose > Pivot_Point) //Line 78

If(new_Pivot_Point > prev_Pivot_Point) //Line 79

{

prev_Pivot_Point = novo_Pivot_Point;

Pivot_Point = novo_Ponto_Pivot_Ponto;

}

ExtMapBuffer1[cnt]= Pivot_Point ;

cnt..;

}

retorno(0);

}

Estas são as mensagens do compilador...

---------------------------------------------------------------

Se" - função não está definida .....(78,10)

Se" - ponto-e-vírgula esperado .....(79,13)

'Se' - função não está definida...(79, 13)

{' - ponto-e-vírgula esperado ....(80, 13)

----------------------------------------------------------------

Não importa o que eu faça, parece que não consigo descobrir qual é o problema... Eu sei que é muito simples, mas está me escapando...

Graças a todos que podem ajudar nesta questão básica....

Chefe

P.S. Feliz, Saudável, Próspero Ano Novo para TODOS

 

A MQL é sensível a maiúsculas e minúsculas: use "se" ao invés de "se".

 

WOW... que foi Fast

OBRIGADO pela resposta rápida... resolveu-o...

sua resposta é tão apreciada... Tenha um ótimo ano novo...

Chefe ...

 

MathRound

BluePearl:
pergunta simples, mas não consigo entender. qual função matemática em mql é usada para arredondar um valor duplo?

digamos por exemplo, eu tenho 0,69 e quero que o resultado seja .70. ou se o valor for .63 e o resultado for .60.

o tecto matemático() e o chão matemático() não fazem o truque.

Há o "MathRound(duplo x)" que arredonda um valor para seu inteiro mais próximo; o mesmo que "MathFloor(x+0,5)", suponho. Para arredondar para uma casa decimal você pode usar uma expressão decimal de deslocamento/deslocamento como "MathRound(x*10)/10".

 

Como posso adicionar setas ao anexo para aparecerem para cima e para baixo na cruz?

Arquivos anexados:
mtf_cross.mq4  5 kb
 

Histograma

Bem, aqui está outra pergunta enquanto continuo a aprender como converter de MQL3 para MQL4....

Eu gostaria de pintar uma seção do gráfico que se encontra entre duas linhas, superior e inferior. Não sei se existe alguma função para pintar uma seção da tela ou não, então decidi tentar usar o "Draw_Histogram" na declaração SetIndexStyle(). Mas, eu não entendo bem como funciona. Quando o uso, nada acontece.

Ex:

SetIndexStyle(7,DRAW_HISTOGRAM,0,1);

ExtMapBuffer8[cnt]= (Pivot_Point-(Short_Line*Point));

Print("Cnt = ",cnt"," Histo = ",ExtMapBuffer8[cnt]," Calc = ",(Pivot_Point+(Short_Line*Point)));

A saída na revista produz o cnt adequado, o calc adequado, mas o valor Histo é zero.

Examinei o código no indicador MACD, sem sucesso, e no indicador Heiken-Ashi, e não entendo como funciona. O indicador Heiken-Ashi parece usar 4 buffers para criar cada vela, mas não tenho certeza disso.

O MACD parece usar uma linha de base de zero, da qual a barra de histograma é extraída, existe uma linha de base a partir da qual ela começa? Em caso afirmativo, como se faz para estabelecê-la?

Alguém poderia explicar como esta função funciona, para que eu possa aprender como codificá-la corretamente. Se houver uma função que pinte uma seção específica da tela, eu apreciaria qualquer informação sobre isso também.

Obrigado a todos por sua amável assistência....

Atenciosamente,

Chefe