Oscilador DMI (Parte IV)
13 mensagens
|Página 1 de 1
Obrigado pelas palavras encorajadoras, vai-se fazendo o que se pode no pouco tempo que vou tendo disponível.
Chamo no entanto a atenção que não há nenhum sistema milagreiro, este lá terá umas virtudes mas tem também defeitos, cada um lá saberá como e em que condições quererá adoptar algo de semelhante...
Em relação a algumas dúvidas surgidas:
- vm : vou esclarecer isso na próxima mensagem, mas posso acrescentar que as ordens, excepto as que impliquem uso de stops, são para ser transmitidas na abertura da sessão seguinte à da ocorrência do sinal.
- JN e JAS : sugiro a utilização de cores semelhantes às que uso no quadro do meio, da forma como explico no texto da parte IV, a saber:
"AVGOSC40DMIOSC160DMI" : preto carregado;
"OSC160DMI" : verde escuro carregado;
"OSC40DMI" : violeta carregado;
"OSC15DMI" : azul claro carregado;
"PK40DMI" : verde claro fino;
"TH40DMI" : rosa fino;
"PK15DMI" : verde escuro fino;
"TH15DMI" : vermelho fino;
Um abraço e bom fim de semana a todos,
Cem
Chamo no entanto a atenção que não há nenhum sistema milagreiro, este lá terá umas virtudes mas tem também defeitos, cada um lá saberá como e em que condições quererá adoptar algo de semelhante...
Em relação a algumas dúvidas surgidas:
- vm : vou esclarecer isso na próxima mensagem, mas posso acrescentar que as ordens, excepto as que impliquem uso de stops, são para ser transmitidas na abertura da sessão seguinte à da ocorrência do sinal.
- JN e JAS : sugiro a utilização de cores semelhantes às que uso no quadro do meio, da forma como explico no texto da parte IV, a saber:
"AVGOSC40DMIOSC160DMI" : preto carregado;
"OSC160DMI" : verde escuro carregado;
"OSC40DMI" : violeta carregado;
"OSC15DMI" : azul claro carregado;
"PK40DMI" : verde claro fino;
"TH40DMI" : rosa fino;
"PK15DMI" : verde escuro fino;
"TH15DMI" : vermelho fino;
Um abraço e bom fim de semana a todos,
Cem
- Mensagens: 715
- Registado: 18/4/2003 1:58
Cem,
N sei se irá explicar esta minha duvida na proxima apresentação, mas como é q dá as ordens de entrada? é durante a sessão ou no inicio da sessao seguinte a ter sido gerada a compra pelo sistema? Quantos contratos é q aloca, ou seja, como é q faz o money management?
N sei se já respondeu a alguma destas minhas duvidas ou se a respostas ainda virá num topico futuro.
Mais uma vez, muito obrigado pela partilha. N há palavras para descrever tal generosidade.
Cmp,
VM
N sei se irá explicar esta minha duvida na proxima apresentação, mas como é q dá as ordens de entrada? é durante a sessão ou no inicio da sessao seguinte a ter sido gerada a compra pelo sistema? Quantos contratos é q aloca, ou seja, como é q faz o money management?
N sei se já respondeu a alguma destas minhas duvidas ou se a respostas ainda virá num topico futuro.
Mais uma vez, muito obrigado pela partilha. N há palavras para descrever tal generosidade.
Cmp,
VM
- Mensagens: 888
- Registado: 5/11/2002 10:56
isso tb aconteceu comigo...
deixo aqui o texto que eu utilizei (apaguei uns enters até conseguir introduzir a fórmula)...
Um abraço
Nunofaustino
{Auxiliary function “RANGE160DMI”}
range160dmi:=
( HHV(Mov(DMI(C),160,E),160) * 9 + HHV(Mov(DMI(C),160,W),160) * 9 +
HHV(Mov(DMI(C),160,VOL),160) * 2 ) / 20
-
( LLV(Mov(DMI(C),160,E),160) * 9 +
LLV(Mov(DMI(C),160,W),160) * 9 +
LLV(Mov(DMI(C),160,VOL),160) * 2 ) / 20 ;
{Main function “OSC160DMI”}
osc160dmi:=
( ( Mov(DMI(C),160,E) * 9 + Mov(DMI(C),160,W) * 9 + Mov(DMI(C),160,VOL) * 2 ) / 20
- ( LLV(Mov(DMI(C),160,E),160) * 9 + LLV(Mov(DMI(C),160,W),160) * 9 +
LLV(Mov(DMI(C),160,VOL),160) * 2 ) / 20 )
/ range160dmi * 200 - 100 ;
{Print “OSC160DMI”} osc160dmi;
{Auxiliary function “RANGE40DMI”}
range40dmi:=
(
HHV(Mov(DMI(C),40,E),40) * 9
+
HHV(Mov(DMI(C),40,W),40) * 9
+
HHV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),40,E),40) * 9
+
LLV(Mov(DMI(C),40,W),40) * 9
+
LLV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
;
{Main function “OSC40DMI”}
osc40dmi:=
(
(
Mov(DMI(C),40,E) * 9
+
Mov(DMI(C),40,W) * 9
+
Mov(DMI(C),40,VOL) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),40,E),40) * 9
+
LLV(Mov(DMI(C),40,W),40) * 9
+
LLV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
)
/ range40dmi * 200
-
100
;
{Print “OSC40DMI”}
osc40dmi;
{Main function “AVGOSC40DMIOSC160DMI”}
avgosc40dmiosc160dmi:=
osc160dmi * 3 / 4
+
osc40dmi * 1 / 4
;
{Print “AVGOSC40DMIOSC160DMI”}
avgosc40dmiosc160dmi;
{Main function representing}
pk40dmi:=
Peak(1 ,osc40dmi ,0.1 )
;
{Main function representing}
th40dmi:=
Trough(1 ,osc40dmi ,0.1 )
;
{Print “PK40DMI”}
pk40dmi;
{Print “TH40DMI”}
th40dmi;
{Auxiliary function “RANGE15DMI”}
range15dmi:=
(
HHV(Mov(DMI(C),15,E),15) * 9
+
HHV(Mov(DMI(C),15,W),15) * 9
+
HHV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
-
( LLV(Mov(DMI(C),15,E),15) * 9
+
LLV(Mov(DMI(C),15,W),15) * 9
+
LLV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
;
{Main function “OSC15DMI”}
osc15dmi:=
(
(
Mov(DMI(C),15,E) * 9
+
Mov(DMI(C),15,W) * 9
+
Mov(DMI(C),15,VOL) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),15,E),15) * 9
+
LLV(Mov(DMI(C),15,W),15) * 9
+
LLV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
)
/ range15dmi * 200
-
100
;
{Print “OSC15DMI”}
osc15dmi;
{Main function representing}
pk15dmi:=
Peak(1 ,osc15dmi ,0.1 )
;
{Main function representing}
th15dmi:=
Trough(1 ,osc15dmi ,0.1 )
;
{Print “PK15DMI”}
pk15dmi;
{Print “TH15DMI”}
th15dmi;
deixo aqui o texto que eu utilizei (apaguei uns enters até conseguir introduzir a fórmula)...
Um abraço
Nunofaustino
{Auxiliary function “RANGE160DMI”}
range160dmi:=
( HHV(Mov(DMI(C),160,E),160) * 9 + HHV(Mov(DMI(C),160,W),160) * 9 +
HHV(Mov(DMI(C),160,VOL),160) * 2 ) / 20
-
( LLV(Mov(DMI(C),160,E),160) * 9 +
LLV(Mov(DMI(C),160,W),160) * 9 +
LLV(Mov(DMI(C),160,VOL),160) * 2 ) / 20 ;
{Main function “OSC160DMI”}
osc160dmi:=
( ( Mov(DMI(C),160,E) * 9 + Mov(DMI(C),160,W) * 9 + Mov(DMI(C),160,VOL) * 2 ) / 20
- ( LLV(Mov(DMI(C),160,E),160) * 9 + LLV(Mov(DMI(C),160,W),160) * 9 +
LLV(Mov(DMI(C),160,VOL),160) * 2 ) / 20 )
/ range160dmi * 200 - 100 ;
{Print “OSC160DMI”} osc160dmi;
{Auxiliary function “RANGE40DMI”}
range40dmi:=
(
HHV(Mov(DMI(C),40,E),40) * 9
+
HHV(Mov(DMI(C),40,W),40) * 9
+
HHV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),40,E),40) * 9
+
LLV(Mov(DMI(C),40,W),40) * 9
+
LLV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
;
{Main function “OSC40DMI”}
osc40dmi:=
(
(
Mov(DMI(C),40,E) * 9
+
Mov(DMI(C),40,W) * 9
+
Mov(DMI(C),40,VOL) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),40,E),40) * 9
+
LLV(Mov(DMI(C),40,W),40) * 9
+
LLV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
)
/ range40dmi * 200
-
100
;
{Print “OSC40DMI”}
osc40dmi;
{Main function “AVGOSC40DMIOSC160DMI”}
avgosc40dmiosc160dmi:=
osc160dmi * 3 / 4
+
osc40dmi * 1 / 4
;
{Print “AVGOSC40DMIOSC160DMI”}
avgosc40dmiosc160dmi;
{Main function representing}
pk40dmi:=
Peak(1 ,osc40dmi ,0.1 )
;
{Main function representing}
th40dmi:=
Trough(1 ,osc40dmi ,0.1 )
;
{Print “PK40DMI”}
pk40dmi;
{Print “TH40DMI”}
th40dmi;
{Auxiliary function “RANGE15DMI”}
range15dmi:=
(
HHV(Mov(DMI(C),15,E),15) * 9
+
HHV(Mov(DMI(C),15,W),15) * 9
+
HHV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
-
( LLV(Mov(DMI(C),15,E),15) * 9
+
LLV(Mov(DMI(C),15,W),15) * 9
+
LLV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
;
{Main function “OSC15DMI”}
osc15dmi:=
(
(
Mov(DMI(C),15,E) * 9
+
Mov(DMI(C),15,W) * 9
+
Mov(DMI(C),15,VOL) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),15,E),15) * 9
+
LLV(Mov(DMI(C),15,W),15) * 9
+
LLV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
)
/ range15dmi * 200
-
100
;
{Print “OSC15DMI”}
osc15dmi;
{Main function representing}
pk15dmi:=
Peak(1 ,osc15dmi ,0.1 )
;
{Main function representing}
th15dmi:=
Trough(1 ,osc15dmi ,0.1 )
;
{Print “PK15DMI”}
pk15dmi;
{Print “TH15DMI”}
th15dmi;
Pluricanal... não obrigado. Serviço péssimo e enganador!!!
Obrigado pelas explicações...
Fico à espera da Parte V para testar este sistema nos históricos que aqui tenho
.
Entretanto vou tentando perceber se é possível dizer ao Meta para desenhar cada uma das linhas com cores diferentes
...
Um abraço
Nunofaustino
Fico à espera da Parte V para testar este sistema nos históricos que aqui tenho

Entretanto vou tentando perceber se é possível dizer ao Meta para desenhar cada uma das linhas com cores diferentes

Um abraço
Nunofaustino
Pluricanal... não obrigado. Serviço péssimo e enganador!!!
Obrigado a todos vocês pelas palvras tão elogiosas que obviamente não mereço. Bem hajam!
Em relação às perguntas ou dúvidas do Nuno Faustino devo acrescentar que a escolha da relação 160 / 40 / 15 é uma antiga relação de indicadores que em testes efectuados durante a década de 90 resultou de forma muito satisfatória. Não houve no presente qualquer optimização de pesquisa mas acredito que possa haver relações mais rentáveis.
Os testes que fiz indicam-me que este indicador funciona melhor em índices do que em acções, como regra geral quanto melhor for a liquidez do activo melhor será o futuro potencial de retorno dsete sistema.
Posso também acrescentar que quanto maior a volatilidade maior será a rentabilidade, neste caso volatilidade significa maior afastamento em relação à média e portanto mais tendencial o seu comportamento. Este sistema, sendo particularmente seguidor de tendências dominantes, dá-se bem com essa configuração.
Para activos onde não consigo descortinar o volume o sistema perde um pouco de efectividade na sua relação profit / loss.
Para tentar de forma aparente ultrapassar a questão do volume e usar a fórmula no Forex, sugiro que na coluna de volumes da base de dados do cross de divisas em estudo se aplique em cada sessão um valor sempre uniforme e diferente de zero, 1 por exemplo.
Aqui fica abaixo o panorama actual do EURUSD dado por este sistema "Oscilador DMI". Infelizmente não disponho de uma base extensa neste caso. De acordo com o sistema, visto que o indicador do quadro de cima retorna um valor nulo, o EuroDollar tem estado neutro desde 29 de Abril para cá.
Um abraço a todos,
Cem
Em relação às perguntas ou dúvidas do Nuno Faustino devo acrescentar que a escolha da relação 160 / 40 / 15 é uma antiga relação de indicadores que em testes efectuados durante a década de 90 resultou de forma muito satisfatória. Não houve no presente qualquer optimização de pesquisa mas acredito que possa haver relações mais rentáveis.
Os testes que fiz indicam-me que este indicador funciona melhor em índices do que em acções, como regra geral quanto melhor for a liquidez do activo melhor será o futuro potencial de retorno dsete sistema.
Posso também acrescentar que quanto maior a volatilidade maior será a rentabilidade, neste caso volatilidade significa maior afastamento em relação à média e portanto mais tendencial o seu comportamento. Este sistema, sendo particularmente seguidor de tendências dominantes, dá-se bem com essa configuração.
Para activos onde não consigo descortinar o volume o sistema perde um pouco de efectividade na sua relação profit / loss.
Para tentar de forma aparente ultrapassar a questão do volume e usar a fórmula no Forex, sugiro que na coluna de volumes da base de dados do cross de divisas em estudo se aplique em cada sessão um valor sempre uniforme e diferente de zero, 1 por exemplo.
Aqui fica abaixo o panorama actual do EURUSD dado por este sistema "Oscilador DMI". Infelizmente não disponho de uma base extensa neste caso. De acordo com o sistema, visto que o indicador do quadro de cima retorna um valor nulo, o EuroDollar tem estado neutro desde 29 de Abril para cá.
Um abraço a todos,
Cem
- Anexos
-
- EURUSD040527.png (16.64 KiB) Visualizado 1045 vezes
- Mensagens: 715
- Registado: 18/4/2003 1:58
Cem,
Muito obrigado pela partilha. N percebo nada de programação de Meta, mas prometo nos proximos dias explorar este seu post ao maximo e tirar partido da sua oferta generosa para todos os investidores particulares.
Mais uma vez o meu muito obrigado, pelas suas várias, excelentes partilhas com todos nós e a quem tanto tem ensinado.
Espero um dia ver um livro seu nas bancas e terei todo o gosto em o ler :-)
Só uma pessoa com um bom coração como vc é que partilha os seus estudos e metodos conosco.
Bem haja,
VM
Muito obrigado pela partilha. N percebo nada de programação de Meta, mas prometo nos proximos dias explorar este seu post ao maximo e tirar partido da sua oferta generosa para todos os investidores particulares.
Mais uma vez o meu muito obrigado, pelas suas várias, excelentes partilhas com todos nós e a quem tanto tem ensinado.
Espero um dia ver um livro seu nas bancas e terei todo o gosto em o ler :-)
Só uma pessoa com um bom coração como vc é que partilha os seus estudos e metodos conosco.
Bem haja,
VM
-
Visitante
Olá Cem...
este fdsemana vou passar algumas horas a olhar para este sistema e tentar perceber exactamente qual era a tua ideia qdo fizeste este sistema...
No entanto já tenho umas questões...
a primeira é saber o porquê das médias serem de 160 e 40. Alguma razão em particular? Foras as que te deram melhores resultados nas optimizações?
A segunda é saber se este sistema funciona melhor em acções individuais ou em índices. E já agora se os resultados variam consoante a volatilidade dos activos (se funciona melhor em activos mais voláteis ou nem por isso).
A terceira é saber como é que aplicas este sistema ao FOREX (que não tem o indicador de volume)...
Um abraço e fico à espera pela parte V
Nunofaustino
P.S. JN, eu n utilizo o wealth lab, mas se o sistema for publicado na S&C eles lá indicam as fórmulas para meta, WLab e tradestation... por isso, no pior dos casos nessa altura vais ter a linguagem à tua disposição...
este fdsemana vou passar algumas horas a olhar para este sistema e tentar perceber exactamente qual era a tua ideia qdo fizeste este sistema...
No entanto já tenho umas questões...
a primeira é saber o porquê das médias serem de 160 e 40. Alguma razão em particular? Foras as que te deram melhores resultados nas optimizações?
A segunda é saber se este sistema funciona melhor em acções individuais ou em índices. E já agora se os resultados variam consoante a volatilidade dos activos (se funciona melhor em activos mais voláteis ou nem por isso).
A terceira é saber como é que aplicas este sistema ao FOREX (que não tem o indicador de volume)...
Um abraço e fico à espera pela parte V

Nunofaustino
P.S. JN, eu n utilizo o wealth lab, mas se o sistema for publicado na S&C eles lá indicam as fórmulas para meta, WLab e tradestation... por isso, no pior dos casos nessa altura vais ter a linguagem à tua disposição...
Pluricanal... não obrigado. Serviço péssimo e enganador!!!
É realmente fora do comum. O comum é oferecer um presunto a cheirar e depois tentar vender o porco.
Parabéns Cem, pelo facto de partilhar connosco, desinteressadamente um tão vasto conhecimento.
Um grande abraço.
PS. já agora desafio outra alma caridosa a traduzir isto para a linguagem sript do WLD.
Parabéns Cem, pelo facto de partilhar connosco, desinteressadamente um tão vasto conhecimento.
Um grande abraço.
PS. já agora desafio outra alma caridosa a traduzir isto para a linguagem sript do WLD.
Um abraço
JN
JN
Oscilador DMI (Parte IV)
Esta 4ª parte diz respeito à estrutura da linguagem de programação da 2ª fórmula do sistema de trading aqui apresentada e que diz respeito ao 2º quadro do “Template” abaixo apresentado.
Trata-se do verdadeiro sumo do sistema de criação dos vários osciladores do Dynamic Momentum Índex que compõem o corpo das funções do método e cujas regras foram explicitadas no artigo anterior.
Portanto, há que chamar de novo o “Indicator Builder” do Metastock e atribui-lhe o nome que sugiro:
Cem-Radar c/ Volume + Oscilador DMI
No corpo do texto destinado à programação deverão fazer o Copy / Paste dos seguintes comandos:
{Auxiliary function “RANGE160DMI”}
range160dmi:=
(
HHV(Mov(DMI(C),160,E),160) * 9
+
HHV(Mov(DMI(C),160,W),160) * 9
+
HHV(Mov(DMI(C),160,VOL),160) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),160,E),160) * 9
+
LLV(Mov(DMI(C),160,W),160) * 9
+
LLV(Mov(DMI(C),160,VOL),160) * 2
)
/ 20
;
{Main function “OSC160DMI”}
osc160dmi:=
(
(
Mov(DMI(C),160,E) * 9
+
Mov(DMI(C),160,W) * 9
+
Mov(DMI(C),160,VOL) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),160,E),160) * 9
+
LLV(Mov(DMI(C),160,W),160) * 9
+
LLV(Mov(DMI(C),160,VOL),160) * 2
)
/ 20
)
/ range160dmi * 200
-
100
;
{Print “OSC160DMI”}
osc160dmi;
{Auxiliary function “RANGE40DMI”}
range40dmi:=
(
HHV(Mov(DMI(C),40,E),40) * 9
+
HHV(Mov(DMI(C),40,W),40) * 9
+
HHV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),40,E),40) * 9
+
LLV(Mov(DMI(C),40,W),40) * 9
+
LLV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
;
{Main function “OSC40DMI”}
osc40dmi:=
(
(
Mov(DMI(C),40,E) * 9
+
Mov(DMI(C),40,W) * 9
+
Mov(DMI(C),40,VOL) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),40,E),40) * 9
+
LLV(Mov(DMI(C),40,W),40) * 9
+
LLV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
)
/ range40dmi * 200
-
100
;
{Print “OSC40DMI”}
osc40dmi;
{Main function “AVGOSC40DMIOSC160DMI”}
avgosc40dmiosc160dmi:=
osc160dmi * 3 / 4
+
osc40dmi * 1 / 4
;
{Print “AVGOSC40DMIOSC160DMI”}
avgosc40dmiosc160dmi;
{Main function representing}
pk40dmi:=
Peak(1 ,osc40dmi ,0.1 )
;
{Main function representing}
th40dmi:=
Trough(1 ,osc40dmi ,0.1 )
;
{Print “PK40DMI”}
pk40dmi;
{Print “TH40DMI”}
th40dmi;
{Auxiliary function “RANGE15DMI”}
range15dmi:=
(
HHV(Mov(DMI(C),15,E),15) * 9
+
HHV(Mov(DMI(C),15,W),15) * 9
+
HHV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
-
( LLV(Mov(DMI(C),15,E),15) * 9
+
LLV(Mov(DMI(C),15,W),15) * 9
+
LLV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
;
{Main function “OSC15DMI”}
osc15dmi:=
(
(
Mov(DMI(C),15,E) * 9
+
Mov(DMI(C),15,W) * 9
+
Mov(DMI(C),15,VOL) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),15,E),15) * 9
+
LLV(Mov(DMI(C),15,W),15) * 9
+
LLV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
)
/ range15dmi * 200
-
100
;
{Print “OSC15DMI”}
osc15dmi;
{Main function representing}
pk15dmi:=
Peak(1 ,osc15dmi ,0.1 )
;
{Main function representing}
th15dmi:=
Trough(1 ,osc15dmi ,0.1 )
;
{Print “PK15DMI”}
pk15dmi;
{Print “TH15DMI”}
th15dmi;
Bem, no final, quando fizerem o OK para confirmar a fórmula deste novo indicador criado irão reparar que quando fizerem um drag and drop, para o topo do gráfico e não para dentro dele, irá ser criado um novo quadro com uma data de linhas da mesma cor. Poderão mudar cada cor fazendo um click de selecção em cada linha e escolhendo depois em baixo do “Indicator Color” uma cor diferente para cada linha para as diferenciar umas das outras. Também a cor de fundo do gráfico pode ser alterada mediante um “right click” e a escolha do comando “Inner window”.
Carregando em qualquer das novas linhas do novo indicador com um “right click” aconselho vivamente a escolher o comando das “Properties” e adicionar uma linha horizontal com o valor de zero, uma fronteira importante!
Fica um novo gráfico do Euro Stoxx para exemplificar e servir como guia para sugestão de verificação.
Fim da 4ª parte.
Um abraço para todos,
Cem
Trata-se do verdadeiro sumo do sistema de criação dos vários osciladores do Dynamic Momentum Índex que compõem o corpo das funções do método e cujas regras foram explicitadas no artigo anterior.
Portanto, há que chamar de novo o “Indicator Builder” do Metastock e atribui-lhe o nome que sugiro:
Cem-Radar c/ Volume + Oscilador DMI
No corpo do texto destinado à programação deverão fazer o Copy / Paste dos seguintes comandos:
{Auxiliary function “RANGE160DMI”}
range160dmi:=
(
HHV(Mov(DMI(C),160,E),160) * 9
+
HHV(Mov(DMI(C),160,W),160) * 9
+
HHV(Mov(DMI(C),160,VOL),160) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),160,E),160) * 9
+
LLV(Mov(DMI(C),160,W),160) * 9
+
LLV(Mov(DMI(C),160,VOL),160) * 2
)
/ 20
;
{Main function “OSC160DMI”}
osc160dmi:=
(
(
Mov(DMI(C),160,E) * 9
+
Mov(DMI(C),160,W) * 9
+
Mov(DMI(C),160,VOL) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),160,E),160) * 9
+
LLV(Mov(DMI(C),160,W),160) * 9
+
LLV(Mov(DMI(C),160,VOL),160) * 2
)
/ 20
)
/ range160dmi * 200
-
100
;
{Print “OSC160DMI”}
osc160dmi;
{Auxiliary function “RANGE40DMI”}
range40dmi:=
(
HHV(Mov(DMI(C),40,E),40) * 9
+
HHV(Mov(DMI(C),40,W),40) * 9
+
HHV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),40,E),40) * 9
+
LLV(Mov(DMI(C),40,W),40) * 9
+
LLV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
;
{Main function “OSC40DMI”}
osc40dmi:=
(
(
Mov(DMI(C),40,E) * 9
+
Mov(DMI(C),40,W) * 9
+
Mov(DMI(C),40,VOL) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),40,E),40) * 9
+
LLV(Mov(DMI(C),40,W),40) * 9
+
LLV(Mov(DMI(C),40,VOL),40) * 2
)
/ 20
)
/ range40dmi * 200
-
100
;
{Print “OSC40DMI”}
osc40dmi;
{Main function “AVGOSC40DMIOSC160DMI”}
avgosc40dmiosc160dmi:=
osc160dmi * 3 / 4
+
osc40dmi * 1 / 4
;
{Print “AVGOSC40DMIOSC160DMI”}
avgosc40dmiosc160dmi;
{Main function representing}
pk40dmi:=
Peak(1 ,osc40dmi ,0.1 )
;
{Main function representing}
th40dmi:=
Trough(1 ,osc40dmi ,0.1 )
;
{Print “PK40DMI”}
pk40dmi;
{Print “TH40DMI”}
th40dmi;
{Auxiliary function “RANGE15DMI”}
range15dmi:=
(
HHV(Mov(DMI(C),15,E),15) * 9
+
HHV(Mov(DMI(C),15,W),15) * 9
+
HHV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
-
( LLV(Mov(DMI(C),15,E),15) * 9
+
LLV(Mov(DMI(C),15,W),15) * 9
+
LLV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
;
{Main function “OSC15DMI”}
osc15dmi:=
(
(
Mov(DMI(C),15,E) * 9
+
Mov(DMI(C),15,W) * 9
+
Mov(DMI(C),15,VOL) * 2
)
/ 20
-
(
LLV(Mov(DMI(C),15,E),15) * 9
+
LLV(Mov(DMI(C),15,W),15) * 9
+
LLV(Mov(DMI(C),15,VOL),15) * 2
)
/ 20
)
/ range15dmi * 200
-
100
;
{Print “OSC15DMI”}
osc15dmi;
{Main function representing}
pk15dmi:=
Peak(1 ,osc15dmi ,0.1 )
;
{Main function representing}
th15dmi:=
Trough(1 ,osc15dmi ,0.1 )
;
{Print “PK15DMI”}
pk15dmi;
{Print “TH15DMI”}
th15dmi;
Bem, no final, quando fizerem o OK para confirmar a fórmula deste novo indicador criado irão reparar que quando fizerem um drag and drop, para o topo do gráfico e não para dentro dele, irá ser criado um novo quadro com uma data de linhas da mesma cor. Poderão mudar cada cor fazendo um click de selecção em cada linha e escolhendo depois em baixo do “Indicator Color” uma cor diferente para cada linha para as diferenciar umas das outras. Também a cor de fundo do gráfico pode ser alterada mediante um “right click” e a escolha do comando “Inner window”.
Carregando em qualquer das novas linhas do novo indicador com um “right click” aconselho vivamente a escolher o comando das “Properties” e adicionar uma linha horizontal com o valor de zero, uma fronteira importante!
Fica um novo gráfico do Euro Stoxx para exemplificar e servir como guia para sugestão de verificação.
Fim da 4ª parte.
Um abraço para todos,
Cem
- Anexos
-
- DEX040526.png (28.86 KiB) Visualizado 1223 vezes
- Mensagens: 715
- Registado: 18/4/2003 1:58
13 mensagens
|Página 1 de 1
Quem está ligado:
Utilizadores a ver este Fórum: AlfaTrader, Bing [Bot], CarlosAP, Ferreiratrade, Goya777, iniciado1, m-m, malakas, marketisnotefficient, Minsk, Mr.Warrior, MR32, Nuno V, nunorpsilva, OCTAMA, Opcard, peterteam2, rg7803, Roberto Geissiniii, Shimazaki_2, silva_39, trilhos2006 e 218 visitantes