Forum Think Finance - Bolsa e Forex
Geral => Sistemas Automáticos => Tópico iniciado 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.
-
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.
-
Obrigado. Como estou habituado ao metastock ou amibroker tinhas duvidas.
-
Num gráfico diário esta condição não devia ser sempre falsa?
(OpenD(0) < Open[0])
-
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.)
-
Pois. Mas supostamente estou a olhar para um sistema com esta condicao e em dados diarios e ele gera ordens. Nao percebo.
-
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.
:'(
-
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
-
vou abrir conta hoje na tradestation e aprender easylanguage :D
-
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)
-
obrigado
nao consigo achar no google mas creio que sao publicacao da TS e portanto qd tiver a conta peco o link aos gajos
-
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
-
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
-
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.
-
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.
-
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.
-
rstrader, ja agora tb apreciava que me passasses isso ja que vou aprender easylanguage em breve
-
Ja enviei. Mas não sei se a linguagem actual será 100% compativel com esses ficheiros.
-
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;
-
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.
-
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.
-
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;
-
Thanks!