Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
CMIDI - biblioteca para MetaTrader 5
- Visualizações:
- 1240
- Avaliação:
- Publicado:
- 2014.01.14 14:13
- Atualizado:
- 2014.06.30 11:38
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
A classe para controlar o dispositivo MIDI está localizado no arquivo IncMIDI.mqh. O exemplo da sua utilização está representado no arquivo eMIDI.mq5.
Sequência para utilizar a classe CMIDI
- Conecte um arquivo com uma classe:
#include <IncMIDI.mqh>
- Declare uma classe:
CMIDI m;
- Transferir programa de música usando o método SetMusic(string & aMusic[]).
- Ativar a reprodução utilizando o método Play(bool aSynch=true). Se aSynch é verdadeiro, a reprodução é executada de modo simultâneo no ciclo com pausas utilizando a função Sleep(). Se aSynch é falso, o play é realizado em modo simultâneo, além da possibilidade de parar a reprodução usando o método Stop() . Para o Expert Advisor trabalhar em modo simultâneo a partir da função OnChartEvent(), deve ser chamado o método ChartEvent().
- Chame o método Stop() após a conclusão do trabalho O método é necessário para o fechamento do dispositivo MIDI, caso contrário executa novamente e você deverá reiniciar o terminal.
Programa de Música
Programa de música é registrada na array da string. Em único elemento da matriz é escrito uma lista de ações. Ações são escritos por uma vírgula. Em primeiro lugar um comando, um sinal de igual e um valor de comando são escritos. Os seguintes comandos estão disponíveis:
- Tick - tempo em milissegundos através do qual todos os comandos de um elemento da array serão executados. Define a volume com o qual a play é executado.
- Volume - o nível de volume, de 0 até 100.
- VolumeL - o volume do canal esquerdo, de 0 até 100.
- VolumeR - o nível de volume do canal direito, de 0 sté 100.
- Instrument - seleção do instrumento musical, de 0 até 127.
- NoteDN - pressione uma tecla. O número 60 corresponde a nota "do" da oitava principal, 61 - "C para sharp", 62 - para "re", etc.
- NoteUP - solte a tecla. Muitos instrumentos não poderão serem liberados usando uma tecla, o som desaparece em si e em outra situação, algumas teclas são obrigatórias que sejam pressionadas.
É possível tirar os acordes, por exemplo, "NoteDN=57, NoteDN=60, NoteDN=64". Uma possível brincadeira paralela com vários instrumentos, por exemplo, "Instrument=1, NoteDN=60, Instrument=123, NoteDN=60". O volume dos diferentes instrumentos não podem ser alterados, tudo é jogado no mesmo volume, mas você pode alterar o volume das diferentes partes do jogo, por exemplo:
"Tick=1500, Instrument=123, Volume=100, NoteDN=60", "VolumeL=0, VolumeR=100, NoteDN=64", "VolumeL=100, VolumeR=0, NoteDN=57", "Volume=50, NoteDN=67, NoneDN=57", "Volume=25, NoteDN=64, NoneDN=67"
Os métodos da classe CMIDI
- void ChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) - chamada de função ao usar o jogo em modo simultâneo.
- void Play(bool aSynch=true) - habilitar a reprodução. Se asynch é falso, a partir da função OnChartEvent o método ChartEvent() deve ser chamado.
- void Stop() - parar o play em reprodução simultânea. Parar a reprodução e fechar o dispositivo.
- void SetMusic(string & aMusic[]) - o envio de uma array como um programa de música.
- void SetEventID(ushort aID) - estabelecer um número de evento personalizado. É necessário ao usar a reprodução no modo simultâneo. Não é necessário chamar, o valor padrão é 1.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/1555
Índice de Força Relativa com uma variação dinâmica dos níveis de sobrecompra / sobrevenda e a possibilidade de selecionas os algoritmos de suavização.
i-Friday_SigSinais de entradas e saídas do sistema "Efeito Sexta-feira".