StrategyQuant 3.8.2 - Projeto de modificação de código personalizado
32 respostas
Karish
6 anos atrás #201967
1TP9Visualização do projeto:
Como todos nós sabemos, o StrategyQuant é uma ótima ferramenta com enormes possibilidades e um excelente ambiente de desenvolvimento para os profissionais da área de finanças,
Tenho um enorme respeito e não posso agradecer o suficiente por um software como esse estar aberto para o usuário comum,
Você precisa entender que ferramentas como essa são criadas e vendidas para grupos fechados, que pagam grandes somas por coisas como essas,
Portanto, como programador e analista quantitativo, tenho muito respeito por Mark Fric e sua equipe por essa ferramenta e pela comunidade de analistas quantitativos que temos aqui no fórum oficial e no bate-papo da minha equipe Ryver
O comércio é um negócio muito solitário e é ótimo que tenhamos mais de 100 membros que estão compartilhando ideias e ajudando uns aos outros,
Sou uma pessoa que contribui muito com esta comunidade, como você já deve saber ou não,
Portanto, agora estou disposto a compartilhar meu trabalho e o código MQL4 aprimorado com base na última versão oficial do StrategyQuant versão 3.8.2,
O problema é que a equipe de desenvolvimento do SQ está muito ocupada trabalhando na nova versão do StrategyQuant 4,
muitas coisas e bugs foram deixados de fora e não foram atualizados, o que é perfeitamente compreensível de minha parte,
A nova versão do StrategyQuant 4 será ainda mais futurista e oferecerá muito mais recursos e um ambiente de trabalho mais profissional,
Portanto, como não há nenhum trabalho em andamento na versão atual do StrategyQuant 3.8.2, tive que assumir esse projeto sozinho,
Muitas coisas/bugs foram alterados/corrigidos, a segurança e o desempenho também foram bastante aprimorados. A seguir, apresentarei o changelog completo dos aprimoramentos e melhorias,
Esse registro de alterações será atualizado no tópico oficial que criei no fórum:
TÓPICO OFICIAL: https://strategyquant.com/forum/topic/strategyquant-3-8-2-custom-code-modification-project/
Lá, indicarei todo o progresso e publicarei as atualizações do código,
Toda vez que o código for alterado, notificarei sobre isso no tópico oficial relacionado a esse projeto,
Espera-se que esse projeto seja aprimorado por outros membros de nossa comunidade, mas precisará ser confirmado primeiro para que não haja erros e novos bugs com o passar do tempo,
Fique à vontade para compartilhar sugestões sobre melhorias e aprimoramentos adicionais deste projeto no tópico oficial do fórum dedicado a este projeto,
Participe também do nosso grupo de bate-papo da equipe Ryver escrevendo seu endereço de e-mail como resposta neste tópico:
SOLICITAÇÃO DE CONVITE DO RYVER: https://strategyquant.com/forum/topic/6754-official-community-team-chat-on-ryver-come-and-join-us-benefit-from-both-worlds
Junte-se a nós para tirar mais proveito do SQ e aprimorar sua experiência e habilidades de conhecimento!
seria legal ver você lá conosco também!
Com os melhores cumprimentos, Arik.
Fique à vontade para entrar em contato comigo:
RYVER - Sou muito ativo no Ryver, portanto não há necessidade de usar outras formas de entrar em contato comigo, mas você pode...
Fórum PM - https://strategyquant.com/forum/user/8752-karish/
E-mail - [email protected]
//== Versão 1.0 (Project oficialmente publicado e iniciado):
- // Todas as estratégias com ordens (Limite/Parada/Mercado) com Win% abaixo de 50% apresentam bugs e não funcionam da mesma forma entre SQ e MT4. - (prove que estou errado)
// Evite esse erro indo para ("Building strategies > Settings > Ranking options > Add a criteria of Win%<=50").
//
// O OrderClose foi modificado para fechar a ordem o mais rápido possível e não esperar até que o slippage seja menor do que o definido pelo parâmetro. - (para aqueles que negociam em uma corretora MarketMaker)
//
// Cada movimento de registro/erro está muito detalhado agora.
//
// Ao soltar o EA em um gráfico, ele não mostrará apenas quando e em qual par&TF o EA deve ser negociado,
// mas mudará automaticamente para o par&TF correto por si só,
// não há possibilidade de alterar o par&TF de volta por um acento ou mais, portanto, é seguro e não será negociado em um par&TF diferente por engano.
//
// Ao soltar o EA em um gráfico, ele mostrará um texto de aviso vermelho no gráfico se houver Barras <100 para botos de cálculo de indicadores e etc.
//
// O MagicNumber automático é definido para cada EA por padrão, não há necessidade de alterar cada EA manualmente ou verificar se há 2 ou mais EAs com o mesmo MagicNumber, há um MagicNumber exclusivo para cada EA com base no nome do arquivo ".str"...
//
// Cada ordem está enviando uma solicitação ao servidor do corretor antes da execução,
// isso é feito para eliminar erros e falhas na ordem,
// Além disso, cada pedido tentará novamente a solicitação até obter êxito,
// - O OrderSend tentará 20 tentativas a cada 2 segundos e tentará novamente e mais uma vez (20 vezes porque queremos que o pedido ainda esteja a nosso favor),
// - O OrderModify tentará 200 tentativas a cada 2 segundos e tentará mais uma vez e mais uma vez,
// O OrderClose e o OrderDelete tentarão 200 tentativas a cada 2 segundos e tentarão mais uma vez e mais uma vez.
//
// Mostra o Spread quando o pedido foi aberto.
//
// O MaxSpread foi adicionado, agora você pode escolher sua limitação de spread, assim como a limitação de slippage,
// Se o spread atual for maior que o MaxSpread, a ordem será atrasada e tentada novamente a cada 2 segundos até ser bem-sucedida.
//
// As ordens se tornaram muito mais seguras, cada ordem (MarketOrders/PendingOrders) vem com um SL/TP automático por obrigação.
//
// Garante que todas as ordens sejam fechadas no final do intervalo de tempo/sexta-feira/fim do dia.
//
// * e muitas outras coisas menores foram feitas, não consigo me lembrar de todas XD.
Karish
6 anos atrás #202492
Karish, como faço para definir manualmente o número mágico se eu quiser?
Pesquisar por: "string EAName="
basta alterar a string que vem depois do "="
por exemplo: string EAName="Strategy 4.10″;
alterá-lo para: string EAName="111″;
*O MagicnNumber deve sempre conter um número.
Boa sorte!
Você acha que eu deveria adicionar uma opção para possibilitar que o usuário escolha um MagicNumber automático e um MagicNumber definido manualmente?..., ideia interessante..., para que você possa alterá-lo diretamente por meio dos parâmetros do EA dentro do MT4...
jmtc1230
6 anos atrás #202548
Karish
6 anos atrás #202595
Versão 1.7 (14.12.17):
- * O gerenciamento de erros foi modificado e agora não exibirá em loop a mensagem de erro (ERR_NO_ERROR).
- * A mensagem de deslizamento em todos os pedidos foi removida até novo aviso, pois apresenta um bug visual; ela será adicionada no futuro.
- * O número de novas tentativas de modificação, fechamento e exclusão de um pedido foi aumentado de 40 para 80 por motivos de segurança.
- * Correção de um erro nos loops de gerenciamento de pedidos.
- * Melhor suporte para gráficos "Intraday",
Não há mais necessidade de alterar nada no código para executar backtesting/negociação por meio dos plug-ins. - (plug-ins AZ-INVEST) - * IMPORTANTE!
Minhas sugestões são limitar o Win% de modo que o Win% não seja inferior a 30% nem superior a 96% (com base apenas em ordens pendentes de parada/limite)
Se estiver usando ordens de mercado, fique acima de 50% Win% se quiser que seus resultados sejam precisos.
—————————
BAIXE AQUI:
https://drive.google.com/file/d/126lnUqOlbvrb7swnW78AqXOIHK1Kpivt/view
Fx Mena
6 anos atrás #202605
Obrigado, Sr. Karish, pela ajuda para otimizar o SQ 3, prefiro essa versão do que a SQ4. Acredito que o SQ é uma decepção pela complexidade e pela interface horrível, espero que todas as atualizações e funcionalidades usem a mesma interface do SQ3.
PROBLEMA: Para as estratégias de gráfico Renko (Modo de barras 0) e (Modo de barras 1 com mechas)
Usei o conversor CSV2FXT (da AZ INVEST) para gerar o arquivo de backtest FXT usando o backtester do Tick Data Suite, pois sei que o script da Az Invest ( Link ) geram também um histórico Arquivo de dados para Renko Em seguida, importei para o StrategyQuant. Quando testei minhas estratégias no SQ, obtive bons resultados, mas quando testei no Metatrader, obtive resultados ruins no backtest de modelagem 99%.
- Existe alguma ideia do motivo?
- Existe alguma ideia de criar um EA para exportar barras fechadas para CSV (fazer um espelho do gráfico renko durante o backtest para dados CSV)?
jmtc1230
6 anos atrás #202879
Karish
6 anos atrás #202886
Obrigado, Sr. Karish, pela ajuda para otimizar o SQ 3, prefiro essa versão do que a SQ4. Acredito que o SQ é uma decepção pela complexidade e pela interface horrível, espero que todas as atualizações e funcionalidades usem a mesma interface do SQ3. PROBLEMA: Para as estratégias de gráfico Renko (Bars Mode 0) e (Bars Mode 1 with wicks), usei o conversor CSV2FXT (da AZ INVEST) para gerar o arquivo FXT Backtest usando o backtester do Tick Data Suite, como se sabe, o script da Az Invest ( Link ) geram também um histórico Arquivo de dados para Renko Em seguida, importei para o StrategyQuant. Quando testei minhas estratégias no SQ, obtive bons resultados, mas quando testei no Metatrader, obtive resultados ruins no backtest de modelagem 99%.
- Existe alguma ideia do motivo?
- Existe alguma ideia de criar um EA para exportar barras fechadas para CSV (fazer um espelho do gráfico renko durante o backtest para dados CSV)?
Hi,
Conversei com Arthur (AZ-INVEST) sobre isso e ele me disse que não há nada que ele possa fazer, tudo depende da equipe de desenvolvimento da SQ,
Eu costumava usar os scripts do AZ-INVEST e gerar estratégias com base neles, mas todos os resultados são imprecisos,
Eu recomendaria que você usasse apenas os gráficos padrão até o lançamento do SQ4.
Karish
6 anos atrás #202896
Versão 1.8 (19.12.17):
- * Atualização dos loops de gerenciamento de pedidos e eliminação de um erro que impedia a tentativa correta de pedidos ao inundar o servidor do corretor.
- * Foram corrigidos mais alguns pequenos bugs.
---------
BAIXAR LINK:
https://drive.google.com/file/d/1FFCoLKFWdxpvGtgFoWDipm1Bu63Vb2gE/view
Karish
6 anos atrás #202980
Versão 1.9 (21.12.17):
- * Os loops de gerenciamento de pedidos foram atualizados novamente, os loops não estão funcionando como deveriam.
- * Descobriu-se um erro por padrão no código original, pois algumas estratégias não calculavam o preço de abertura da ordem da maneira correta,
Tentarei corrigi-lo no futuro, mas isso tem a ver apenas com o componente básico "TodayOpen",
não use esse componente básico até segunda ordem.
---------
BAIXAR LINK:
https://drive.google.com/file/d/1oA_-4q0NiEIvPDJChMGVQkQrOtQXOL5L/view
Karish
6 anos atrás #203240
Versão 2.0 (29.12.17):
- * Outro bug com o building block "ThisBarOpen": o uso desse building block causa resultados imprecisos entre SQ&MT4.
não use esse componente básico até segunda ordem. - * Foi corrigido um pequeno erro.
---------
BAIXAR LINK:
https://drive.google.com/file/d/18hrH6z0-RlRtN_d_uNsMW6zJEbtULR1G/view
jenial
6 anos atrás #203533
Obrigado, Karish, por essa ferramenta... você pode explicar como instalar?
Karish
6 anos atrás #203541
Obrigado, Karish, por essa ferramenta... você pode explicar como instalar?
A instalação é simples:
Solte as pastas do arquivo .rar na pasta "code" (código) do SQ, por exemplo: "C:\SQ Instances\SQ\code"
substituir os arquivos antigos pelos novos arquivos
*Não há necessidade de fechar/reiniciar nenhuma instância de SQ aberta que esteja em execução.
Aproveite.
Angel Talavera
6 anos atrás #232481
Obrigado, Karish, pela fantástica contribuição que está fazendo. Estou testando seu código modificado e tenho muitas coisas de que preciso. Tenho várias Eas no VPS e criei uma função para excluir todas as setas do gráfico. Seria possível modificar a função para que apenas as que entram e saem do mercado sejam mostradas? Algo como ver negociações verdadeiras / falsas extern bool:
Função:
//Excluir todos os gráficos de objetos
int totalObjects = ObjectsTotal();
for(int i=totalObjects - 1 ; i >= 0 ; i- ) {
ObjectDelete(ObjectName(i));
}
salvar memória do pc
https://angeltalavera.com
Karish
6 anos atrás #232484
Atualmente, estou esperando o SQ4, então não há motivo para modificar nada...
desenvolvedoralgo222
6 anos atrás #217917
Karish,
O código MagicNumber não parece funcionar no terminal MT4 real; ele exibe o valor máximo do MagicNumber
Magic #2147483647
desenvolvedoralgo222
6 anos atrás #217918
Esta publicação está aguardando moderação.
Karish,
O código MagicNumber não parece funcionar no terminal MT4 real; ele exibe o valor máximo do MagicNumber
Magic #2147483647
Consulte isto: deve funcionar
https://www.mql5.com/en/forum/141280