Definir opções de gráfico amibroker


Definir opções de gráfico amibroker
- define opções nas configurações de análise automática.
Caixa de ferramentas do sistema de negociação.
campo - é uma string que define a opção de alterar. Existem as seguintes opções disponíveis: & quot; NoDefaultColumns & quot; - se definido como Verdadeiro - a exploração não tem as colunas Padrão de registro e Data / Hora & quot; InitialEquity & quot; & quot; AllowSameBarExit & quot; & quot; ActivateStopsImmediately & quot; & quot; AllowPositionShrinking & quot; & quot; FuturesMode & quot; & quot; InterestRate & quot; & quot; MaxOpenPositions & quot; - número máximo de posições abertas (comércios) em carteira no backtest / otimização & quot; WorstRankHeld & quot; - o pior grau de símbolo a ser mantido no modo de negociação rotacional (veja EnableRotationalTrading para mais detalhes) & quot; MinShares & quot; - o número mínimo de ações necessárias para abrir a posição no backtester / otimizador. Se você não tem fundos suficientes para comprar tantos, o negócio NÃO será inserido & quot; MinPosValue & quot; - (4.70.3 e acima) o valor mínimo em dólar necessário para abrir a posição no backtester / otimizador. Se você não tiver fundos suficientes, o comércio NÃO será inserido & quot; PriceBoundChecking & quot; - se definido como Falso - desativa a verificação e o ajuste de matrizes de preço / preço de venda / preço de cobertura / preço curto para o intervalo de preço alto-baixo do símbolo atual. CommissionMode -
0 - use a tabela de comissão do gerenciador de portfólio.
1 por cento do comércio.
3 - $ por ação / contrato CommissionAmount - quantidade de comissão nos modos 1..3 AccountMargin (em versos antigos era 'MarginRequirement') - exigência de margem de conta (como em configurações), 100 = sem margem ReverseSignalForcesExit - forças de sinal de entrada reversa saem do comércio existente (padrão = True) UsePrevBarEquityForPosSizing - Afeta como o percentual do dimensionamento atual da posição patrimonial é executado.
Falso (valor padrão) significa: usar patrimônio atual (intradiário) para executar o dimensionamento da posição,
True significa: use equidade de fechamento de barra anterior para executar o dimensionamento de posição PortfolioReportMode - define o modo de relatório do backtester:
1 - log detalhado.
3 - sem saída (somente personalizado) UseCustomBacktestProc - True / False - permite ativar / desativar o procedimento de backtest personalizado EveryBarNullCheck - permite ativar a verificação de Nulls em operações aritméticas em todas as barras da matriz (por padrão, é OFF - por exemplo, AmiBroker verifica se há nulos que aparecem no início da matriz e no final da matriz e, quando o valor não nulo é detectado, não assume mais nenhum furo (nulo) no meio). Virando & quot; EveryBarNullCheck & quot; para True permite estender essas verificações para todos e cada barque é o caminho 4.74.xe versões anteriores funcionaram.
Note, no entanto, que ativá-lo confere uma enorme penalidade de desempenho (operações aritméticas são executadas mesmo 4x mais devagar quando esta opção está ativada, portanto, não as use a menos que você realmente precise). HoldMinBars - Number - se definido como value> 0 - ele desativa a saída durante o número de barras especificado pelo usuário, mesmo que os sinais / stops sejam gerados durante esse período. EarlyExitBars - Number se definido como value> 0 - causa essa taxa especial de saída antecipada (resgate) É cobrado se a negociação for encerrada durante esse período EarlyExitFee - define o valor% (percentual) da taxa de saída antecipada HoldMinDays - Number - se definido como valor> 0 - desativa a saída durante o número de dias CALENDÁRIO especificado pelo usuário (não em barras), mesmo se EarlyExitDays - Number se definido como value> 0 - faz com que a taxa especial de saída antecipada (resgate) seja cobrada se a negociação for encerrada durante o período especificado em dias corridos (não em barras). DisableRuinStop - definido como TRUE a parada de ruína embutida está desativada Gerar relatório - permite suprimir / forçar a geração de relatório de backtest. Valores permitidos: 0, 1 ou 2.
Por padrão, os relatórios de backtest são gerados APENAS para backtests de portfólio e para backtests individuais se o relatório individual estiver ativado nas configurações. Os relatórios estão desativados para otimização.
Agora, com a função SetOption (), você pode suprimir a geração de relatórios para backtests ou ativar a geração de relatórios durante determinadas etapas de otimização, tudo a partir do nível de código.
SetOption (& quot; GenerateReport & quot ;, 0); // suprimir a geração de relatório.
SetOption (& quot; GenerateReport & quot ;, 1); // forçar a geração do relatório completo.
SetOption (& quot; GenerateReport & quot ;, 2); // apenas um relatório de linha é gerado (no arquivo results. rlst) como linha única no Report Explorer SeparateLongShortRank - True / False.
Quando a classificação longa / curta separada está ativada, o backtester mantém DOIS & rdquo; listas de sinais, uma para sinais longos e outra para sinais curtos. Isso garante que os candidatos longos e curtos sejam independentes, mesmo se a pontuação da posição não for simétrica (por exemplo, quando os candidatos longos tiverem pontuações positivas muito altas, enquanto os candidatos curtos tiverem apenas pontuações negativas fracionárias). Isso contrasta com o modo padrão, em que apenas o valor absoluto da pontuação da posição é importante, portanto, um lado (longo / curto) pode dominar completamente a classificação se os valores da pontuação forem assimétricos.
Quando o SeparateLongShortRank está habilitado, na segunda fase do backtest, duas listas de classificação separadas são intercaladas para formar uma lista de sinal final, primeiro ocupando o topo do ranking, depois o topo do ranking, o segundo do topo, o segundo do topo e o terceiro do topo. ficou em terceiro e terceiro lugar no ranking, e assim por diante. (contanto que existam sinais em ambas as listas longas / curtas, se não houver mais sinais de determinado tipo, os sinais remanescentes das listas longas ou curtas serão acrescentados)
Por exemplo: Sinais de entrada (pontuação): ESRX = Comprar (60,93), GILD = Curto (-47,56), CELG = Comprar (57,68), MRVL = Curto (-10,75), ADBE = Comprar (34,75), VRTX = Comprar ( 15,55), SIRI = Buy (2,79),
Como você pode ver, os sinais Curtos são intercalados entre os sinais Longos, embora seus valores absolutos de pontuações sejam menores do que as pontuações correspondentes de sinais longos. Também havia apenas dois sinais curtos para aquela barra em particular, então o resto da lista mostra sinais longos em ordem de pontuação de posição.
Embora esse recurso possa ser usado independentemente, ele deve ser usado em combinação com as opções MaxOpenLong e MaxOpenShort. MaxOpenLong - limita o número de posições LONG que podem ser abertas simultaneamente MaxOpenShort - limita o número de posições SHORT que podem ser abertas simultaneamente.
O valor de ZERO (padrão) significa NO LIMIT. Se MaxOpenLong e MaxOpenShort estiverem definidos como zero (ou não definidos de todo), o backtester funciona da maneira antiga - existe apenas um limite global ativo (MaxOpenPositions), independentemente do tipo de negociação.
Observe que esses limites são independentes do limite global (MaxOpenPositions). Isso significa que MaxOpenLong + MaxOpenShort pode ou não ser igual a MaxOpenPositions.
Se MaxOpenLong + MaxOpenShort for maior que MaxOpenPositions, o número total de posições permitidas não excederá MaxOpenPositions e os limites individuais longos / curtos serão aplicados também. Por exemplo, se o seu sistema MaxOpenLong estiver definido como 7 e maxOpenShort estiver definido como 7 e MaxOpenPositions estiver definido como 10 e seu sistema tiver gerado 20 sinais: 9 longos (mais bem classificados) e 11 curtos, ele abrirá 7 longos e 3 curtos.
Se MaxOpenLong + MaxOpenShort for menor que MaxOpenPositions (mas maior que zero), o sistema não poderá abrir mais que (MaxOpenLong + MaxOpenShort).
Observe também que MaxOpenLong e MaxOpenShort limitam apenas o número de posições abertas de determinado tipo (longo / curto). Eles não afetam a maneira como a classificação é feita. Ou seja Por padrão, o ranking é realizado usando o valor ABSOLUTE de positioncore.
Se a sua pontuação de posição NÃO for simétrica, isso pode significar que você não está obtendo os melhores sinais desejados de um lado. Por conseguinte, para utilizar completamente o MaxOpenLong e o MaxOpenShort em sistemas longos / curtos equilibrados rotativos ("market neutral"), é desejado realizar uma classificação SEPARADA para sinais longos e sinais curtos.
Para ativar o uso separado de classificação longa / curta:
SetOption (& quot; SeparateLongShortRank & quot ;, True); RefreshWhenCompleted - quando definido como TRUE, ele executará View-> Refresh All após a conclusão da operação de análise automática (scan / exploration / backtest / optimize). RequireDeclarations - quando definido como TRUE, o mecanismo AFL sempre exigirá declarações de variáveis ​​(usando local / global) em fórmulas por fórmulas ExtraColumnsLocation - permite que o usuário altere o local das colunas personalizadas adicionadas durante o backtest / optimization.
a) quaisquer métricas personalizadas adicionadas usando o backtester personalizado.
b) quaisquer parâmetros de otimização definidos usando a função Optimize ().
Se as métricas personalizadas e os parâmetros de otimização estiverem presentes, as métricas personalizadas aparecerão primeiro e, em seguida, os parâmetros de otimização.
Essa função é fornecida para permitir que o usuário altere o valor padrão & quot; no final & quot; localização de colunas personalizadas / parâmetros de otimização.
fará com que as métricas personalizadas e os parâmetros de otimização sejam adicionados subsequentemente a partir da coluna 1 (em oposição ao padrão da última coluna)
Tenha em atenção que esta definição altera & quot; visual & quot; ordem de colunas, não realmente na ordem de memória ou na ordem de exportação, para que os arquivos de dados exportados ou o formato copiar / colar não sejam alterados. SettlementDelay - esta opção descreve o número de dias (não barras) necessários para que os resultados da venda sejam liquidados e estejam disponíveis para abrir novas posições.
SetOption (& quot; SettlementDelay & quot ;, 3); // isso fará com que os resultados da venda estejam disponíveis apenas para negociação no terceiro dia após a venda.
Para rastreamento detalhado & quot; Log detalhado & quot; A opção de relatório agora mostra fundos disponíveis e não liquidados para T + 1, T + 2 e assim por diante.
Nota: ao usar esta opção, recomenda-se usar backtestRegularRaw em vez de backtestRegular, caso contrário, alguns negócios não podem ser inseridos porque os fundos não são liquidados imediatamente e você precisa ser capaz de entrar não em primeiro mas subsequentes sinais de compra e é exatamente isso que backRegularRaw ofertas.
Nota 2: backtester antigo (função Equity ()) ignora o atraso de liquidação StaticVarAutoSave - permite o salvamento automático periódico de variáveis ​​estáticas persistentes (além de salvar na saída, o que sempre é feito).
SetOption (& quot; StaticVarAutoSave & quot ;, 60); // salva automaticamente as variáveis ​​persistentes a cada 60 segundos (1 minuto)
É importante entender que as variáveis ​​persistentes são salvas na saída automaticamente, sem qualquer intervenção do usuário, por isso deve ser suficiente para a maioria dos casos. Se, por algum motivo, você quiser salvar automaticamente quando o AmiBroker estiver em execução, você poderá usar essa função. Observe que a gravação de muitas variáveis ​​estáticas no arquivo de disco físico leva tempo e bloqueia todo o acesso à variável estática, portanto, você DEVE EVITAR a especificação de intervalos de salvamento automático muito pequenos. Salvar a cada segundo é uma má idéia - isso causará sobrecarga. Salvando a cada 60 segundos deve estar bem. A função de chamada com intervalo definido como zero desabilita a gravação automática.
SetOption (& quot; StaticVarAutoSave & quot ;, 0); MCEnable - controles Simulação de Monte Carlo: 0 - desabilitado, 1 - habilitado em backtests, 2 - habilitado em backtests e otimizações MCRuns - número de execuções de Monte Carlo (realizações) default 1000 MCPosSizeMethod - Método de tamanho de posição Monte Carlo: 0 - não mudança, 1 - tamanho fixo, 2 - valor constante, 3% do patrimônio MCPosSizeShares - número de ações por negociação na simulação MC MCPosSizeValue - valor em dólar por negociação na simulação MC MCPosSizePctEquity - porcentagem do patrimônio atual por negociação na simulação MC MCChartEquityCurves - true / false (1/0) - permite que o gráfico de capital Monte Carlo MCStrawBroomLines - defina o número de linhas de capital tiradas no gráfico de vassoura palha de Monte Carlo WarningLevel - permite alterar o nível de aviso. O nível 1 é o padrão para todas as execuções de AFL, com exceção do editor de AFL e comentários, nos quais o nível de aviso é definido como 4.
1 - relatar apenas avisos de nível 1 (502 - muitos gráficos)
2 - relatar avisos de nível 1 e 2 (acima, além de atribuição dentro de condicional, divisão por zero, período de encadeamento de sono muito longo)
3 - informar os alertas de nível 1, 2 e 3 (acima, mais createobject / createstaticobject)
4- relatar todos os avisos (padrão para o editor AFL)
ATENÇÃO: Se você alterar a opção em * por símbolo *, os resultados compostos (% lucro por exemplo) serão DISTORTED, pois os cálculos assumem que OPTIONS são constantes para todos os símbolos em uma execução de backtest. 'HoldMinBars', 'EarlyExit. & quot; opções são exceção desta regra (ou seja, pode ser definida com segurança por base de símbolo)
SetOption (& quot; AllowPositionShrinking & quot; Verdadeiro);

Definir opções de gráfico amibroker
chartShowDates, chartLogarithmic, chartShowArrows, chartWrapTitle (4.75 ou superior), chartHideQuoteMarker (v5.06). chartHideQuoteMarker - oculta a linha do seletor de cotações por painel, igual à caixa de diálogo Parâmetro -> Axes & Grid -> Vert. marcador de cotação: Mostrar / ocultar, chartDisableYAxisCursor (novo em 5.80) - desativa a mudança do ponteiro do mouse para a seta para cima / para baixo quando o mouse está acima do eixo Y, chartDisableTooltips (novo em 5.80) - desativa a exibição de dicas de ferramentas.
gridFlags - (para uso interno do AmiBroker - não use em seu próprio código, pois esse parâmetro será eventualmente removido) os valores permitidos são: chartGridDiv100, chartGridPercent, chartGridDiv1000, chartGridMargins chartGridMiddle, chartGrid0, chartGrid30, chartGrid70, chartGrid10, chartGrid90, chartGrid50, chartGrid100 , chartGrid20, chartGrid80, chartGrid1 ymin, ymax - (novo no 5.07) esses parâmetros especificam os valores mínimo e máximo do eixo Y para o dimensionamento personalizado. Se você especificar algum valor que atenda à condição ymin // para marcar & quot; Mostrar setas & quot; por padrão em um novo gráfico use.
SetChartOptions (0, chartShowArrows);
Exemplo 2 (funciona apenas com a versão 4.75 ou superior):
SetChartOptions (2, chartWrapTitle);
Título = & quot; este é um teste de encapsulamento automático de texto de título que é muito longo para caber em uma única linha; por esse motivo, essa fórmula de exemplo usa texto muito longo. Espero que você esteja gostando da amostra & quot; ;

Criando seus próprios indicadores Amibroker.
Interesses Relacionados.
Classificação e Estatísticas.
Opções de compartilhamento.
Documentar ações.
As páginas 2 a 6 não são mostradas nesta pré-visualização.
Documentos semelhantes à criação de seus próprios indicadores Amibroker.
Mais de jagura.
Menu de Rodapé.
Mídia social.
Direitos autorais & copy; 2018 Scribd Inc. Procure livros. Diretório de sites. Idioma do site:
Você tem certeza?
Esta ação pode não ser possível desfazer. Você tem certeza que quer continuar?
Tem certeza de que deseja excluir esta lista?
Tudo o que você selecionou também será removido de suas listas.
Este livro também será removido de todas as suas listas.

Negociação Intradiária.
A negociação intradiária refere-se à compra e venda de ações acionárias durante o horário de negociação no mesmo dia. Negociação intradiária permite tomar uma posição sobre o estoque e fechá-lo antes do final do horário de negociação no mesmo dia. Um grande número de ações é comprado e vendido para contabilizar lucros em um único dia.
Como dito acima, o comércio intradiário envolve negociação ou compra e venda de ações de capital apenas no mesmo dia. As ações são apenas compradas ou vendidas para obter lucros e não investir. Os operadores intradiários capitalizam um potencial aumento / diminuição no valor de um título.
Os comerciantes do dia a dia seguem um conjunto específico de regras para reduzir suas perdas potenciais. Aqui estão algumas diretrizes altamente úteis que são as melhores para serem seguidas por qualquer trader intradiário.
2. As ações altamente líquidas são principalmente escolhidas para negociar e se concentram em atingir o lucro-alvo em vez de investir.
3. Reserve seus lucros depois de atingir o alvo e selecione 8-10 ações em sua lista de desejos depois de uma pesquisa completa e monitoramento.
4. Mantenha o preço de entrada e os níveis de destino fixos.
5. Seja firme para entrar e sair à direita e prefixado nível e evitar a ganância.
O NTA usa técnicas intraday simples não porque são boas mas porque trabalham. Os métodos de negociação são baseados em regras simples que qualquer um pode facilmente adotar. Break out strategy, Gap up e down break out strategy com precisão de mais de 80% para atuar no tempo com informações perfeitas e dar melhores resultados. Estes métodos de negociação são fáceis de aplicar em bacana e banco bacana, a fim de ter resultados precisos e negociação rentável.
Se você está procurando o melhor sistema de negociação Intraday e ferramenta, juntamente com a estratégia de saída adequada, e gestão de risco. Então você está no lugar certo. Aqui, os especialistas de especialistas da NTA fornecem uma visão sobre a implementação de diferentes funções de stop loss. Perdas de paradas fixas, variáveis, absolutas, relativas e outras podem ajudá-lo a manter a taxa de recompensa de risco.
Enquanto você inclui ações em sua lista de desejos, pesquise dependendo das fusões, datas de bônus, pagamentos de dividendos e outras informações relacionadas à empresa. Embora seja natural ser tentado a arriscar mais por lucros mais altos, não se deve arriscar mais de 2% do total negociado neste comércio de um dia. Especialmente os iniciantes devem seguir a estratégia de uma relação risco-recompensa potencial de no mínimo 3: 1.
Pegando as ações certas desempenha um papel muito importante na negociação intraday. Se você é um iniciante, lembre-se dessas dicas para selecionar as ações certas. Prefere negociar ações líquidas em vez de ações voláteis. É fácil comprar e vender quantidades maiores no caso de estoques líquidos sem afetar o preço. Além disso, não se deixe atrair pelas ações voláteis no que se refere à negociação intradiária.
Embora a ascensão e a queda do mercado nunca possam ser previstas, existe uma regra fundamental para se obter um lucro consistente. A melhor ideia deve ser negociar com a tendência atual do mercado e nunca ir contra a tendência do mercado. Venda primeiro e depois compre se vir o mercado a cair. Pelo contrário, compre primeiro e venda mais tarde, se vir o mercado a subir.

Base de Conhecimento dos Usuários.
22 de abril de 2011.
Usando as funções IIF (), IF () e Switch ().
Muitos recém-chegados ao AFL são confundidos pelo IF (), IIF () e Switch (). Este post dá alguns exemplos simples de seu uso. O IF () e Switch () são instruções de controle de fluxo de programa, o IIF () é uma função que atua em todos os elementos de uma matriz de entrada e retorna uma matriz de saída.
Em todos os aplicativos, exceto os mais simples, o Switch () é o método preferido para o IF () para alterar o fluxo do programa. Ele pode ser usado para codificar árvores de decisão complexas e máquinas de estado, por exemplo, como elas são frequentemente necessárias em sistemas de negociação automatizados.
Para explicações mais detalhadas, clique em IF (), IIF () ou Switch (). Uma pesquisa na biblioteca afl também lhe dará muitos outros exemplos.
A função IIF ().
É possível usar if () s para testar e modificar individualmente cada barra em uma matriz para uma condição. Um exemplo de como isso seria feito é mostrado na função abaixo (copiada da ajuda do AmiBroker). Essa função é um equivalente de AFL para a função IIF ().
Enquanto a abordagem acima funciona, o uso da função IIF () sempre fornece uma solução melhor e mais rápida. O IIF () é muito poderoso e deve ser usado sempre que possível. Abaixo estão alguns exemplos simples para começar. btw, é altamente improvável que você será capaz de melhorar o tempo de execução usando um loop ou escrevendo uma DLL.
Para colorir todas as barras que caem em uma segunda-feira branca:
IIF () s Pode ser aninhado. Este exemplo cores segunda-feira barras Branco, quarta-feira barras Azul e sexta-feira barras Amarelo:
A declaração IF ().
Um dos aplicativos mais comuns para o if () é selecionar o que você deseja ver no gráfico:
No exemplo acima, o IF () basicamente seleciona uma das duas seções do código. Para selecionar uma das várias opções, você pode usar a extensão else-if:
A instrução Switch ().
Quando há muitas condições, as longas expressões If () podem se tornar confusas, difíceis de compor e difíceis de modificar. Em tais casos, geralmente é melhor usar a instrução Switch (). Usando um simples Switch () o último exemplo parece muito mais limpo:
Há momentos em que você terá muitas variáveis ​​nomeadas individualmente que você gostaria de processar em uma instrução Switch (). Mesmo que o Switch () só possa aceitar um único nome de variável como argumento, você pode usar o método abaixo para contornar esta limitação:
O argumento Switch () pode ser uma string ou um número. Usar strings torna o código mais fácil de ler. Outra vantagem de usar o Switch () é que eles formatam muito bem usando Edit-> Prettify Selection na sua janela do editor, usando muitas instruções else-if para executar o if () s da página. Como mostrado acima, você pode empilhar instruções case para ter várias condições acionando a mesma tarefa.
Para implementar uma máquina de estados simples, você passa o sistema & # 8220; estado & # 8221; para o Switch (). Dessa forma, você pode fazer com que qualquer evento acione qualquer sequência de tarefas e faça isso em qualquer ordem desejada. Em uma aplicação real, as funções SayOnce () no código de exemplo abaixo seriam substituídas pela tarefa que você deseja executar no estado. O próximo estado normalmente seria definido condicionalmente dentro de cada estado, por exemplo, você só deseja prosseguir para o próximo estado depois que um pedido é preenchido ou um preço é ultrapassado. Você pode usar Switch () de vários níveis ou if () s dentro de cada seção de caso. Este uso de instruções Switch () é muito útil em sistemas de negociação automatizada. Por exemplo, para processar o status do pedido (Pendente, Preenchido, Erro, etc) e analisar as mensagens de erro do TWS.
Como os estados são salvos em Variáveis ​​Estáticas, eles permanecem válidos em várias execuções de AFL e podem durar indefinidamente. Você também pode salvar estados em Variáveis ​​Persistentes.
Os estados são processados ​​em execuções seqüenciais de AF, ou seja, se você alterar o estado em uma instrução de caso, esse próximo estado será processado na próxima atualização de AFL. Em algumas aplicações, esse atraso pode causar problemas. Para garantir um código responsivo, convém usar uma taxa de atualização de 0,1 segundo. Você pode remover o atraso usando o Switch () dentro de uma instrução loop / while, loop anf até que um estado estável seja atingido.
Arquivado por Herman às 10:20 sob AFL - The Basics.
Comentários desativados em Usando as funções IIF (), IF () e Switch ().
7 de março de 2011.
Equalizar o intervalo X para todas as janelas.
Esta função foi solicitada na lista principal e foi resolvida com a ajuda de vários programadores especialistas da lista. Obrigado rapazes!
Essa função pode ser copiada para um arquivo de inclusão que está incluído em cada programa do qual você pode querer sincronizar o intervalo de data e hora para todas as janelas visíveis. A função coloca um pequeno botão [R] no canto superior direito do gráfico. Clicar nesse botão definirá os intervalos de data / hora de todas as janelas iguais àquele em que você clicou no botão. Observe que essa janela deve estar ativa para que o botão funcione, ou seja, se a janela não estiver ativa (selecionada) cliques para o botão responder.
Comentários desativados em Equalizar intervalo X para todas as janelas.
26 de janeiro de 2011.
Adicionando Dicas de Ajuda aos seus programas.
Se você escrever programas AmiBroker que são usados ​​por outros, você, sem dúvida, descobriu que documentar seu programa e responder centenas de e-mails pode ser muito demorado. Você pode salvar a si mesmo e aqueles que usam seu código, muito tempo, adicionando ajuda pop-ups (dicas) aos seus programas. Os usuários não precisarão mais procurar manuais e / ou escrever e-mails para encontrar instruções básicas. É claro que você economizará tempo também, já que você não precisa responder a todos os e-mails :-) Se você não programa para outras pessoas, continue a ler, porque existem outras aplicações que podem lhe interessar.
Quando as dicas são ativadas, elas serão exibidas como um balão ao passar o cursor sobre um objeto ou área definida, sem necessidade de cliques. Aqui está uma dica típica:
Dicas podem ser usadas com painéis de controle gfx, painéis de negociação, gráficos (função como a tela de interpretação e agora extinta ToolTip), dados tabulares, exibições de status do sistema, menus gfx, mensagens de alerta e alerta, etc. Sua imaginação define os limites. Claro que você pode alterar o tamanho do balão, cores, fontes, forma, etc. para suas necessidades. O código para os botões de negociação mostrados não é fornecido neste post & # 8211; isso poderia ser outro assunto.
As dicas podem exibir informações do mercado e do sistema em tempo real. No exemplo acima, o Último preço e um aviso de advertência de que a transmissão está ativada refletem o status em tempo real.
Neste post as Dicas são colocadas em relação à posição do cursor do mouse. Nos aplicativos de gráficos, convém usar Dicas inseridas dinamicamente que apontam para um evento ou condição crítica no gráfico. Você faria isso convertendo preço e barras em pixels e substituir as variáveis ​​MX e MY no código por valores calculados. Para obter mais informações sobre isso, consulte Como converter de valores de barras em coordenadas de pixel na Base de conhecimento do AmiBroker.
Quando eu escrevo funções de botão, eu adiciono informação Tip como o último argumento para a função, desta forma a informação está exatamente onde é definida pelo código. Isso também é útil ao ler o código. O texto atual da dica pode ser repetido em seu manual como uma caixa de texto para que exista uma associação clara.
O código neste post demonstra como o balão se reorienta dependendo de em qual quadrante do painel o cursor está localizado. Isso é feito para manter as dicas dentro da área do painel, mesmo ao passar o mouse sobre um objeto próximo à borda do painel. Aqui está um pequeno vídeo para ver como isso funciona.
Se, no seu computador, a Dica rastreia o cursor do mouse mais devagar do que no vídeo, isso ocorre porque eu habilitei a taxa de atualização mais alta de 0,1 segundo. Tomasz explicou isso no post 151255 na lista principal do AmiBroker. Cometer erros ao editar seu Registro pode causar sérios problemas ao computador, se você não tiver feito isso antes, procure ajuda profissional.
Todo o código neste post destina-se apenas a mostrar-lhe como desenvolver dicas. Eles não servem para nenhum outro propósito. Para ajudá-lo a experimentar, usei Param () em vez de codificar as propriedades do Tip:
Arquivado por Herman às 16h25 sob Programação GFX.
Comentários desativados em Adicionando dicas de ajuda aos seus programas.
20 de fevereiro de 2009.
Data e hora para conversão de números.
Código desenvolvido e gentilmente doado por Murthy Suresh.
Comentários desativados em data e hora para conversão de números.
30 de agosto de 2008.
Janela pop-up: Evitando acumulações.
Por Dennis Brown.
A janela pop-up é uma ótima ferramenta de depuração e pode ajudar você a acompanhar o que seu código está fazendo ou pode ser usado para alertar você sobre situações especiais em sua fórmula normalmente em execução. Um problema comum é que, se você chamar PopupWindow () de um loop ou se for gerado em cada passagem AFL, poderá obter centenas ou mesmo milhares de pop-ups acumulados em sua tela. Tomasz postou uma solução simples no Centro de Feedback AmiBroker que cuidou do problema em alguns casos (sugestão 1528):
A seguir está uma versão mais completa dessa solução que adiciona um popupID para controlar cada janela pop-up individual e reativar o pop-up após seu período de tempo limite especificado, ou se qualquer um dos textos exibidos for alterado:
Comentários desativados na janela pop-up: impedindo o aumento de pilha.
21 de março de 2008.
Usando um arquivo de inclusão GFX.
Nota importante: O AmiBroker 5.09.0 Beta introduziu as seguintes novas funções GFX:
Status (& # 8220; pxchartleft & # 8221;) & # 8211; retorna a coordenada x do canto superior esquerdo da área do gráfico.
Status (& # 8220; pxcharttop & # 8221;) & # 8211; retorna a coordenada y do canto superior esquerdo da área do gráfico.
Status (& # 8220; pxchartright & # 8221;) & # 8211; retorna coordenada x do canto inferior direito da área do gráfico.
Status (& # 8220; pxchartbottom & # 8221;) & # 8211; retorna a coordenada y do canto inferior direito da área do gráfico.
Status (& # 8220; pxchartwidth & # 8221;) & # 8211; retorna a área do gráfico de largura (direita-esquerda)
Status (& # 8220; pxchartheight & # 8221;) & # 8211; retorna a área do gráfico de largura (parte superior inferior)
Desde que esta publicação apareceu após a publicação deste post, estas funções não são usadas nos exemplos abaixo. Esta postagem foi deixada inalterada para fins educacionais. Para exemplos usando as novas funções, consulte o arquivo Read Me 5.09.0.
Embora a postagem "Criando sobreposições de gráficos do GFX" (v2) possa ter esclarecido alguns dos aspectos mais importantes do uso de funções do GFX, ela não fornece um modelo de "início rápido" para começar. Usar um arquivo GFXInclude pode remover parte do peso de ter que definir parâmetros de pixel e gráfico. O arquivo Incluir na parte inferior desta postagem contém a maioria das definições, bem como essas funções comuns que você pode querer chamar do seu aplicativo GFX:
É claro que você pode e deve adicionar funções adicionais. Aqui está um exemplo de como chamar as funções acima para desenhar um cursor em forma de cruz GFX (vermelho na captura):
Aqui está o código que produziu a imagem acima:
O arquivo de inclusão listado abaixo define as seguintes variáveis:
Você pode querer copiar a linha de comentário acima abaixo da instrução #include no seu código para refrescar sua memória. Você deve copiar o arquivo de Inclusão para a pasta Incluir AmiBroker padrão.
Editado por Al Venosa.
Arquivado por Herman às 13h07 sob Programação GFX.
Comentários desativados em Usando um arquivo de inclusão GFX.
20 de março de 2008.
Criando sobreposições de gráficos GFX (v3)
Nota importante: O AmiBroker 5.09.0 Beta introduziu as seguintes novas funções GFX:
Status (& # 8220; pxchartleft & # 8221;) & # 8211; retorna a coordenada x do canto superior esquerdo da área do gráfico.
Status (& # 8220; pxcharttop & # 8221;) & # 8211; retorna a coordenada y do canto superior esquerdo da área do gráfico.
Status (& # 8220; pxchartright & # 8221;) & # 8211; retorna coordenada x do canto inferior direito da área do gráfico.
Status (& # 8220; pxchartbottom & # 8221;) & # 8211; retorna a coordenada y do canto inferior direito da área do gráfico.
Status (& # 8220; pxchartwidth & # 8221;) & # 8211; retorna a área do gráfico de largura (direita-esquerda)
Status (& # 8220; pxchartheight & # 8221;) & # 8211; retorna a área do gráfico de largura (parte superior inferior)
Desde que esta publicação apareceu após a publicação deste post, estas funções não são usadas nos exemplos abaixo. Esta postagem foi deixada inalterada para fins educacionais. Para exemplos usando as novas funções, consulte o arquivo Read Me 5.09.0.
Criar uma sobreposição de gráfico exata usando funções GFX pode ser uma tarefa difícil para o programador não profissional. As soluções apresentadas aqui foram derivadas através de experimentação; Se houver uma maneira melhor, por favor, faça um comentário. Uma vez que o layout de pixel é totalmente compreendido, o GFX se torna uma ferramenta extremamente poderosa e pode dar a você uma vantagem comercial adicional. A primeira e mais importante etapa no uso das funções GFX é entender como os pixels compõem sua exibição. No AmiBroker, a largura e a altura do painel de gráficos podem ser recuperadas usando as duas funções a seguir:
Os pixels horizontais são contados da esquerda para a direita, de 1 para pxwidth; os pixels verticais contam de cima para baixo, de 1 a pxheight. A área coberta por esses dois números é mostrada em amarelo abaixo. Para um monitor de alta resolução, esta área pode abranger cerca de 2000 (H) x 1000 (V) pixels. Essa área de pixel inclui as áreas usadas pelos eixos X e Y e as margens superior e inferior em branco.
A próxima é a área de gráficos padrão, que é a área onde os gráficos de preços estão localizados. Esta área exclui as margens em branco adjacentes e as áreas usadas para rotular os eixos. Se você quiser manter sua sobreposição dentro dos limites padrão do gráfico, você deve colocar suas imagens dentro dos limites acima. Esta área é destacada em azul na imagem abaixo:
Os limites para essa área podem ser determinados executando o código de exemplo listado em Encontrando limites de pixel. Oito parâmetros devem ser conhecidos para criar sobreposições de pixel:
Como a adição de rótulos de data ao seu eixo DateTime altera o tamanho da área de plotagem de pixels, é necessário compensar isso:
A largura e a altura da área de plotagem de pixels agora podem ser calculadas:
A dimensão da área Azul mostrada anteriormente muda quando você redimensiona o AmiBroker, abre janelas ou painéis adicionais, altera as fontes em seu eixo ou ativa ou desativa as etiquetas de data. Quando isso acontecer, você terá que recalibrar os limites. Para converter os preços em pixels, para que você possa criar uma sobreposição exata, também é necessário definir a largura e a altura do painel de gráfico comum. Estes são expressos em unidades DateTime e Price. Eles serão alterados quando você ampliar o gráfico. Quando você tiver pelo menos um gráfico de preço exibido, para que os valores de miny e maxy sejam definidos, você poderá calcular esses limites da seguinte maneira:
Agora você tem todas as informações necessárias para calcular os fatores de conversão Pixels / Price e Pixels / Bar:
Juntar tudo em um programa de demonstração (listado no final deste post) produz a sobreposição do gráfico de preços mostrada abaixo. A plotagem de preço normal é plotada usando pontos, para que a sobreposição seja claramente visível. Quando você traça ambos os traços em linhas, você verá pequenos desvios que provavelmente são devidos ao arredondamento para o pixel mais próximo. O gráfico de preço de pixel é mostrado em vermelho. O objetivo deste exercício é aprender a trabalhar com pixels e ser capaz de produzir uma sobreposição exata no gráfico de preços. A janela Param abaixo dos gráficos mostra parâmetros típicos; Eles provavelmente serão diferentes para o layout da tela.

Estrangeiro e Straddle Option Spread & # 8211; Código AFL Amibroker.
O mês de março completo O Marketcalls decidiu se concentrar mais na implementação de estratégias de opções na Amibroker. Como um kickstart, pensei em codificar conceitos simples antes de sair com o Complex Ideas. Como uma iniciativa, pensei em começar com a implementação de Spreads de Opção com Strangle e Straddle.
Se você é um jogador estratégico de opções, provavelmente estaria interessado em monitorar a propagação de opções em tempo real. No entanto, uma propagação de opções de séries temporais é ainda mais interessante. A imagem abaixo mostra o spread de opções da estratégia de straddle longa 6000CE + 6400CE para a série de opções de marcha.
Visite aqui para Gráficos de Opções do Live Nifty.
Procedimento para configurar o Strangle e Straddle Option Spread.
e descompacte o arquivo. Criar opções de diretório de propagação, se ele não existir.
2.Abrir Amibroker-> Abrir Novo Gráfico em Branco.
3. Agora, no Painel Esquerdo, vá para Gráficos-> Opção Espalhe e puxe e largue o Estrangeiro e o Espalhamento Espalhados para o gráfico em branco.
4.Bingo! você tem o gráfico Spread.
5. Para alterar o spread, clique com o botão direito do mouse nos gráficos e vá até Parâmetros onde você tem o controle para alterar os preços de strike1 e strike2, conforme mostrado abaixo.
Quais estratégias são cobertas no Código AFL?
1.Long Strangle & # 8211; Estratégia de Volatilidade.
2. Long Straddle & # 8211; Estratégia de Volatilidade.
3.Short Straddle & # 8211; Estratégia Neutra.
4.Short Straddle & # 8211; Estratégia Neutra.
Realtimedatafeed para Amibroker que suporta opções NSE.
Todos os dias estamos planejando lançar um conjunto de estratégias de distribuição de opções. Coloque ideias para trazer mais coisas aqui. Fique ligado!
Leituras Relacionadas e Observações.
Propagação do Condor de Ferro - Amibroker Código AFL Download Propagação do Condor de Ferro - Amibroker Código AFL para monitorar as Estrias de Propagação. Tabela de lucro / perda mensal e anual absoluta & # 8211; Código AFL Amibroker durante o back-testing por padrão Amibroker fornece tabela de lucro em termos percentuais compostos. No entanto, a tabela de lucro pode ser personalizada de acordo com os requisitos. Em vez de fazer um backtesting com um sistema de negociação, o Amibroker Backtesting é um processo simples que ajuda o negociador a avaliar suas idéias de negociação e fornece informações sobre o desempenho do sistema de negociação no conjunto de dados históricos fornecido. Filtro de Kalman e Unscented Kalman Filter AFL em Amibroker usando Python ComServer No último tutorial nós exploramos o filtro de Kalman e como construir o filtro kalman usando pykalman python library. Nesta seção, estaremos lidando com o servidor python com para integrar [& hellip;] Supertrend Multi Timeframe Based Trading System & # 8211; Código AFL da Amibroker Aqui está o primeiro protótipo da Marketcalls, que demonstra um sistema de negociação baseado em multi-timeframe que compara dois períodos de tempo (5min e por hora, neste caso) e toma uma decisão comercial [& hellip;] Hull ROAR & # 8211; Taxa de Retorno Anual O Indicador AFAR de código AFL do Amibroker Code ajuda a identificar as ações de aumento mais rápidas e a filtrá-las das ações que mais crescem. Casco ROAR é uma ideia de Alan Hull (autor de investimento ativo). [& hellip;]
Sobre Rajandran.
Rajandran é um comerciante em tempo integral e fundador da Marketcalls, extremamente interessado em construir modelos de timing, algos, conceitos de negociação discricionária e análise de negociação sentimental. Ele agora instrui usuários em todo o mundo, desde traders experientes, traders profissionais até traders individuais.
Rajandran cursou a faculdade em Chennai, onde ganhou um BE em Eletrônica e Comunicações. Rajandran tem uma ampla compreensão de softwares comerciais como Amibroker, Ninjatrader, Esignal, Metastock, Motivewave, Analista de Mercado (Optuma), Metatrader, Tradingivew, Python e compreende as necessidades individuais dos investidores e investidores, utilizando uma ampla gama de metodologias.
Sim, é um bom começo. Mas você sabe que essas estratégias de opções também atingem o SL às vezes. Por que você não considera a mudança de OI nas opções consideradas nesses tipos de estratégias e define algo preciso em mais de 95% nas opções? Até agora, nós usamos sua super tendência no lado de venda das opções. No entanto, ele funciona muito bem, nós observamos retornos em termos de% parece menor. Qualquer como é um novo começo nas opções. Espero que possamos esperar mais do seu grupo sobre isso. Se possível, estaremos prontos para compartilhar nossas ideias também.
SURENDRA SHARMA diz.
Desejo configurar o código AFL no software AMI para o indicador Auto Buy Sell Signal com preço & # 8230; com a ajuda & # 8230;
exatamente o que eu estive procurando .. obrigada uma tonelada querida.
Você pode criar straddle curto grego - estratégia neutra delta.

Comments