Ajuda na codificação - página 65

 

Aqui está uma função que verificará os horários de abertura de pedidos e retornará o preço daquele com o horário de abertura mais recente (se não houve pedidos anteriores, retornará 0)

double lastOrderOpenPrice(int magicNumber=0)

{

datetime lastTime = 0;

double lastPrice = 0;

for(int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES)==false) break;

if (magicNumber!=0)

if (OrderMagicNumber() != magicNumber) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderOpenTime() <= lastTime) continue;

lastTime = OrderOpenTime();

lastPrice = OrderOpenPrice();

}

if (lastTime==0)

for(i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==false) break;

if (magicNumber!=0)

if (OrderMagicNumber() != magicNumber) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderOpenTime() <= lastTime) continue;

lastTime = OrderOpenTime();

lastPrice = OrderOpenPrice();

}

return(lastPrice);

}

[/PHP]

The assumtion is that currently open orders have times more recent than the already closed orders. If you wish to avoid that assumption, comment out this line :

[PHP] if (lastTime==0)

dasio:
Hi,

preciso de uma função dupla que me resulte no preço de pedido aberto() da última ordem aberta.

Alguém pode me ajudar?

Obrigado
 

Hi,

eu uso este código para calcular lotsieze. Às vezes recebo o erro 131. O código está ok?

double Lotti1(double StopLoss,double Rischio_per_trade){

double MyLots,AllowedLots,MaxLots,MinLot,StopValue,TickValue;

int RightLots;

AllowedLots=(AccountFreeMargin()* Rischio_per_trade/100);

if (Digits==2 || Digits==4)

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE)/10;

else

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);

StopValue=StopLoss*TickValue;

MinLot=MarketInfo(Symbol(),MODE_MINLOT);

MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

RightLots=MathRound(AllowedLots/StopValue);

double soldi_ora = AccountBalance()/100;

MyLots = soldi_ora*(Rischio_per_trade/10);

MyLots = NormalizeDouble(MyLots/StopLoss,2);

MyLots = NormalizeDouble(MyLots/(MarketInfo(Symbol(),MODE_TICKVALUE)/100),2);

MyLots = NormalizeDouble(MyLots/100,2);

return(MyLots);

}[/PHP]

the Stoploss is = [PHP]StopLoss= NormalizeDouble(Ask-SLbuy()-20*Point,5)*10000;

e Rischio_per_trade = 0,5.

Obrigado.

 

dasio

tente a função a partir deste post : https://www.mql5.com/en/forum/general

dasio:
Hi,

eu uso este código para calcular lotsieze. Às vezes recebo o erro 131. O código está ok?

double Lotti1(double StopLoss,double Rischio_per_trade){

double MyLots,AllowedLots,MaxLots,MinLot,StopValue,TickValue;

int RightLots;

AllowedLots=(AccountFreeMargin()* Rischio_per_trade/100);

if (Digits==2 || Digits==4)

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE)/10;

else

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);

StopValue=StopLoss*TickValue;

MinLot=MarketInfo(Symbol(),MODE_MINLOT);

MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

RightLots=MathRound(AllowedLots/StopValue);

double soldi_ora = AccountBalance()/100;

MyLots = soldi_ora*(Rischio_per_trade/10);

MyLots = NormalizeDouble(MyLots/StopLoss,2);

MyLots = NormalizeDouble(MyLots/(MarketInfo(Symbol(),MODE_TICKVALUE)/100),2);

MyLots = NormalizeDouble(MyLots/100,2);

return(MyLots);

}[/PHP]

the Stoploss is = [PHP]StopLoss= NormalizeDouble(Ask-SLbuy()-20*Point,5)*10000;

e Rischio_per_trade = 0,5.

Obrigado
 

Caros amigos,

Respeitosamente desejamos a você e a todos os membros do fórum saúde e felicidade no próximo Ano Novo! Sinto-me realmente grato a muitos excelentes e generosos programadores aqui, bem como às idéias brilhantes dos membros deste fórum. Todos me ajudam muito a melhorar minhas habilidades comerciais (embora eu ainda seja um idiota nesta carreira )

Recentemente, ao rever o mercado e minha abordagem comercial, penso em um indicador que me ajudaria muito (e outros também, talvez). Minha idéia é simples, mas transferi-la em código está além da minha capacidade. Não sei se tal indicador existe ou não, então descreverei minha idéia em detalhes e espero que alguém me ajude a encontrar ou fazer o melhor ajuste.

- Idéia geral: quero rastrear o preço de mercado continuamente dentro de um determinado intervalo fixo de pontos. O indicador me daria algumas informações necessárias sobre a ação do preço dentro de segmentos de preço (determinado intervalo fixo), como por exemplo: (1) nível superior, (2) nível inferior, (3) nível mediano, (4) número de barras dentro da faixa. Eu também gosto de conhecer o nível de ponto de controle (POC) das barras na faixa dada, mas talvez seja muito complicado na codificação e consome muita memória do PC.

- Analogia : Encontrei indicadores populares como "Perfil de Mercado", "Canal de Preços", ou "Sessão HiLo", ... compartilham muito minha idéia. Mas todos eles são limitados por intervalo de tempo como Hora, Diariamente, ... não se baseiam em determinado intervalo fixo ou carecem de algumas características como mencionei acima. Eu tentei recodificar neles para adaptar minha idéia, mas não tive sucesso até agora.

- Lista de desejos sobre indicador : (1) Parâmetro de entrada: Intervalo fixo de pontos; Intervalo de tempo (em minutos, horas ou dias) ou Número de barras usado para contar Número de barras fechadas dentro do intervalo dado; Alerta quando os níveis de toque de preço (opcional)

(2) Saída no gráfico principal : exibir linha horizontal correspondente aos níveis de alcance (superior, inferior, médio), e texto informar o número de barras contadas dentro do alcance por um determinado tempo.

(3) Atualização contínua: a informação seria atualizada em 3 casos: (a) preço torna novo Alto da faixa atual dada, (b) novo Baixo da faixa atual dada, (c) mais e mais barras se consolidam dentro da faixa atual dada.

Normalmente tenho que fazer todas estas coisas manualmente. Agora espero que o indicador ajude a simplificar meu trabalho, economizar tempo e manter meu foco na ação do preço. Pesquisando pela Internet, mas não consigo encontrar tal ferramenta. Se você conhece uma, ou faz uma, eu ficaria muito grato.

Obrigado por sua consideração e por sua ajuda!

E mais uma vez, Feliz Ano Novo para você!

Cumprimentos,

fareastol

oh eu esqueci a foto em anexo sobre o que eu imagino do indicador

Arquivos anexados:
 

Anexo outra foto para esclarecer minha idéia:

a) Alto ou baixo da faixa atual é determinado em separado com o número de barra de entrada. Alto/Baixo é adaptável a determinado tamanho de faixa e ação de preço de mercado atual.

b) O número de barras de entrada é usado apenas para calcular o número de barras fechadas dentro da faixa atual.

c) Eu posso colocar o indicador mais de uma vez em um gráfico, com diferentes configurações de entrada, é claro.

fareastol:
Caros amigos,

Desejo respeitosamente a você e a todos os membros do fórum saúde e felicidade no próximo Ano Novo! Sinto-me realmente grato a muitos programadores excelentes e generosos aqui, bem como às idéias brilhantes dos membros deste fórum. Todos me ajudam muito a melhorar minhas habilidades comerciais (embora eu ainda seja um idiota nesta carreira )

Recentemente, ao rever o mercado e minha abordagem comercial, penso em um indicador que me ajudaria muito (e outros também, talvez). Minha idéia é simples, mas transferi-la em código está além da minha capacidade. Não sei se tal indicador existe ou não, então descreverei minha idéia em detalhes e espero que alguém me ajude a encontrar ou fazer o melhor ajuste.

- Idéia geral: quero rastrear o preço de mercado continuamente dentro de um determinado intervalo fixo de pontos. O indicador me daria algumas informações necessárias sobre a ação do preço dentro de segmentos de preço (determinado intervalo fixo), como por exemplo: (1) nível superior, (2) nível inferior, (3) nível mediano, (4) número de barras dentro da faixa. Eu também gosto de conhecer o nível de ponto de controle (POC) das barras na faixa dada, mas talvez seja muito complicado na codificação e consome muita memória do PC.

- Analogia : Encontrei indicadores populares como "Perfil de Mercado", "Canal de Preços", ou "Sessão HiLo", ... compartilham muito da minha idéia. Mas todos eles são limitados por intervalo de tempo como Hora, Diariamente, ... não se baseiam em determinado intervalo fixo ou carecem de algumas características como mencionei acima. Eu tentei recodificar neles para adaptar minha idéia, mas não tive sucesso até agora.

- Lista de desejos sobre indicador : (1) Parâmetro de entrada: Intervalo fixo de pontos; Intervalo de tempo (em minutos, horas ou dias) ou Número de barras usado para contar Número de barras fechadas dentro do intervalo dado; Alerta quando os níveis de toque de preço (opcional)

(2) Saída no gráfico principal : exibir linha horizontal correspondente aos níveis de alcance (superior, inferior, médio), e texto informar o número de barras contadas dentro do alcance por um determinado tempo.

(3) Atualização contínua: a informação seria atualizada em 3 casos: (a) preço torna novo Alto da faixa atual dada, (b) novo Baixo da faixa atual dada, (c) mais e mais barras se consolidam dentro da faixa atual dada.

Normalmente tenho que fazer todas estas coisas manualmente. Agora espero que o indicador ajude a simplificar meu trabalho, economizar tempo e manter meu foco na ação do preço. Pesquisando pela Internet, mas não consigo encontrar tal ferramenta. Se você conhece uma, ou faz uma, eu ficaria muito grato.

Obrigado por sua consideração e por sua ajuda!

E mais uma vez, Feliz Ano Novo para você!

Cumprimentos,

fareastol

oh eu esqueci a foto em anexo sobre o que eu imagino do indicador
Arquivos anexados:
 

Afinal de contas, acho que eu mesmo fiz algo. Agora compartilhando com você.

Como foi dito dentro do indicador, eu não invento nada, apenas misturo dois indicadores relacionados que tenho. Talvez não seja bem "misturado".

Por favor, dê uma olhada e torne-o melhor se você acha que é útil!

Arquivos anexados:
 

Desenhar objeto retângulo múltiplo

Hi,

estou tentando desenhar múltiplos retângulos verificando a última n vela.

O ponto tem uma regra simples.

Em anexo, há um exemplo.

O grande retângulo sem fundo define a regra (preço de verificação incluído do ponto 1 ao ponto 2 usando o everage móvel).

O ponto para desenhar o retângulo é o alto e o baixo da barra com o mais alto da faixa.

Como eu posso codificá-lo?

Obrigado por sua resposta.

Desculpe,

não posso anexar uma imagem agora. No entanto, vamos supor que haja duas Médias Móveis. O ponto 1 é a cruz do MA rápido com MA lento para cima e o ponto 2 é a cruz do MA rápido com MA lento para baixo.

 

Alguém poderia me ajudar a modificar o indicador de barras do gráfico rsi anexo ????

Este indicador exibe barras azuis quando o RSi está acima de 50 nível e barras vermelhas abaixo deste nível.

Na verdade, o nível 50 é o nível médio do RSI. Seria muito útil se mais dois níveis fossem adicionados a 70 e a 30, que são os verdadeiros níveis sobre-comprados e sobre-vendidos. e quando o RSI passar estes dois níveis 70/30, as velas também devem mudar de cor. Eu realmente apreciaria qualquer ajuda, e obrigado em addvance.

Arquivos anexados:
 

Laszlo,

Experimente esta versão. Ela ainda funciona com 2 níveis mas mostra (ou melhor, não mostra) 3 estados. Colora as barras quando os níveis estão quebrados para cima ou para baixo e se o valor rsi está entre os 2 níveis, deixa as barras como estão (então são simples, não coloridas pelo indicador, barras) Aqui está um exemplo de como se parece e como se compara ao rsi "regular":

Laszlo:
Alguém poderia me ajudar a modificar o indicador de barras rsi do gráfico anexo ???

Este indicador exibe barras azuis quando o RSi está acima de 50 níveis e barras vermelhas abaixo deste nível.

Na verdade, o nível 50 é o nível médio do RSI. Seria muito útil se mais dois níveis fossem adicionados a 70 e a 30, que são os verdadeiros níveis sobre-comprados e sobre-vendidos. e quando o RSI passar estes dois níveis 70/30, as velas devem mudar de cor também. Eu realmente apreciaria qualquer ajuda, e obrigado em addvance.
Arquivos anexados:
 
fareastol:
Afinal de contas, acho que eu mesmo fiz algo. Agora compartilhando com você.

Como foi dito dentro do indicador, eu não invento nada, apenas misturo dois indicadores relacionados que tenho. Talvez não seja bem "misturado".

Por favor, dê uma olhada e torne-o melhor se você acha que é útil!

Fareastol, gosto do seu indicador de alcance e do que estou pensando que será legal se você puder adicionar o "ponto inicial" (que você tem) e o "ponto final" de arrasto e, em seguida, ele automaticamente desenha o alcance para esse período.