Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

Софт и программы для трейдинга

Stocksharp (S#) – um conjunto de software para negociação, criação de estratégias de negociação e criação de robôs de negociação (regular ou HFT), recursos de uso, onde baixar e como usar, recursos de interface. StockSharp é um software inovador que permite aos usuários criar automações de ciclo completo (análise/teste/negociação) e
desenvolver bots de negociação por conta própria . Além do pacote padrão de análise técnica, a plataforma contém um construtor de estratégia visual exclusivo. A conexão API está disponível para robôs de negociação e software de terceiros. Abaixo você pode conhecer mais sobre o Stocksharp (S# – short), bem como avaliar as vantagens e desvantagens da popular plataforma.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

Licenciamento StockSharp

Os usuários têm a oportunidade (https://doc.stocksharp.ru/topics/License.html) de escolher o tipo de licença mais apropriado: estendido/corporativo/corporativo plus/comerciante privado/comerciante de criptografia.

Comerciante privado

Este tipo de licença é fornecido gratuitamente após o registro. Os seguintes programas estarão disponíveis para o usuário:

  • S#.Designer – designer de estratégias de negociação https://stocksharp.ru/store/%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD%D0%B5%D1% 80%20%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B5%D0%B3%D0%B8%D0%B9/;
  • S#.Data Hydra – um programa para baixar e armazenar automaticamente dados históricos de mercado https://stocksharp.ru/store/hydra/;
  • S#.Terminal de negociação terminal https://stocksharp.ru/store/%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9%20 %D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB/;
  • S#.API – uma biblioteca para desenvolver robôs de negociação https://stocksharp.ru/store/api/.

Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

Comerciante de criptografia

A licença do Crypto Trader fornece acesso às seguintes plataformas: Binance/Bitalong/Bitbank/Bitexbook/Bitfinex/Bithumb/BitStamp/BitMEX/Bittrex/WEX (BTC-e)/CEX.IO/Coinbase/Coincheck/CoinExchange/CoinCap/Coinigy/ Cryptopia /Deribit/EXMO/DigiFinex/ DigitexFutures/GDAX/HitBTC/Huobi/IDAX/Kraken/KuCoin/Liqui/Livecoin/OKCoin/OKEx/Poloniex/PrizmBit/QuoineX/TradeOgre/YoBit/Zaif/LBank/BitMax/BW/Bibox/ CoinBene /BitZ/ZB.

Licença Estendida

A licença estendida permite que os usuários conectem simultaneamente até 3 programas ao
terminal QUIK . O acesso a videoaulas, com duração superior a 40 horas, e estratégias de negociação prontas está aberto.

Observação! O serviço de suporte técnico da StockSharp responde rapidamente a questões emergentes, ajudando o cliente a resolver qualquer problema relacionado ao funcionamento do software.

Licença corporativa

Você terá que pagar uma taxa para obter uma licença de volume. Além da funcionalidade de licença básica/avançada, o usuário terá acesso direto a:

  • mercado de derivativos na Bolsa de Moscou ;
  • o mercado de ações na Bolsa de Moscou;
  • Troca LSE/NASDAQ.

Além disso, os traders podem gerenciar ordens no mercado de derivativos da Bolsa de Moscou e conectar-se à negociação usando o protocolo FIX/FAST.

Mais corporativo

A licença corporativa plus inclui os códigos-fonte de qualquer solução de software pronta (S#.Data/S#.Designer/S#.Shell). Existem também códigos fonte para a própria plataforma: S#.API.

Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs
Arquitetura S#

Códigos fonte do Stocksharp no Github

O núcleo S# é desenvolvido dentro da comunidade Open Source. S# está disponível como fonte no repositório GitHub/StockSharp em https://github.com/StockSharp/StockSharp. Os componentes por tipo estarão disponíveis com códigos-fonte:

  • classes comuns que são usadas no processo de criação de suas próprias conexões;
  • simulador de negociação;
  • simulador de história;
  • um grande número de indicadores de análise técnica (mais de 70);
  • exploração madeireira.

Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsApós a transferência do dinheiro para a compra da StockSharp, será disponibilizado o acesso aos códigos-fonte dos componentes fechados. Um trader pode usar algoritmos de lucro/perda/derrapagem/lag, bem como construir velas de qualquer período de tempo.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

Observação! Para iniciantes na área de negociação, o ambiente gráfico S#.Studio é adequado, o que simplifica bastante o processo de criação e teste de robôs para negociação.

Guia do GitHub – https://stocksharp.ru/forum/4848/rukovodstvo-po-github/

Recursos de instalação

A maioria dos usuários iniciantes não entende como iniciar corretamente o StockSharp, instalar programas e atualizar o software, se necessário. As informações abaixo ajudarão você a entender como instalar o StockSharp.

lançar

Para instalar o S#.Installer, os usuários precisarão seguir o link https://stocksharp.ru/products/download/ e fazer o download da distribuição. O bloco Installer.zip.Installerzip Properties foi removido.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsPara fazer isso, clique com o botão direito do mouse no arquivo e selecione propriedades. O arquivo é descompactado. Na pasta que se abre, você precisará encontrar o arquivo StockSharp.Installer.Console.bat. Em seguida, inicie o modo de instalação deste arquivo e aguarde a conclusão do processo de instalação.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsNa próxima etapa, eles inserem o login e a combinação secreta do StockSharp necessária para entrar no programa. Quando o processo de instalação estiver concluído, uma janela de software será aberta na tela.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

Instalação e remoção de software

Os desenvolvedores garantiram que era conveniente para os usuários pesquisar no programa e forneceram a capacidade de selecionar o tipo de aplicativos.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsPara instalar o aplicativo, os traders selecionam o programa e clicam no comando “Instalar”. Em seguida, confirme o acordo com os termos do contrato de licença e toque no botão “Continuar”.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsEm seguida, selecione o caminho de instalação. Ao mesmo tempo, vale lembrar que a pasta na qual o programa está instalado deve estar vazia. Depois disso, clique novamente no botão “Continuar”, selecione o comando “Executar” e aguarde a conclusão da instalação.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsAgora o software está pronto para uso! Adendo! Se houver necessidade de remover o software, os usuários selecionam o comando “Desinstalar” e clicam no botão “Continuar”. Para restaurar o software, você deve clicar no comando “Restaurar” e clicar no botão “Continuar”.

Recursos de atualização do programa

Os desenvolvedores garantiram que o S#.Installer rastreasse as atualizações de software de forma independente e as iniciasse automaticamente. É por isso que, após a conclusão da instalação, é melhor não desinstalar o programa. Para verificar manualmente as atualizações disponíveis, você deve clicar no botão “Atualizações”. Você pode encontrá-lo no canto direito da janela do software. Se houver atualizações disponíveis, uma notificação aparecerá na tela. Agora você precisa tocar no botão.

Recomenda-se fechar o S#.Installer através da barra de ferramentas. Para isso, é realizada uma transição para o menu. Clique com o botão direito do mouse no botão “Fechar”.

Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

S#.API – uma biblioteca para escrever robôs de negociação em C# no Visual Studio

S#.API é uma biblioteca gratuita que será útil tanto para iniciantes quanto para profissionais na área de
negociação algorítmica. A biblioteca está focada na programação C# no ambiente Visual Studio, graças ao qual os usuários têm a oportunidade de criar absolutamente qualquer estratégia: desde posicionais com um longo período de tempo até as de alta frequência (HFT) que usam acesso direto (DMA) para trocar negociação. S#.API é a base do resto dos produtos. Com base na biblioteca, os desenvolvedores criaram várias soluções como o adaptador S#.Designer/S#.Data/S#.MatLab, etc. Os usuários têm a capacidade de criar suas próprias conexões com qualquer sistema de negociação externo. O bot pode funcionar com qualquer conexão. Não depende da API da corretora, o que é uma vantagem significativa. S#.API destina-se a comerciantes privados / instituições bancárias / empresas de investimento. O desempenho é bastante alto. Centenas de estratégias para qualquer instrumento são executadas simultaneamente. O teste em carrapatos/óculos é o mais preciso possível. O deslizamento real é determinado. Você pode baixar a API e a documentação para S#.API StockSharp em https://stocksharp.ru/store/api/ Início rápido no StockSharp, criando um robô de negociação para Quik: https://youtu.be/F51bGEpTOvo

Recursos de instalação do S#.API

Desde a versão 5.0, a instalação do S#.API é feita via NuGet. Para versões anteriores, você deve optar por instalar a partir do repositório StockSharp Releases do serviço web GitHub.

Recursos de instalação do GitHub

Em primeiro lugar, os usuários se registram no
GitHub . Em seguida, vá para a página github.com/StockSharp/StockSharp no repositório StockSharp e selecione o ícone “Releases”. Uma janela será aberta na tela na qual você precisa selecionar a versão S# (na seção Downloads) e baixar os arquivos necessários. Os arquivos baixados são desbloqueados e descompactados.

Para a sua informação! Nos arquivos StockSharp_#.#.#. contém arquivos zip da biblioteca/códigos-fonte de exemplos. Você pode encontrar os códigos-fonte nos arquivos de código-fonte.

Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

Instalando com Nuget

Usando o Nuget, os usuários podem instalar a biblioteca S#. Para instalar os códigos-fonte e exemplos, você precisará acessar o GitHub.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsNo Solution Explorer, clique com o botão direito do mouse no nome da solução. Depois de acessar o menu de contexto, selecione Gerenciar Pacotes NuGet para Solução. Uma janela será aberta na tela na qual você precisa tocar na guia Online. Digite StockSharp na barra de pesquisa. Quando o pacote para instalação da API StockSharp for encontrado, você precisa clicar em “Instalar”. Quando a instalação do pacote estiver concluída, os Pacotes aparecerão na pasta. Ao abrir os “Pacotes” você pode ter certeza de que ele contém StockSharp.#.#.# com a versão mais recente do S#.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

Conectores

Você precisa trabalhar com bolsas de valores e fontes de dados no StockSharp por meio da classe base Connector. Os códigos-fonte podem ser encontrados no projeto Samples/Common/SampleConnection.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsAntes de tudo, você precisa criar uma instância da
classe Connector https://doc.stocksharp.ru/api/StockSharp.Algo.Connector.html :

public Connector Connector;

public MainWindow()
{
InitializeComponent();
Conector = new Conector();
InitConnector();
} Em uma interface gráfica especial projetada para configurar o Connector for S#.API, é possível configurar várias conexões ao mesmo tempo.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsTambém é possível adicionar uma conexão diretamente do código (sem janelas gráficas). Para fazer isso, você precisa usar a extensão TraderHelper.AddAdapter<TAdapter>(conector StockSharp.Algo.Connector, System.Action<TAdapter> init). O número de conexões em um objeto Connector é ilimitado. Os usuários podem se conectar a várias exchanges/corretores ao mesmo tempo.

Observação! Os manipuladores de eventos devem ser definidos no método InitConnector.

Formulários

Usando o objeto Order, você pode criar um novo pedido. Utilizando o método Connector.RegisterOrder(StockSharp.BusinessEntities.Order order), que envia um pedido ao servidor, o usuário poderá registrá-lo na bolsa. Se houver necessidade de criar uma ordem stop, os especialistas aconselham a especificar a propriedade Order.Type como OrderTypes.Conditional. Para trabalho adicional com aplicativos, o mesmo objeto é usado.

Ferramentas

Segurança é um instrumento financeiro usado para negociação. O instrumento pode ser uma ação/futuro/opção, etc. O desenvolvedor dividiu as cestas de ferramentas em classes:

  • ÍndiceSegurança;
  • Segurança Contínua;
  • WeightedIndexSecurity.

Armazenamento de dados

No StockSharp, você pode salvar dados para download posterior. Como regra, é necessário armazenar dados para acumular análises/buscas de padrões, salvar dados de mercado do
terminal de negociação (para testar bots). O armazenamento de dados é absolutamente transparente, porque o desenvolvedor cuidou do acesso de alto nível e escondeu os detalhes técnicos.

S#.Designer é um programa de designer universal para criar robôs e estratégias de negociação

S#.Designer é usado para criar, testar e gerenciar estratégias de negociação em negociação real. Existem vários tipos de estratégias de criação que este programa oferece. Eles estão usando:

  1. Kubikov. Nesse caso, o usuário pode não ter habilidades de programação. Para criar estratégias, você precisará usar o método de conectar linhas e combinar cubos.
  2. C#. Esta opção é adequada para programadores experientes que não têm medo de trabalhar com código. Tal estratégia não se limita às possibilidades de criação. Ele pode descrever qualquer algoritmo, ao contrário dos cubos. A estratégia é criada diretamente no S#.Designer ou no ambiente de desenvolvimento C#.

Durante a primeira inicialização do S#.Designer, uma janela aparecerá na tela na qual você precisará selecionar um modo de inicialização.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsDepois disso, pressione o botão OK. Durante a primeira inicialização do S#.Designer, você será solicitado a abrir uma janela de download de dados. Para baixar os dados históricos, você precisará instalar o programa S#.Data (codinome Hydra). Após clicar no botão Download da ferramenta, uma janela correspondente aparecerá na tela, na qual você precisará inserir o código e o tipo de ferramenta/fonte de dados. A seguir, clique no botão OK. As ferramentas que o S#.Designer encontrará podem ser encontradas no painel Todas as ferramentas.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

Observação! A fonte gratuita mais popular de dados históricos para o mercado russo é a corretora Finam. A fonte de dados padrão é S#.Designer.

Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsPara obter dados históricos, vá para a categoria Todos os instrumentos e toque no nome do instrumento desejado. Em seguida, defina o período de dados históricos / tipo / período de tempo das velas e clique no botão Iniciar.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsApós a obtenção dos dados históricos, uma das estratégias de demonstração deve ser preferida. Para fazer isso, vá para o painel Esquemas. Na pasta Estratégias, selecione um exemplo de estratégia SMA. Quando você navega para uma estratégia, a guia Emulação é aberta na faixa de opções. Aqui você encontra os elementos básicos para criar uma estratégia/depuração/teste.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsNesta aba, defina o período de teste e armazenamento de dados de mercado no campo “Dados de mercado”. Em seguida, selecione as ferramentas necessárias e defina o tipo/período de tempo das velas na categoria Propriedades do bloco. A emulação de negociação começa imediatamente após o botão Iniciar ser pressionado.

https://youtu.be/NrzI4yJFg7U Stocksharp Lição Dois: https://youtu.be/N_AFlKYP2rU Lição Três: https://youtu.be/f75zeQL5Ucw

S#.Terminal – terminal de negociação

S#.Terminal é um terminal de negociação gratuito, cuja principal vantagem é a conexão simultânea a um grande número de plataformas de negociação. Suporte para mais de 70 conexões de diferentes bolsas do mundo está disponível. Os prazos são arbitrários.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsDurante a primeira inicialização do S#.Terminal, você precisará selecionar o modo de inicialização e clicar no botão OK. Uma janela de terminal aparecerá na tela. Os componentes são definidos por padrão. Depois de editar as configurações de conexão, você precisa clicar no botão “Conectar”.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsPara adicionar uma nova área do gráfico, os usuários tocam no comando “Adicionar”. Ao clicar no segundo botão do mouse no mesmo local, você pode adicionar velas para os instrumentos de interesse/indicadores/ordens e seus próprios negócios. Na categoria Negociações, os traders poderão visualizar as negociações por instrumento. Se houver necessidade, os comerciantes sempre terão a opção de adicionar componentes adicionais.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

S#.Data (Hydra) – downloader de dados de mercado

Os desenvolvedores criaram o software S#.Data (Hydra) para carregamento automático de dados de mercado (instrumentos/velas/negócios/DOM) de várias fontes. Os dados podem ser salvos no armazenamento local no formato de texto S#.Data (BIN), que fornece uma análise de dados conveniente em outro software, ou em um formato binário especial que fornece o nível máximo de compactação. As informações que foram salvas ficarão disponíveis para uso pelas estratégias de negociação. Para acessar os dados, você precisará usar o StorageRegistry ou uploads regulares no formato Excel/xml/txt. S#.Data permite que você use fontes de dados históricos e em tempo real ao mesmo tempo. Essa vantagem é alcançada através do uso de um modelo de origem extensível. Durante o primeiro lançamento do programa, uma janela será aberta na tela,no qual o modo de inicialização é selecionado e o botão OK é clicado.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsPara abrir a janela de seleção da fonte de dados, você precisa ir para a categoria “Geral” e tocar na seção “Adicionar” e na pasta “Fontes”.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsNa janela que se abre, marque as fontes necessárias. É permitido o uso de filtros por região/site eletrônico/tipo de dado/tempo real. Clique em OK para concluir o processo de seleção. Depois disso, o software solicitará que os usuários ativem os utilitários. Ao clicar em OK, o lojista poderá adicionar fontes no painel esquerdo da janela principal do aplicativo.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

S#.Shell – framework gráfico pronto com códigos fonte

O S#.Shell é uma estrutura gráfica pronta para uso que permite fazer alterações rápidas com base nos requisitos do usuário e é totalmente de código aberto na linguagem C#. O robô criará rapidamente uma interface gráfica, salvará e restaurará as configurações da estratégia, fornecerá informações detalhadas sobre a operação da estratégia e a iniciará automaticamente no prazo. Quando você inicia o S#.Shell, o projeto Shell aparecerá no Solution Explorer.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsA pasta Estratégias contém várias estratégias incluídas no S#.Shell/Interfaces auxiliares/Wrapper para estratégias padrão. Quando o projeto for iniciado, uma janela será aberta na tela, na área superior de \u200b\u200bque você pode encontrar:

  • botões de configurações de conexão;
  • botão para salvar a configuração atual do Shell;
  • abas principais.

Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsDepois de acessar as configurações de conexão, você precisará selecionar o tipo de conexão. Assim que o usuário conseguir se conectar, vale a pena ir para a categoria “Geral” e se familiarizar com os instrumentos/conteúdo da carteira/ordens/negociações próprias.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsEm seguida, vá para a guia “Tempo real” para adicionar uma estratégia para começar a negociar. Depois de adicionar uma estratégia, um trader pode proceder ao preenchimento de seus principais parâmetros por tipo de Instrumentos, Carteira, etc.

Observação! Na categoria “Emulação”, é possível realizar testes de estratégia em dados históricos.

Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsCurso online básico sobre negociação algorítmica usando a plataforma StockSharp: https://youtu.be/lileOIlcNP4

S#.MatLab – Integração MatLab com sistemas de negociação

Os desenvolvedores criaram S#.MatLab – um link para o produto https://doc.stocksharp.ru/topics/MatLab.html para especialistas em negociação que escrevem algoritmos de negociação no ambiente MatLab MathWorks. A presença do conector de integração S#.MatLab possibilita a conexão com praticamente qualquer corretor/troca. Os scripts do MatLab, após receberem os dados das plataformas de negociação, enviam ordens de negociação para eles. Para obter configurações detalhadas, scripts e documentação, você precisará adquirir o S#.MatLab.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôs

Negociando a partir de scripts do MatLab

Os arquivos CSV coletam e armazenam dados. As cotações atuais são escritas em linhas. As colunas indicam todo o intervalo de cotações de compra/venda para cada par de moedas. Se você não consegue manter seu PC ligado o tempo todo, não se preocupe. Os dados neste caso virão em blocos. Após o download, você pode fechar o programa, renomear o arquivo para não se perder e reiniciá-lo após um determinado período de tempo.

Observação! O tamanho dos arrays com blocos de dados será diferente. Os blocos de dados são armazenados em PRICES (variável global).

Ao criar uma estratégia, você deve garantir que ela aceite apenas seus próprios parâmetros como entrada. Os dados iniciais são transferidos por meio de variáveis ​​globais. Quando uma negociação é fechada, as variáveis ​​globais são ajustadas para caracterizar a qualidade da estratégia. Para otimizar essas características, você deve criar um “shell” dentro do qual as variáveis ​​globais serão inicializadas.

Para a sua informação! Cada vez que uma negociação é fechada, o desempenho da estratégia é atualizado.

Toda a documentação do Stocksharp em https://doc.stocksharp.ru/

Visualizador da Liga dos Campeões – gráficos da competição da Liga dos Campeões com ofertas de participantes

O LCH Viewer é um software que exibe as negociações dos participantes do LCH em um gráfico com indicadores. Na foto abaixo você pode ver como será a exibição de várias ferramentas.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsTambém é possível visualizar negociações de robôs HFT no gráfico de ticks RI.
Negociação manual e algorítmica no Stocksharp, desenvolvimento de robôsque o software oferece um grande número de possibilidades. A conexão é suportada não apenas pelos corretores russos, mas também pelos americanos, o que é uma vantagem adicional.

info
Rate author
Add a comment