Sunday 4 June 2017

Estratégia Forex M150


Período de mudança 1H para 2H na versão Mt4 Lastest: 1.4 2005.12.24 1.4 mais rápido para detectar se os dados foram alterados pela remoção de operações de pontos de flutuação, adicionou suporte ao arquivo CSV de saída em tempo real. OutputCSVFile 0 significa sem CSV. OutputCSVFile 1 significa CSV HST. OutputCSVFile 2 CSV apenas, não HST. (Útil se você quiser gerar CSV por períodos acumulados) CSV Filename será o mesmo que o arquivo HST, exceto a extensão adicionada verificação segura para PeriodMultiplier. Captura de tela é o custo da CPU no P4 1.8G ao atualizar com M1-gtM3, M10 e H1-gtH2 juntos. As etapas para usar o script após a instalação são quase iguais ao conversor de período MT4 padrão. Use este script para criar um período de tempo não padronizado com base no cronograma padrão. Por exemplo, para fazer um período de 3 horas H3 para o símbolo selecionado, você deve: 1. Abrir o gráfico H1. 2. Anexe ao arquivo Perguntas de PeriodConverteropt. mq4 MQL4 da pasta do Indicador Personalizado da janela Navegador. 3. Na seleção de tabulação comum, marque a caixa de seleção Permitir DLL. 4. Na guia Propriedades de entradas, defina o valor da variável PeriodMultiplier como 3 (você obterá H13 H3). 5. Clique em OK. 6. Abra o gráfico H3 no modo off-line (Arquivo Abrir Off-line). O gráfico H3 será atualizado em tempo real (por padrão) enquanto o gráfico H1 com o Periodconverteropt. mq4 conectado está sendo executado. Leia abaixo para obter mais detalhes: I. Características: Esta é uma versão melhorada do conversor de período para MT4 com base no conversor do período padrão MT4s por metaquotes. O script de conversão padrão do período não suporta a atualização em tempo real e consome muitos CPU (50-9x), tornando o sistema inteiro lento. Além disso, o padrão é um script que não é salvo quando você sai do MT4, então você deve aplicar todos os scripts do conversor novamente depois de reiniciar, bastante irritante. Este solucionou todos os problemas acima: 1. Atualização em tempo real ou atualização de nível de milissegundo em intervalos personalizados. 2. Custo baixo da CPU, média 5-10 ou menos. 3. Funciona como um indicador, portanto, pode ser salvo e recarregado durante o reinício. 4. Não há nenhum conversor por limitação de gráfico, já que não é mais script, você só pode usar uma janela como fonte para gerar o maior número possível de gráficos de tempo possível. 5. Atualização automática se houver novo bloco de histórico carregado. II. Como usar: Copie o arquivo mq4 para sua pasta de indicadores MT4 (expertsindicators) para instalá-lo como um indicador, script NOT. Em seguida, na lista de indicadores personalizados, anexe periodconverteropt ao gráfico desejado. Suporta 4 parâmetros: PeriodMultiplicador: fator multiplicador de novo período, padrão é 2 AtualizaçãoInterval: intervalo de atualização em milissegundos, zero significa atualização em tempo real. O padrão é zero Ativado: você pode desativá-lo sem removê-lo com esta opção. Outros parâmetros são comentários ou para depuração, é seguro ignorá-los. Também Certifique-se de ter a opção Permitir Dll importações marcada na guia comum ou não funcionará. Depois disso, File-gtOpen Offline para abrir os dados off-line gerados. Então os dados off-line serão atualizados automaticamente. Contanto que você mantenha o gráfico fonte aberto e o indicador do conversor em execução, o gráfico gerado, incluindo indicadores internos, sempre será atualizado. Também você pode fechar o gráfico gerado e abrir novamente mais tarde do File-gtOpen Offline sem problema. Se você quiser sair do MT4, pode deixar esses gráficos off-line como outros gráficos on-line normais. Quando você inicia MT4 na próxima vez, esses gráficos também serão carregados e atualizados. III. Notas: 1. NÃO desmarque a opção de gráfico do quotoffline em propriedades comuns do gráfico offline ou, após o reinício do MT4, tratará esse gráfico como gráfico em linha e solicitará os dados do servidor, resultando na janela de gráfico vazia. 2. Você pode anexar mais de um conversor para a mesma janela com diferentes PeriodMultiplicadores, por exemplo: você pode conectar 3 conversores com PeriodMultiplier 2, 4, 10 a M1 para gerar M2, M4, M10 ao mesmo tempo. É até bom usar o gráfico M1 para gerar gráfico horário como o H2, que só custa mais alguns recursos da CPU durante a conversão inicial. Mas geralmente a maioria dos servidores não tem muitos dados para esse curto período, resultando que os dados gerados não são suficientemente longos por um longo período. Então é sugerido usar os gráficos HourlyDaily como fonte quando necessário. 3. O modo de atualização em tempo real atualiza as citações o mais rápido possível, mas como isso é feito via script, e o MT ignorará a função de início da chamada () quando seu PC estiver ocupado e muitas receitas de cotações. De qualquer forma, isso raramente acontece e você pode, pelo menos, obter 10 atualizações por segundo, o que é muito mais do que suficiente. 4. O gráfico off-line não tem uma linha de lances mostrada no gráfico, mas todos os dados no gráfico, incluindo os indicadores, ainda estão sendo atualizados, então não se preocupe. Você pode mostrar a linha de lance desmarcando a opção de gráfico do quotoffline nas propriedades do gráfico. Mas o que não ajuda muito e se você se esqueceu de verificar a opção de listagem de quotoffline antes de sair. Isso causará erros e ficará vazio na próxima inicialização. Você precisa fechar a janela e abrir novamente de File-gtOpen offline, que não valem o problema. IV. Histórico: 2005.12.24 1.4 mais rápido para detectar se os dados foram alterados ao remover as operações do ponto de flutuação, adicionou suporte ao arquivo CSV de saída. OutputCSVFile 0 significa que nenhum CSV OutputCSVFile 1 significa CSV HST OutputCSVFile 2 CSV apenas, sem HST (útil se você deseja gerar CSV por períodos acumulados) CSV Filename será o mesmo que o arquivo HST, exceto a extensão, adicionado verificação segura para PeriodMultiplier. 2005.12.04 1.3 Corrigido dados faltantes quando existe grande quantidade de dados carregados em vários blocos e suporte a atualização automática quando o novo histórico é carregado. 2005.11.29 1.2 Solução adicional para dados em falta e mudança de servidor. 2005.11.29 1.1 Fixou dados parciais ausentes após o reinício. Reinicialize após alterar o servidor ou os dados corrompidos. 2005.11.28 1.0 Versão inicial Partiu Dezembro 2006 Status: a german in greece 128 Publicações Algumas estratégias funcionam melhor em um período de tempo que não é fornecido por padrão no MT4. Até MT4 oferecer a opção para o usuário especificar seu próprio período de tempo personalizado, ela é a próxima melhor maneira de fazê-lo. Além disso, esse método atualizará seu gráfico personalizado em tempo real, então é realmente tão bom quanto os prazos padrão da plataforma. 1. Copie o indicador em anexo (PeriodConverterOPT. mq4) no diretório de seus especialistas, clique duas vezes para exibi-lo no MQ Editor e pressione F5 para compilá-lo. (Por sinal, este é um arquivo indicador, NÃO deve ser confundido com o configurador do período do arquivo de script, que é fornecido na sua plataforma). Ele aparecerá em QuotCustom Indicatorsquot na sua caixa Navigator. 2. Se você deseja que o M10, por exemplo, abra um gráfico M1 normal e aplique o indicador PeriodConverterOPT (arraste-o no seu gráfico). Na caixa de propriedades dos indicadores, escolha o PeriodMultiplicador desejado (por exemplo, 10 para M10). IMPORTANTE: na guia quotCommonquot, marque a caixa de entrada quotAllow DLL. Além disso, mantenha o quot0quot UpdateInterval para permitir que as atualizações estejam em tempo real. 3. Na plataforma MT4 principal, vá para FilegtOpen Offline e seu novo gráfico será listado, então simplesmente escolha (por exemplo, GBPUSD, M10). Isso exibirá o novo gráfico. Todos os indicadores que você aplica a este novo gráfico (por exemplo, MAs, Stochs, RSI, etc.) serão baseados no cronograma personalizado. 4. IMPORTANTE: você deve manter o gráfico original (no qual você aplicou originalmente o indicador PeriodConverterOpt. mq4 na Etapa 2 acima) sempre aberto se desejar que o novo gráfico de intervalo de tempo não padrão seja atualizado automaticamente com tiques atuais. Se você fechar esse gráfico ou remover o indicador dele, o gráfico personalizado não será atualizado. A linha de lances se moverá automaticamente no gráfico personalizado para verificar se o gráfico está sendo atualizado com novos dados. Isso é basicamente isso. Todos os múltiplos funcionarão. Então, se você deseja H12, por exemplo, use PeriodMultiplier12 em um gráfico H1, mantendo esse gráfico H1 aberto se desejar que o novo gráfico seja continuamente atualizado. (Lembre-se de sempre verificar quotAllow DLL inputsquot, também.) Apenas outro pensamento: Alguém me perguntou se um gráfico H2.5 era possível. Não se você usar H1 como o cronograma para o gráfico de base. Mas os equivalentes aceitáveis ​​seriam M150 obtidos de uma das seguintes maneiras: PeriodMultiplicador 150 em um gráfico M1 30 em um gráfico M5 10 em um gráfico M15 5 em um gráfico M30. Tudo lhe dará o equivalente a um gráfico H2.5 Créditos para DaveL Que escreveu isso no IBFX-Forum, queria saber se algum programador lá fora pode alterar o arquivo de scripts (abaixo) retirado do próprio MT4 para permitir vários quadros como H2, H3, 5 segundos. Etc. em vez de criar os arquivos do período converter. mq4. Eu tentei alguns dos indicadores do conversor do período fornecidos (obrigado pessoal pelo esforço), mas eles não parecem atualizar o tempo real. Extern int ExtPeriodMultiplier3 novo período multiplicador fator int ExtHandle-1 --------------------------------------- --------------------------- função de início do programa de script ------------------- ----------------------------------------------- int start ( ) Int i, startpos, itime, time0, lastfpos, periodeconds dopen dobro, dlow, dhigh, dclose, dvolume, lastvolume int hwnd0, cnt0 ---- History header int version400 string ccopyright string csymbolSymbol () int iperiodPeriod () ExtPeriodMultiplier int idigitsDigits Int iunused13 ---- ExtHandleFileOpenHistory (csymboliperiodquot. hstquot, FILEBINFILEWRITE) se (ExtHandle lt 0) retornar (-1) ---- escrever o arquivo de histórico do cabeçalho ccopyrightquot (C) opyright 2003, MetaQuotes Software Corp. quot FileWriteInteger (ExtHandle, versão LONGVALUE) FileWriteString (ExtHandle, ccopyright, 64) FileWriteString (ExtHandle, csymbol, 12) FileWriteInteger (ExtHandle, iperiod, LONGVALUE) FileWriteInteger (ExtHandle, idigits, LONGVALUE) FileWriteInteger (ExtHandle, 0, LONGVALUE) tempo Assinale FileWriteInteger (ExtHandle, 0, LONGVALUE) lastsync FileWriteArray (ExtHandle, iunused, 0, 13) ---- escreva o arquivo de histórico periodecondsiperiod60 startposBars-1 dopenOpenstartpos dlowLowstartpos dhighHighstartpos dvolumeVolumestartpos ---- normalize o tempo aberto itimeTimestartposperiodseconds itimeperiodseconds para (istartpos-1igt0 i -) time0Timei ---- história pode ser atualizada se (i0) ---- modificar índice se o histórico foi atualizado se (RefreshRates ()) iiBarShift (NULL, 0, time0) ---- se (time0gtitimeperiodseconds i0) if (i0 time0ltitimeperiodseconds ampamp) dvolumeVolume0 se (Low0ltdlow) dlowLow0 se (High0gtdhigh) dhighHigh0 dcloseClose0 lastfposFileTell (ExtHandle) lastvolumeVolumei FileWriteInteger (ExtHandle, iTime, longValue) FileWriteDouble (ExtHandle, dopen, doubleValue) FileWriteDouble (ExtHandle, dLow, doubleValue) FileWriteDouble (ExtHandle, Dhigh, DOUBLEVALUE) FileWriteDouble (ExtHandle, dclose, DOUBLEVALUE) FileWriteDouble (ExtHandle, dvolume, DOUBLEVALUE) FileFlush (ExtHandle) cnt se (time0gtitimeper Iodseconds) itimetime0periodseconds ireperiodseconds dopenOpeni dlowLowi dhighHighi dcloseClosei dvolumelastvolume else dvolumeVolumei if (Lowiltdlow) dlowLowi if (Highigtdhigh) dhighHighi dcloseClosei FileFlush (ExtHandle) Imprimir (cnt, quot record (s) writtenquot) ---- coletar ticks recebidos int lasttimeLocalTime () - 5 Enquanto (IsStopped () false) int curtimeLocalTime () ---- verifique novas taxas se (RefreshRates ()) time0Time0 FileSeek (ExtHandle, lastfpos, SEEKSET) ---- existe barra atual se (time0ltitimeperiodseconds) dvolumeVolume0-lastvolume lastvolumeVolume0 Se (Low0ltdlow) dlowLow0 se (High0gtdhigh) dhighHigh0 dcloseClose0 else ---- não, há nova barra dvolumeVolume1-lastvolume se (Low1ltdlow) dlowLow1 se (High1gtdhigh) dhighHigh1 ---- escrever barra anterior permanece FileWriteInteger (ExtHandle, itime, LONGVALUE ) FileWriteDouble (ExtHandle, dopen, DOUBLEVALUE) FileWriteDouble (ExtHandle, dlow, DOUBLEVALUE) FileWriteDouble (ExtHandle, dhigh, DOUBLEVALUE) FileWriteDouble (ExtHandle, dclose, DOUBLEVA LUE) FileWriteDouble (ExtHandle, dvolume, doubleValue) lastfposFileTell (ExtHandle) ---- itimetime0periodseconds itimeperiodseconds dopenOpen0 dlowLow0 dhighHigh0 dcloseClose0 dvolumeVolume0 lastvolumedvolume ---- FileWriteInteger (ExtHandle, iTime, longValue) FileWriteDouble (ExtHandle, dopen, doubleValue) FileWriteDouble (ExtHandle, Dlow, DOUBLEVALUE) FileWriteDouble (ExtHandle, dhigh, DOUBLEVALUE) FileWriteDouble (ExtHandle, dclose, DOUBLEVALUE) FileWriteDouble (ExtHandle, dvolume, DOUBLEVALUE) FileFlush (ExtHandle) ---- se (hwnd0) hwndWindowHandle (Symbol (), iperiod) se ( Hwnd0) Imprimir (quotChart window detectedquot) ---- atualizar janela com freqüência de 1 vez em 2 segundos se (hwnd0 ampamp curtime-lasttimegt2) PostMessageA (hwnd, WMCOMMAND, 33324,0) lasttimeecurtime Sleep (50) ---- return (0) ----------------------------------------------- ------------------- ------------------------------- ----------------------------------- void deinit () if (ExtHandlegt0) ------- ------------------------------- ---------------------------- O mercado paga você para ser disciplinado Inscrito em Nov 2011 Status: Membro 595 Posts Oi, eu tenho muito especial Idéia para todos os que culpam o MT4MT5 por não desenhar as linhas de tendência corretas e corretas com os Gráficos lineares que o MT4MT5 está usando. Qualquer Coder poderia alterar este Conversor de Período do MT4 - Aritmética normal - Gráficos Lineares para Escala de Gráfico Logarítmico. Eu acho que essa é a única maneira de obter Gráficos logarítmicos no MT4MT5 para todos os Trendline-Lovers técnicos. Aqui está o indi e o código fonte: ------------------------------------ ----- ------------------------- PeriodConverterOpt. mq4 Copyright (c) 2005, MetaQuotes Software Corp. metaquotes Ver.1.6 Modificado por micclly Ver.1.5 Modificado por Fai Modificado por wfy05talkforex com base em PeriodConverter talkforex ------------------------------------ ------ ------------------------ propriedade copyright quotwfy05talkforex quot property link quotmql4codebaseindicators277quot property indicatorchartwindow I. Características: Esta é uma versão melhorada do período de conversão para MT4 com base no Conversor do período padrão do MT4 por metaquotes. O script de conversão padrão do período não suporta a atualização em tempo real e consome muitos CPU (50-9x), tornando o sistema inteiro lento. Além disso, o padrão é um script que não é salvo quando você sai do MT4, então você deve aplicar todos os scripts do conversor novamente depois de reiniciar, bastante irritante. Este solucionou todos os problemas acima: 1. Atualização em tempo real ou atualização de nível de milissegundo em intervalos personalizados. 2. Custo baixo da CPU, média 5-10 ou menos. 3. Funciona como um indicador, portanto, pode ser salvo e recarregado durante o reinício. 4. Não há nenhum conversor por limitação de gráfico, já que não é mais script, você só pode usar uma janela como fonte para gerar o maior número possível de gráficos de tempo possível. 5. Atualização automática se houver novo bloco de histórico carregado. II. Como usar: Copie o arquivo mq4 para sua pasta de indicadores MT4 (expertsindicators) para instalá-lo como um indicador, script NOT. Em seguida, na lista de indicadores personalizados, anexe periodconverteropt ao gráfico desejado. Suporta 4 parâmetros: PeriodMultiplicador: fator multiplicador de novo período, padrão é 2 AtualizaçãoInterval: intervalo de atualização em milissegundos, zero significa atualização em tempo real. O padrão é zero. Ativado: você pode desativá-lo sem removê-lo com esta opção. Outros parâmetros são comentários ou para depuração, é seguro ignorá-los. Também Certifique-se de ter a opção Permitir Dll importações marcada na guia comum ou não funciona Depois disso, File-gtOpen Offline para abrir os dados off-line gerados. Então os dados off-line serão atualizados automaticamente. Contanto que você mantenha o gráfico fonte aberto e o indicador do conversor em execução, o gráfico gerado, incluindo indicadores internos, sempre será atualizado. Também você pode fechar o gráfico gerado e abrir novamente mais tarde do File-gtOpen Offline sem problema. Se você quiser sair do MT4, pode deixar esses gráficos off-line como outros gráficos on-line normais. Quando você inicia MT4 na próxima vez, esses gráficos também serão carregados e atualizados. III. Notas: 1. NÃO desmarque a opção de gráfico de quotoffline em propriedades comuns do gráfico offline. Ou após o MT4 reiniciar, tratará esse gráfico como gráfico em linha e solicitará os dados do servidor, resultando em uma janela de gráfico vazia. 2. Você pode anexar mais de um conversor para a mesma janela com diferentes PeriodMultiplicadores, por exemplo: você pode conectar 3 conversores com PeriodMultiplier 2, 4, 10 a M1 para gerar M2, M4, M10 ao mesmo tempo. É até bom usar o gráfico M1 para gerar gráfico horário como o H2, que só custa mais alguns recursos da CPU durante a conversão inicial. Mas geralmente a maioria dos servidores não tem muitos dados para esse curto período. Resultando que os dados gerados não são suficientemente longos por um longo período. Então é sugerido usar os gráficos HourlyDaily como fonte quando necessário. 3. O modo de atualização em tempo real atualiza as citações o mais rápido possível, mas como isso é feito via script, e o MT ignorará a função de início da chamada () quando seu PC estiver ocupado e muitas receitas de cotações. De qualquer forma, isso raramente acontece e você pode, pelo menos, obter 10 atualizações por segundo, o que é muito mais do que suficiente. 4. O gráfico off-line não tem uma linha de lances mostrada no gráfico, mas todos os dados no gráfico, incluindo os indicadores, ainda estão sendo atualizados, então não se preocupe. Você pode mostrar a linha de lance desmarcando a opção de gráfico do quotoffline nas propriedades do gráfico. Mas o que não ajuda muito e se você se esqueceu de verificar a opção de listagem de quotoffline antes de sair. Isso irá causar erros e ficará vazio na próxima inicialização. Você precisa fechar a janela e abrir novamente de File-gtOpen offline, que não valem o problema. IV. Histórico: 2014.03.10 1.6 Modificado para suportar a compilação 600 e posterior 2009.08.07 1.5 Adicionado 3 opções. (ShiftTiming, GMTShift, OmitD igit) 2005.12.24 1.4 mais rápido para detectar se os dados foram alterados pela remoção de operações de pontos de flutuação, adicionou suporte à saída CSV Arquivo em tempo real. OutputCSVFile 0 significa sem CSV. OutputCSVFile 1 significa CSV HST OutputCSVFile 2 CSV apenas, não HST. (Útil se você quiser gerar CSV por períodos acumulados) CSV Filename será o mesmo que o arquivo HST, exceto a extensão. Adicionou verificação segura para PeriodMultiplicador. 2005.12.04 1.3 Corrigido dados faltantes quando existe grande quantidade de dados carregados em vários blocos e suporte a atualização automática quando o novo histórico é carregado. 2005.11.29 1.2 Solução adicional para dados em falta e mudança de servidor. 2005.11.29 1.1 Fixou dados parciais ausentes após o reinício. Reinicialize após alterar o servidor ou os dados corrompidos. 2005.11.28 1.0 Versão inicial externo duplo Versão 1.6 versão do código externa string BuildInfo quot2014.03.10 por miccllyquot extern int PeriodMultiplicador 1 novo período multiplicador fator externo int OutputCSVFile 0 também saída CSV arquivo extern int UpdateInterval 0 intervalo de atualização em milissegundos, zero significa atualização real - Tempo. Extern bool Ativado true extern bool Debug false extern int ShiftTiming 00-3, Usando H1Chart e PeriodMultiplier4 se 1, ServerH4Chart 00: 0004: 0008: 0012: 00. GtOfflineH4Chart 01: 0005: 0009: 0013: 00. Extern int GMTShift 0 se 9, ServerTime GMT0 - gt OfflineChartTime GMT9 extern int OmitDigit 0 se 1, 5Digits - gt 4Digits int FileHandle -1 int CSVHandle -1 int NewPeriod 0 string MySymbol quotquot int ShiftBase define OUTPUTHSTONLY 0 define OUTPUTCSVHST 1 define OUTPUTCSVONLY 2 define CHARTCMDUPDATEDATA 33324 void DebugMsg (string msg) se (Debug) Alert (msg) int init () ShiftBase Period () sufixo de seqüência 60sec quotquot if (ShiftTiming 0) sufixo StringConcatenate (sufixo, quotsquot, Shift Timing) se (GMTShift 0) sufixo StringConcatenate (Sufixo, quotgquot, GMTSh ift) se (OmitDigit 0) sufixo StringConcatenate (sufixo, quotoquot, OmitDigit) MySymbol Symbol () quotquot suffix if (StringLen (MySymbol) gt11) MySymbol StringConcatenate (StringSubstr (MySy mbol, 0,11-StringLen ( Sufixo)), sufixo) verificação segura para PeriodMultiplicador. Se (PeriodMultiplier lt 1 limpa de amplificação quotquot) somente saída Arquivo CSV PeriodMultiplier 1 OutputCSVFile 2 NewPeriod Período () PeriodMultiplicador if (OpenHistoryFile () lt 0) return (-1) WriteHistoryHeader () UpdateHistoryFile (Bars-1, true) UpdateChartWindow () return (0) file do arquivo () (FileHandle gt 0) FileClose (FileHandle) FileHandle -1 se (CSVHandle gt 0) FileClose (CSVHandle) CSVHandle -1 int OpenHistoryFile () Nome do nome da cadeia MySymbol NewPeriod se (OutputCSVFile OUTPUTCSVONLY) FileHandle FileOpenHistory (nome quot. hstquot, FILEBINFILEWRITEFILESHAREREAD) se (FileHandle lt 0) retornar (-1) se (OutputCSVFile OUTPUTHSTONLY) CSVHandle FileOpen (nome quot. csvquot, FILECSVFILEWRITEFILESHAREREAD FILEANSI,,) se (CSVHandle lt 0) retornar (-1) Return (0) int WriteHistoryHeader () string ccopyright int idigits Digits-OmitDigit int iunused13 int versão 400 se (FileHandle lt 0) return (-1) ccopyright quot (C) opyright 2003, MetaQuotes Software Corp. quot FileWrite Inteiro (FileHandle, versão, LONGVALUE) FileWriteString (FileHandle, ccopyright, 64) FileWriteString (FileHandle, MySymbol, 12) FileWriteInteger (FileHandle, NewPeriod, LONGVALUE) FileWriteInteger (FileHandle, idigits, LONGVALUE) FileWriteInteger (FileHandle, 0, LONGVALUE) timeign FileWriteInteger (FileHandle, 0, LONGVALUE) lastsync FileWriteArray (FileHandle, iunused, 0, ArraySize (iunused)) return (0) static dobre duplo, dlow, dhigh, dclose, dvolume static int itime void WriteHistoryData () if (FileHandle gt 0) FileWriteInteger (FileHandle, dlow, DOUBLEVALUE) FileWriteDouble (FileHandle, dlow, DOUBLEVALUE) FileWriteDouble (FileHandle, dlow, DOUBLEVALUE) FileWriteDouble (FileHandle, dhigh, DOUBLEVALUE) FileWriteDouble (FileHandle, dclose, DOUBLEVALUE) FileWriteDouble (FileHandle, dvolume, DOUBLEVALUE) se (CSVHandle Gt 0) int idigits Digits-OmitDigit FileWrite (CSVHandle, TimeToStr (itime, TIMEDATE), TimeToStr (itime, TIMEMINUTES), DoubleToStr (dopen, idigits), DoubleToStr (dhigh, idigits ), DoubleToStr (dlow, idigits), DoubleToStr (dclose, idigits), dvolume) int UpdateHistoryFile (int startpos, bool init false) static int lastfpos, csvfpos int i, ps if (FileHandle lt 0) return (-1) normalize open Tempo ps NewPeriod 60 itime (Timestartpos-ShiftBaseShiftTiming) ps itime itimeps ShiftBaseShiftTimando se (init) primeira vez, dados init OpenPartstartpos dlow Lowstartpos dhigh Highstartpos dclose Closestartpos dvolume Volumestartpos i startpos - 1 se (FileHandle gt 0) lastfpos FileTell (FileHandle) if ( CSVHandle gt 0) csvfpos FileTell (CSVHandle) senão eu startpos se (FileHandle gt 0) FileSeek (FileHandle, lastfpos, SEEK SET) se (CSVHandle gt 0) FileSeek (CSVHandle, csvfpos, SEEKSET) se (i lt 0) retornar (- 1) int cnt 0 int LastBarTime barras de processamento enquanto (i gt 0) LastBarTime Timei uma nova barra se (LastBarTime gt itimeps) escrever os dados da barra WriteHistoryData () cnt itime (LastBarTime-ShiftBaseShiftTiming) ps itime itimeps ShiftBaseShiftTiming dopen Openi dlow Lowi dhig H Highi dclose Closei dvolume Volumei, não há nenhum novo bar dvolume Volumei se (Lowiltdlow) dlow Lowi se (Highigtdhigh) dhigh Highi dclose Closei i - grave lastfpos antes de escrever a última barra. Se (FileHandle gt 0) lastfpos FileTell (FileHandle gt 0) lastfpos FileTell (FileHandle gt 0) lastfpos FileTell (FileHandle gt 0) lastfpos FileTell (FileHandle gt 0) lastfpos FileTell (FileHandle gt 0) lastfpos FileTell (FileHandle gt 0) lastfpos FileTell (FileHandle gt 0) lastfpos FileTell FileFell (FileHandle gt 0) FileFell (FileHandle) if (CSVHandle gt 0) FileFell (CSVHandle) return (cnt) int UpdateChartWindow () static int hwnd 0 se (FileHandle lt 0) nenhum arquivo HST aberto, sem necessidade de atualização. Retornar (-1) se (hwnd 0) tentar detectar a janela do gráfico para atualizar hwnd WindowHandle (MySymbol, NewPeriod) se (hwnd 0) se (IsDllsAllowed () false) Chamadas DLL devem ser permitidas DebugMsg (quotDll chamadas devem ser permitidas) Retornar (-1) se (PostMessageA (hwnd, WMCOMMAND, CHART CMDUPDATEDATA, 0) 0) PostMessage falhou, janela do gráfico fechada hwnd 0 else PostMessage ter sucesso retornar (0) janela não encontrada ou pós-mensagem falha ao retornar (-1) int PerfCheck (bool Iniciar) static int StartTime 0 static int Índice 0 se (Iniciar) StartTime GetTickCount () Índice 0 return (StartTime) Índice int diff GetTickCount () - StartTime Alert (quotTime usado quot Index quot: quot diff) StartTime GetTickCount () return (diff ) Static int LastStartTime 0 static int LastEndTime 0 static int LastBarCount 0 void reinit () deinit () init () LastStartTime TimeBars-1 LastEndTime Time0 LastBarCount Barras bool IsDataChanged () static int LastBars 0, LastTime 0, LastVolume 0 static bit LastOpen 0, LastClose 0, Last High 0, LastLow 0 if (LastVolume Volume0 LastBars Bars LastTime Time0 LastClose Close0 LastHigh High0 LastLow Low0 LastOpen Open0) LastBars Barras LastVolume Volume0 LastTime Time0 LastClose Close0 LastHigh High0 LastLow Low0 LastOpen Open0 return (true) return (false) versão rápida sem operação do ponto de flutuação Static int LastBars 0, LastTime 0, LastVolume 0 bool ret ret falso se (LastVolume Volume0) LastVolume Volume0 ret true se (LastTime Time0) LastTime Time0 ret true se (LastBars Bars) LastBars Bars ret true return (ret) int CheckNewData () static String LastServer quotquot if (Bars lt 2) os dados ainda não estão carregados. DebugMsg (quotData não carregado, apenas quot Bars quot Barsquot) return (-1) string serv ServerAddress () if (serv quotquot) nenhum servidor ainda DebugMsg (quotNo server connectedquot) return (-1) servidor alterado verifique isso e reinicie para evitar erros Dados ao mudar o servidor. Se (LastServer serv) DebugMsg (quotServer alterado de quot LastServer quot to quot serv) LastServer serv reinit () return (-1) if (IsDataChanged ()) retorna se nenhuma informação foi alterada para salvar o recurso DebugMsg (quotNo data changedquot) return (- 1) se (TimeBars-1 LastStartTime) DebugMsg (quotStart time changed, new history loaded ou server changedquot) reinit () return (-1) int i, cnt tente encontrar LastEndTime bar, que deve ser Time0 ou Time1 geralmente, então o A operação é rápida para (i 0 i lt Bars i) se (Timei lt LastEndTime) quebre se (i gt Bars Timei LastEndTime) DebugMsg (quotEnd time quot TimeToStr (LastEndTime) quot not foundquot) reinit () return (-1) cnt Bars - i if (cnt LastBarCount) DebugMsg (quotData carregado, cnt é quot cnt quot LastBarCount é quot LastBarCount) reinit () return (-1) nenhum novo dado carregado, retorna com a posição LastEndTime. LastBarCount Bars LastEndTime Time0 return (i) se (Enabled) return (0) sempre atualizar ou atualizar somente após determinado intervalo se (UpdateInterval 0) int curtime curtime GetTickCount () se (MathAbs (curtime - lasttime) lt UpdateInterval) return (0) Tempo de duração se (Debug) PerfCheck (true) int n CheckNewData () if (Debug) PerfCheck (falso) se (n lt 0) retornar (0) atualizar o arquivo de histórico com novos dados UpdateHistoryFile (n) atualizar a janela do gráfico UpdateChartWindow () if (Debug) PerfCheck (falso) return (0) Como plotar qualquer Timeframe no Metatrader usando o Period Converter MQL4 Algumas estratégias funcionam melhor em um período de tempo que não é fornecido por padrão no MT4. E eu tenho um requisito específico para traçar gráficos de 90 min no metatrader, que não está disponível por padrão no metatrader. Estou usando gráficos de 90 min para o sistema de negociação Ichimoku Shorter term. Além disso, esse método atualizará seu gráfico personalizado em tempo real, então é realmente tão bom quanto os prazos padrão da plataforma. Passo para traçar o cronograma de 90 min. 1) Faça o download do indicador (PeriodConverterOPT. mq4) e extraia o arquivo para o diretório metatrader de seus indiciadores de especialistas, clique duas vezes nele para trazê-lo no Meta Editor e pressione F5 para compilá-lo. (Por sinal, este é um arquivo indicador, NÃO deve ser confundido com o configurador de período do arquivo de script, que é fornecido na sua plataforma). Ele aparecerá em Indicadores Personalizados na sua caixa do Navegador. 2) Se você deseja gráficos de intervalo de tempo de 90 minutos (M90). Por exemplo, abra um gráfico M30 normal e aplique o indicador PeriodConverterOPT (arraste-o no seu gráfico). Na caixa de propriedades dos indicadores, escolha o PeriodMultiplicador desejado (por exemplo, 3, ou seja, 321530 para M90). IMPORTANTE: na guia Comum, marque a caixa de seleção Permitir DLL. Além disso, mantenha o UpdateInterval 0 para permitir que as atualizações estejam em tempo real. Os gráficos do Sample Axis Bank 30 min são mostrados abaixo. Axis Bank 30 min chart 3) Na plataforma MT4 principal, vá para FileOpen Offline e seu novo gráfico será listado, então simplesmente escolha (por exemplo, AXISBANK. M90). Isso exibirá o novo gráfico. Todos os indicadores que você aplica a este novo gráfico (por exemplo, MAs, Stochs, RSI, etc.) serão baseados no cronograma personalizado. 4) IMPORTANTE: você deve manter o gráfico original (no qual você aplicou originalmente o indicador PeriodConverterOpt. mq4 na Etapa 2 acima) sempre aberto se desejar que o novo gráfico de intervalo de tempo não padrão seja atualizado automaticamente com tiques atuais. Se você fechar esse gráfico ou remover o indicador dele, o gráfico personalizado não será atualizado. A linha de lances se moverá automaticamente no gráfico personalizado para verificar se o gráfico está sendo atualizado com novos dados. Isso é basicamente isso. Todos os múltiplos funcionarão. Então, se você deseja H12, por exemplo, use PeriodMultiplier12 em um gráfico H1, mantendo esse gráfico H1 aberto se desejar que o novo gráfico seja continuamente atualizado. (Lembre-se de sempre verificar Permitir entradas DLL, também.) Apenas outro pensamento: Alguém me perguntou se um gráfico H2.5 era possível. Não se você usar H1 como o cronograma para o gráfico de base. Mas os equivalentes aceitáveis ​​seriam M150 obtidos de qualquer uma das seguintes maneiras: PeriodMultiplier 150 em um gráfico M1 30 em um gráfico M5 10 em um gráfico M15 5 em um gráfico M30. Tudo lhe dará o equivalente a um gráfico H2.5 Lições Relacionadas e Observações Sobre Rajandran Rajandran é comerciante e fundador da Marketcalls em tempo integral, muito interessado em construir modelos de timing, algos. Conceitos de negociação discricionária e análise sentimental de negociação. Ele agora instrui usuários de todo o mundo, de comerciantes experientes, comerciantes profissionais para comerciantes individuais. Rajandran frequentou a faculdade no Chennai, onde ganhou um BE em Eletrônica e Comunicações. Rajandran tem uma ampla compreensão de softwares de negociação como Amibroker, Ninjatrader, Esignal, Metastock, Motivewave, Market Analyst (Optuma), Metatrader, Tradingivew, Python e entende necessidades individuais de comerciantes e investidores usando uma ampla gama de metodologias. Se eu colocar um gráfico de 1min - você pode ter 7-8-9 como um muliple y cnt, eu tenho um gráfico de 3-7-12min. É possível. Requer o Aviso de Governo dos EUA. Regra CTFC 4.41 O comércio de futuros contém riscos substanciais e não é adequado para Todo investidor. Um investidor poderia potencialmente perder todo ou mais do que o investimento inicial. O capital de risco é o dinheiro que pode ser perdido sem pôr em risco a segurança financeira ou o estilo de vida. Considere apenas o capital de risco que deve ser usado para negociação e apenas aqueles com capital de risco suficiente devem considerar a negociação. O desempenho passado não é necessariamente indicativo de resultados futuros. A REGRA CTFC 4.41 RESULTADOS DE DESEMPENHO HIPOTÉTICOS OU SIMULADOS TEM CERTAS LIMITAÇÕES. SEM ENCONTRO UM REGISTRO DE DESEMPENHO REAL, RESULTADOS SIMULADOS NÃO REPRESENTAM NEGÓCIO REAL. TAMBÉM, DESDE QUE OS NEGÓCIOS NÃO FORAM EXECUTOS, OS RESULTADOS PODERÃO TER COMPRIMIDOS PARA O IMPACTO, SE FOR CASO, DE CERTOS FATORES DE MERCADO COMO LIQUIDEZ. PROGRAMAS DE NEGOCIAÇÃO SIMULADOS EM GERAL SÃO TAMBÉM SUJEITOS AO FATO QUE ESTÃO DESIGNADOS COM O BENEFÍCIO DE HINDSIGHT. NENHUMA REPRESENTAÇÃO ESTÁ FAZENDO QUE QUALQUER CONTA VOCE OU POSSIBILIDADE DE ALCANÇAR O LUCRO OU PERDAS SIMILAR AOS MOSTRADOS. Todos os negócios, padrões, gráficos, sistemas, etc. discutidos neste site ou propaganda são apenas para fins ilustrativos e não são interpretados como recomendações de conselho específicas. Todas as idéias e materiais aqui apresentados são apenas para fins informativos e educacionais. Nenhum sistema ou metodologia de negociação já foi desenvolvido que pode garantir lucros ou evitar perdas. Os depoimentos e exemplos aqui utilizados são resultados excepcionais que não se aplicam a pessoas comuns e não se destinam a representar ou a garantir que alguém obtenha os mesmos resultados ou resultados semelhantes. As negociações sobre a dependência dos sistemas Trend Methods são tomadas por sua conta e risco por sua própria conta. Esta não é uma oferta para comprar ou vender interesses de futuros. Copyright 2015 Marketcalls Financial Services Pvt Ltd middot All Rights Reserved middot And Our Sitemap middot All Logos amp Trademark Belongs To Their Respective Ownersmiddot Data and information is provided for informational purposes only, and is not intended for trading purposes. Neither marketcalls. in website nor any of its promoters shall be liable for any errors or delays in the content, or for any actions taken in reliance thereon.

No comments:

Post a Comment