Criei uma aplicação comercial no WPF. Pelo que tenho vergonha de seu olhar gasto, já que está longe de ser impressionante. Gostaria agora de redesenhar a interface do usuário para o meu aplicativo e torná-lo semelhante a um exemplo de captura de tela de um aplicativo comercial. Alguém pode sugerir dicas sobre o caminho que eu devo seguir para criar uma interface de usuário de natureza similar, por exemplo. Se houver um aplicativo C WPF de código aberto que tenha um aspecto e uma sensação semelhantes, isso seria ótimo. Ou se houver uma biblioteca que tenha listview, barras de rolagem e barras de progresso legais. PS: Eu não tenho a microsoft blend perguntada 15 de fevereiro 11 às 3:15 Você pode chamar isso como uma sugestão e não uma resposta exatamente. Mas postando para aqueles que são novos no WPF e aprendendo design ou padrões de tela. De acordo com a minha experiência com o WPF, posso dizer que primeiro deixa as mãos sujas saber como funciona a ligação, porque essa é a base da maneira WPF. Simpler de aprender como funciona vinculativo é aprender a vincular controles com outros controles. Em seguida, use aulas simples e aprenda MVVM. Em seguida, vá para ligação de comando no perímetro MVVM. Mantenha o prisma até o final, porque você precisa de uma boa compreensão dos mecanismos de ligação, comandos, MVVM e mais para entender o PRISM. Depois disso, você terá idéia de como essas coisas funcionam juntas e irá ajudá-lo a descobrir como jogar com dados e tela em conjunto e projetar telas agradáveis. Novamente, não é uma resposta para a pergunta acima. Apenas sugestões para aqueles que estão aprendendo WPF e aterrissaram aqui à procura de WPF UI projetando. Respondido 19 de dezembro 12 às 17:20 Sua resposta 2017 Stack Exchange, IncThe Back Testing Library for Professional Trading Strategy Developers Back testing é o processo de testar estratégias de negociação com base em dados de mercado históricos para tentar simular como um sistema comercial pode realizar no futuro . O teste de atraso é o desenvolvimento da estratégia comercial, o que a pesquisa e a melhoria da qualidade são para as indústrias de saúde e transporte. Quem quer experimentar um monitor cardíaco não testado ou um automóvel Ninguém. O mesmo vale para as estratégias de negociação financeira. Todas as estratégias de negociação devem ser testadas, otimizadas e validadas antes de entrar em ação com dinheiro real. Quase qualquer estratégia de negociação de análise técnica pode ser testada. Embora seja verdade que muitos aplicativos de negociação de nível intermediário fornecem linguagens de script que permitem que os comerciantes desenvolvam e voltem estratégias de negociação de teste, descobrimos que não havia bibliotecas de teste de volta disponíveis para desenvolvedores avançados de sistemas de negociação que preferem programar suas estratégias de negociação em programação de baixo nível Idiomas como C, C e Java. Então, desenvolvemos um mecanismo de teste de back para desenvolvedores de sistemas avançados. Agora, os desenvolvedores podem criar estratégias em qualquer linguagem de programação, depois testar e otimizar essas estratégias para melhorar o desempenho. BackTestLib permite aos desenvolvedores voltar a testar seus sistemas comerciais em C, C, VB, F, R, IronPython ou qualquer outro idioma, usando dados de barra ou barra. Isso simplesmente não importa como o seu sistema comercial está escrito. Tudo o que você precisa fazer é fornecer uma lista de negócios, e a biblioteca de teste de volta faz o resto para você. BackTestLib pode calcular o desempenho do seu sistema comercial usando duas dúzias de medidas de risco, incluindo taxa de Sharpe, razão de Calmar, razão de Sortino, Draw Draw máximo, Drawdown de Monte Carlo, PL total, Risco de Risco, o maior lucro, a maior perda, o número médio de operações Mês, Registros de comércio e muito mais. Perfeito para otimização de estratégia Os comerciantes profissionais sabem que todas as coisas boas acabaram. Mesmo os melhores sistemas de negociação eventualmente caem em períodos perdidos, exigindo a otimização ou a aposentadoria do sistema comercial. Os motivos variam, incluindo mudanças na liquidez, volatilidade e dinâmica do mercado subjacente, bem como outros fatores. O BackTestLib produz resultados que representam uma gama de medidas com base na rentabilidade e no risco de seu sistema comercial quando testado com os dados com os quais foi fornecido. Exemplo de código Crie algumas negociações simuladas Lista lt Comércio gt negocia nova lista lt Trade gt () trades. Add (new Trade (DateTime. Parse (quot112014 9: 30: 45.422 AMquot), SignalType. Buy, 24)) trades. Add (new Trade (DateTime. Parse (quot112014 9: 32: 33.891 AMquot), SignalType. ExitLong, 24.09)) trades. Add (comércio novo (DateTime. Parse (quot112014 9: 37: 12.839 AMquot), SignalType. Sell, 24.07)) negociações. Add (novo Trade (DateTime. Parse (quot112014 9: 48: 27.488 AMquot), SignalType. Exit, 24.19)) trades. Add (new Trade (DateTime. Parse (quot112014 9: 49: 16.415 AMquot), SignalType. Compre, 24)) trades. Add (new Trade (DateTime. Parse (quot112014 9: 50: 45.512 AMquot), SignalType. Exit, 24.09)) trades. Add (novo Trade (DateTime. Parse (quot112014 9: 51: 14.212 AMquot), SignalType. Buy, 24.01)) Execute o último teste do último teste 24.03 BacktestResults results Backtester. Backtest (trades, lastPrice) Produzido o console de resultados. WriteLine (número total de trades: quot. Results. TotalNumberOfTrades) Contras Ole. WriteLine (quotAverage number of trades per month: quot. Results. AverageTradesPerMonth) Console. WriteLine (quotTotal número de negociações rentáveis: quot. Results. NumberOfProfitableTrades) Console. WriteLine (quotTotal número de negociações perdidas: quot. Results. NumberOfLosingTrades) Consola. WriteLine (quotTotal profit: quot. Results. TotalProfit) Console. WriteLine (quotTotal loss: quot. Results. TotalLoss) Consola. WriteLine (quotPrescentes rentáveis: quot. Results. PercentProfit) Consola. WriteLine (quotPetícias rentáveis: quantos resultados. PercentProfit) Consola. WriteLine (quotLargest profit: quot. Results. LargestProfit) Console. WriteLine (quotLargest loss: quot. Results. LargestLoss) Consola. WriteLine (quotMaximum drawdown: quot. Results. MaximumDrawDown) Console. WriteLine (quotMaximum drawdown Monte Carlo: quantos resultados. MaximumDrawDownMonteCarlo) Consola. WriteLine (quotStandard Deviation : Quant. Results. StandardDeviation) Console. WriteLine (quatStandard Deviation annualized: quot. Results. StandardDeviationAnnualizated) Console. WriteLi Ne (Desvio lateral (MAR 10): quot. Results. DownsideDeviationMar10) Console. WriteLine (quotValue Added Monthly Index (VAMI): quot. Results. ValueAddedMonthlyIndex) Consola. WriteLine (quotSharpe ratio: quot. Results. harpeRatio) Consola. WriteLine (quotSortino ratio: quot. Results. SortinoRatioMAR5) Console. WriteLine (quotAnnualizado Sortino ratio: quot. Results. AnualizedSortinoRatioMAR5) Console. WriteLine (quotSterling ratio: quot. Results. SterlingRatioMAR5) Consola. WriteLine (quotCalmar ratio: quot. Results. CalmarRatio) Console. WriteLine (quotRisk para recompensar a relação: quot. Results. RiskRewardRatio) Exibe o log de comércio foreach (Trade trade in results. Trades) Console. WriteLine (trade. Date quot: quot trade. Signal. ToString () no quot trade. Price. ToString ()) UNIT C System Modeling 3. Exemplo de um sistema de negociação Nesta seção, seguiremos as etapas descritas na seção anterior e criamos um sistema de negociação a partir do zero. O sistema utilizado neste capítulo foi selecionado apenas para fins educacionais e é apenas uma das inúmeras opções disponíveis para os comerciantes de hoje. Independentemente do seu nível de habilidade, esperamos que esta seção lhe forneça uma melhor compreensão do processo de desenvolvimento do sistema. A observação O gráfico diário abaixo mostra que a maioria das velas diárias tem diferentes comprimentos em termos de pips. Nós também percebemos que eles quebram o preço alto ou baixo da vela diária anterior na maioria das vezes. A magnitude dos breakouts difere da vela para a vela, mas muitas vezes a distância que a taxa de câmbio dispara nos extremos diários anteriores é grande o suficiente para ser considerado um potencial de lucro. A Hipótese Esta estratégia visa capturar parte de um movimento de fuga, a partir do alto ou baixo nível do dia anterior. As condições de mercado que devem ser atendidas para capturar este evento são: Medindo a Hipótese Para medir o potencial do breakout. Nós levamos o par GBPUSD por suas características como um par de moedas de movimento rápido, capaz de quebrar os níveis de suporte e resistência quando ganha em velocidade e impulso. Selecionando o Time Frame Embora o evento do breakout esteja visível nos gráficos diários. Nós escolheremos o intervalo de tempo de 1H para começar a avaliar a estratégia com a ajuda de indicadores técnicos. Por um lado, o intervalo de tempo de 4H parece muito alto para visualizar as fugas menores e, por outro lado, qualquer período de tempo inferior a 1H pode gerar sinais desnecessários. O fuso horário utilizado para testes será GMT como um fuso horário padronizado para o mercado Forex. Desenvolvendo a Estratégia As ferramentas seguintes serão usadas para criar as condições e as regras da estratégia: uma caixa de preço para marcar os preços altos e baixos do dia anterior será exibida no gráfico 1H. E cada período de 24 horas será marcado com uma linha vertical para distinguir o início do dia. Uma combinação de duas médias móveis ajudará a obter a direção da tendência subjacente. Essas serão as 21 e as 89 médias móveis simples. Dois números retirados da sequência de Fibonacci que não são contíguos (8, 13, 21, 34, 55, 89, 144.). Bandas de Bollinger aplicadas aos 21 SMA serão usadas como um indicador de volatilidade. As bandas de Bollinger contêm 95 dos preços de fechamento. Quanto maior o desvio padrão usado nas configurações, mais os preços de fechamento estão contidos nas bandas. Como o movimento de fuga precisa ser alinhado com a tendência principal. Precisamos de um parâmetro que dê espaço para que o preço se desenvolva. Portanto, o desvio será inicialmente configurado para 3. Este indicador nos ajudará a evitar fugas comerciais se o intervalo diário anterior tiver sido muito pequeno e o mercado não tiver volatilidade. Bollinger Bands e RSI é um webinar realizado por Valeria Bednarik. Aqui você pode extrair idéias adicionais sobre como usar esses indicadores. Regras de entrada Para começar a testar a estratégia, somente uma troca será realizada por dia. Portanto, precisamos estabelecer as condições quanto à direção do breakout: Se o menor de qualquer dia for menor do que no dia anterior, somente uma queda para a desvantagem será tomada no dia seguinte. A direção descendente permanecerá inalterada até que o máximo de um dia supera a maior parte do dia anterior - a partir daí, apenas os negócios para a parte superior serão levados. Se um certo dia não interrompe um preço no dia anterior, a direção da fuga permanece como era antes. Se um certo dia rompe o início do dia anterior e os extremos dos preços baixos, a direção da ruptura será determinada no final do dia. Por exemplo, se o fim do dia for menor que o dia anterior, a direção está baixa e vice-versa. As condições de entrada longa são: a alta do dia anterior foi maior do que no dia anterior (como explicado acima). O 21 SMA está acima de 89 SMA. A banda Bolliger superior não se contrai à desvantagem na última vela antes da fuga. A taxa de câmbio quebra acima da alta do dia anterior. Ajuste o nível de entrada no dia anterior alto adicionando um pip e a propagação para o lado positivo. Por exemplo, se a alta de ontem foi de 1.6350 e seu spread para o GBPUSD é de 3 pip. Do que o nível de entrada é 1.6354 .. As condições de entrada curtas são: o dia anterior foi inferior ao do dia anterior (como explicado acima). O 21 SMA tem menos de 89 SMA. A Bolliger Band inferior não está se contraindo à parte superior na última vela antes do breakout. O gatilho de entrada curta é: a taxa de câmbio quebra abaixo do mínimo do dia anterior. Ajuste o nível de entrada para um pip menos do que o dia anterior baixo para baixo. Por exemplo, se a baixa de ontem foi de 1.6300, do que o nível de entrada é 1.6299. Regras de saída Existe apenas um alvo e esta é a extensão 161.8 Fibonacci. A ordem de lucro exata será colocada alguns pips antes do nível 161.8. Se houver um número redondo mais próximo do que 10 pips ao nível 161.8, pegue o número da rodada como alvo. Além disso, certifique-se de adicionar o spread ao nível de destino em trocas curtas. Por exemplo, se o nível de extensão 161.8 em um USDJPY curto for 90.00 do que o alvo seria colocado em 90.04 se o spread for de 4 pips. Você quer se tornar um mestre usando o Fibonacci Aprenda do básico a verdadeiras estratégias institucionais baseadas nesta incrível ferramenta. Você pode assistir gravações ou ler transcrições de sessões ao vivo hospedadas na FXstreet sobre Fibonacc i. A perda de parada em um longo comércio é colocada abaixo do nível 21 SMA ou 68.1 Fibonacci, que está mais próximo do preço de entrada. Por outro lado, a perda de parada em um curto comércio é colocada acima dos 21 SMA ou 61,8 Fibonacci, o que está mais próximo do preço de entrada. Desta forma, a pior relação potencial de ganhos em cada comércio é uma relação Phi (61,8 38,2 1,617801047). Tamanho da posição e gerenciamento de riscos Para fins de teste, cada posição será inserida com um mini-lote e limitaremos o risco para 2 do saldo da conta. Por causa da importância do assunto, você merece todo um capítulo dedicado ao gerenciamento de riscos e dinheiro. Por enquanto, apenas concentre-se em seguir os passos anteriores e seguir as regras mecanicamente. Os benefícios deste processo são numerosos como Mark Douglas explica em seu livro ldquoTrading no Zonerdquo. Seguir sistematicamente um conjunto de regras de negociação ajudará o aluno das seguintes maneiras: Desenvolver a auto-confiança necessária para operar em um ambiente ilimitado. Aprenda a executar de forma perfeita um sistema comercial. Treine sua mente para pensar em probabilidades. Crie uma forte crença em sua consistência como trader. rdquo Fonte: ldquoTrading In The Zonerdquo por Mark Douglas, Prentice Hall Press, 2001, p.172 O crescimento pessoal que um comerciante experimenta através deste exercício, por si só, justifica o desenvolvimento de uma abordagem de negociação mecânica. Você pode começar com este sistema como um guia para desenvolver um diferente, você pode até começar por copiar esse sistema, mas com o tempo, sua meta será desenvolver sua própria abordagem comercial exclusiva. Um sistema que serve como um quadro lógico para qualquer decisão comercial que você fizer.
No comments:
Post a Comment