Forum Think Finance - Bolsa e Forex

Geral => Sistemas Automáticos => Tópico iniciado por: rs_trader em 2017-10-15 09:58:13

Título: EasyLanguage
Enviado por: rs_trader em 2017-10-15 09:58:13
Alguns experts? preciso saber coisas básicas como:

 PriceLevel = Round2Fraction(LowD(2+1) + (StopOrderCoef) * (AvgTrueRange(pATR_2)[0]))

O que significa LowD(2+1)? Low de há 3 dias? Inclui hoje? ou o valor mais baixo dos últimos 3 dias?
Neste: AvgTrueRange(pATR_2)[0])) - A parte a bold é o dia atual?

se for mais fácil em MQ4 a regra era a seguinte:

return(iLow(NULL, PERIOD_D1, 3) + (StopOrderCoef) * (iATR(NULL, 0, pATR_2, 1)))

e em ninjatrader é isto:

roundPrice(sqLowD(2+1) + (StopOrderCoef) * (sqATR(pATR_2, 0)))

Como não percebo muito de nenhuma das três, as dúvidas mantem-se.

Título: Re: EasyLanguage
Enviado por: Automek em 2017-10-15 15:49:18
O que significa LowD(2+1)? Low de há 3 dias? Inclui hoje? ou o valor mais baixo dos últimos 3 dias?
Sim, é o low de há 3 dias (não percebo porque escrevem 2+1)
[1] = ontem
[2] = 2 dias
[3] = 3 dias

Se for num gráfico diário nem havia necessidade de a utilizar. Era mais simples L[3]
A utilidade destas função é mais em gráficos intraday em que com Lowd[1], por exemplo, temos sempre o display do mínimo do dia de ontem em todas as barras de 1m, 5m, hora, etc.

Neste: AvgTrueRange(pATR_2)[0])) - A parte a bold é o dia atual?
Sim, é o dia de hoje. É redundante (não é preciso estar lá).

Não fui comparar a linhas de EL com as de MQ4 porque não conheço nada de MQ4.
Título: Re: EasyLanguage
Enviado por: rs_trader em 2017-10-15 16:30:22
Obrigado. Como estou habituado ao metastock ou amibroker tinhas duvidas.
Título: Re: EasyLanguage
Enviado por: rs_trader em 2017-10-19 23:11:33
Num gráfico diário esta condição não devia ser sempre falsa?

(OpenD(0) < Open[0])
Título: Re: EasyLanguage
Enviado por: Automek em 2017-10-19 23:20:11
Num gráfico diário esta condição não devia ser sempre falsa?

(OpenD(0) < Open[0])
Sem dúvida nenhuma. Referem-se ambos à mesma coisa (num diário).

Acabei de meter isto num diário:
if (OpenD(0) < Open[0]) then plot1(1);
if (OpenD(0) > Open[0]) then plot1(2);
if (OpenD(0) = Open[0]) then plot1(3);

Claro que aparece 3 em todos os dias. São iguais.

Essa expressão para mim só faz sentido em gráficos intradiários, para comparar o open do dia com o open da barra actual (1m, 5m, 1h, etc.)
Título: Re: EasyLanguage
Enviado por: rs_trader em 2017-10-20 05:29:30
Pois. Mas supostamente estou a olhar para um sistema com esta condicao e em dados diarios e ele gera ordens. Nao percebo.
Título: Re: EasyLanguage
Enviado por: deMelo em 2017-10-20 10:02:17
O que significa LowD(2+1)? Low de há 3 dias? Inclui hoje? ou o valor mais baixo dos últimos 3 dias?
Sim, é o low de há 3 dias (não percebo porque escrevem 2+1)
[1] = ontem
[2] = 2 dias
[3] = 3 dias

Se for num gráfico diário nem havia necessidade de a utilizar. Era mais simples L[3]
A utilidade destas função é mais em gráficos intraday em que com Lowd[1], por exemplo, temos sempre o display do mínimo do dia de ontem em todas as barras de 1m, 5m, hora, etc.

Neste: AvgTrueRange(pATR_2)[0])) - A parte a bold é o dia atual?
Sim, é o dia de hoje. É redundante (não é preciso estar lá).

Não fui comparar a linhas de EL com as de MQ4 porque não conheço nada de MQ4.

Shame on you.

 :'(
Título: Re: EasyLanguage
Enviado por: frugal em 2017-10-21 06:52:22
Bom dia a todos vós,

Há no forum ou na internet portuguesa algum serviço de investimento onde se possa investir com base em robots, isto é, sistemas automáticos e mecânicos de trading ?

Disseram-me que havia um fórum com isso.


Cumprimentos
Título: Re: EasyLanguage
Enviado por: Zel em 2018-01-02 20:01:38
vou abrir conta hoje na tradestation e aprender easylanguage  :D
Título: Re: EasyLanguage
Enviado por: Automek em 2018-01-02 22:15:22
Há um tipo no forum do Multicharts que percebe bastante de EL e que deixou uma vez um post com um conjunto de sugestões de leitura. É uma linguagem muito fácil de aprender e ainda mais para ti que já conheces várias.
https://www.multicharts.com/discussion/viewtopic.php?f=16&t=6929 (https://www.multicharts.com/discussion/viewtopic.php?f=16&t=6929)

(embora algumas coisas sejam para Multicharts, a esmagadora maioria é tudo igual)
Título: Re: EasyLanguage
Enviado por: Zel em 2018-01-02 22:40:14
obrigado

nao consigo achar no google mas creio que sao publicacao da TS e portanto qd tiver a conta peco o link aos gajos
Título: Re: EasyLanguage
Enviado por: Automek em 2018-01-06 13:59:09
Este site é muito antigo mas tem um conjunto de indicadores e sistemas em EasyLanguage (e também em Metastock).
http://trader-online.tk/ELZ/ (http://trader-online.tk/ELZ/)!-ELZ-index.html
Título: Re: EasyLanguage
Enviado por: Zel em 2018-01-06 14:02:09
ja guardei o link.. ainda nao me abriram a conta. esta demorado pois mudei de casa ha uma semana e estao a chatear-me com os comprovativos de morada
Título: Re: EasyLanguage
Enviado por: Automek em 2018-01-06 14:24:03
Para Easy Language havia uma espécie de newsletter de uma coisa que se chamava STAD Club (system trading and development club).
Era porreira porque explicava a ideia e dava o código, resultados, etc. Para quem se queria iniciar em Easy Language eram muito boas.

Ainda se encontram algumas na net mas eu só consegui arranjar do 6 ao 11 e o 13. Os outros nunca os encontrei.
Título: Re: EasyLanguage
Enviado por: rs_trader em 2018-01-06 14:44:02
Para Easy Language havia uma espécie de newsletter de uma coisa que se chamava STAD Club (system trading and development club).
Era porreira porque explicava a ideia e dava o código, resultados, etc. Para quem se queria iniciar em Easy Language eram muito boas.

Ainda se encontram algumas na net mas eu só consegui arranjar do 6 ao 11 e o 13. Os outros nunca os encontrei.

tenho isso, se quiserem digam.
Título: Re: EasyLanguage
Enviado por: Automek em 2018-01-06 15:09:19
Eu gostava dos que me faltam: 1-5, 12 e se houver algum depois do 13. Se tivesses, agradecia.

Tens dropbox ou drive onde possas meter e dar o link ? Tirava-se e depois apagava-se. Há alguns pesados para circularem por email.
Título: Re: EasyLanguage
Enviado por: Zel em 2018-01-06 15:21:28
rstrader, ja agora tb apreciava que me passasses isso ja que vou aprender easylanguage em breve
Título: Re: EasyLanguage
Enviado por: rs_trader em 2018-01-06 21:32:08
Ja enviei. Mas não sei se a linguagem actual será 100% compativel com esses ficheiros.
Título: Re: EasyLanguage
Enviado por: rs_trader em 2018-03-20 03:28:02
Alguem me consegue dizer qual a diferença entre estas duas situações?

Case 1: Begin //Basic condition - absolute value - version 1
If High of data3 > 100 * MI_Parameter then begin
modeSHORT = false; modeLong = true; 
end;
If Low of data3 < -100 * MI_Parameter then begin
modeLONG = false; modeSHORT = true; 
end;
end;
 
 
E:
 
 
Case 3: Begin //Basic condition - absolute value - version 2
modeLong = High of data3 > 100 * MI_Parameter; 
modeSHORT = Low of data3 < -100 * MI_Parameter;
end;
Título: Re: EasyLanguage
Enviado por: Automek em 2018-03-20 09:39:45
O primeiro é um indicador e o segundo é uma função (cujo propósito é retornar TRUE ou FALSE).

Além disso o primeiro fecha a posição (longa ou curta que existir) e abre a nova, de sinal contrário.

Ou seja:
If High of data3 > 100 * MI_Parameter then begin
modeSHORT = false; modeLong = true;

Se o High of data3 > 100 * MI_Parameter ele inicia o modo longo com modeLong = true e fecha o modo short com modeSHORT = false.

E assim se mantêm até que:
If Low of data3 < -100 * MI_Parameter then begin
altura em que se inverte tudo. Passa o modeLong a False (portando "fecha" o longo) e "abre" o short (com modeSHORT = true).

Ou seja, há sempre um modeSHORT ou um modeSHORT com True. Há sempre uma "posição" aberta.


----
No segundo apenas define a condição para um modeLong e modeSHORT.

Ou seja, se hoje High of data3 > 100 * MI_Parameter então hoje o modelLong é True. Mas se amanhã já não se verificar essa condição, o modelLong passa a ser false. Não se mantém a posição "aberta", ao contrário do primeiro caso.
Título: Re: EasyLanguage
Enviado por: rs_trader em 2018-03-20 10:50:23
Era exatamente isso que pensava mas nao tinha a certeza.

Mais uma duvida para o primeiro caso.... e se ambas as condicoes ser verificarem o que ele faz? Isto é teoricamente na mesma barra pode acontecer que o h seja superior a condicao e o l seja inferior a  outra condicao.

Obrigado.
Título: Re: EasyLanguage
Enviado por: Automek em 2018-03-20 10:57:36
Naquele caso é por ordem. Ele primeiro executa o

If High of data3 > 100 * MI_Parameter then begin
modeSHORT = false; modeLong = true; 
end;

e depois executa o

If Low of data3 < -100 * MI_Parameter then begin
modeLONG = false; modeSHORT = true; 
end;

O último prevalece. Ou seja modeLONG = false; modeSHORT = true; 
Título: Re: EasyLanguage
Enviado por: rs_trader em 2018-03-20 11:03:55
Thanks!