Resposta

Documentação da API Java?

4 respostas

Albert Rimm

Assinante, bbp_participante, 0 respostas.

Perfil da visita

5 anos atrás #238874

 

Primeiramente, parabéns pelo seu trabalho. Atualmente, sou mais um pesquisador orientado a Java/Python, mas acabei de descobrir o SQX porque um cliente meu precisa que eu desenvolva seu projeto usando o SQX e acho que é bastante interessante.

No entanto, estou achando desnecessariamente complexo fazer isso, porque não estou encontrando nenhuma documentação da API, portanto, mesmo verificando blocos predefinidos semelhantes aos que preciso implementar, ainda não posso ter certeza do uso de cada método, anotação, classe...

Apenas como alguns exemplos, com relação às anotações ou variáveis de métodos simples, como "Calls" do IndicatorBlock, posso descobrir mais ou menos sua função, mas realmente sinto falta da documentação da API para ter certeza da finalidade desses métodos, funções, variáveis...

Então, para saber o quão complexo/fácil será implementar o projeto desse cliente, e além disso, para pensar em desenvolver em um futuro próximo outros projetos em SQX ao invés de outras plataformas, gostaria de saber se existe alguma documentação para esse módulo específico do SQX (a API/codificação Java) e não consegui encontrá-la ou ela vem sem documentação. Li em outros posts que a documentação sobre a API estaria disponível com essa última versão do SQX, se for esse o caso, onde posso encontrá-la?

Obrigado de antemão!

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

5 anos atrás #238895

Olá, Albert,

Infelizmente, ainda estamos atrasados com a programação e a documentação da API. Há um pequeno guia em PDF, Extending SQX, que é distribuído junto com o SQ X e contém instruções e exemplos para as coisas mais frequentes, como adicionar um novo indicador e métrica.

 

Até que façamos isso, talvez se você entrar em contato comigo diretamente, possamos discutir qual é exatamente o seu objetivo e se e como ele pode ser feito com o SQ, e quão complicado seria. Estou lhe enviando uma MP com meu e-mail.

 

 

Marcar
EstratégiaQuant arquiteto

0

kleva

Cliente, bbp_participante, comunidade, 15 respostas.

Perfil da visita

4 anos atrás #240862

Olá Mark,

Nesse meio tempo, tornei-me um pouco "especialista" na programação de minhas próprias extensões SQX :). Mas, infelizmente, todo o conteúdo útil do "https://docs.strategyquant.com/api/*” foi excluído por você da www.

E também se ele estiver desatualizado: Você poderia fornecer uma cópia zipada de seu conteúdo anterior para pessoas como eu? Tenho certeza de que a maior parte dele (como a documentação completa do "SQTime.*", por exemplo) pode ser usada até hoje...

Desde já, muito obrigado por sua ajuda,

Saudações: kleva.

 

 

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

4 anos atrás #240876

Olá,

Estou muito feliz por você ter conseguido estender o SQ X com a documentação incompleta.

Aqui está o link para a documentação da API recém-gerada: https://strategyquant.com/sqxapi/

Observe que ele inclui apenas as classes básicas que você deve usar nos Snippets, não as classes completas de todas as nossas bibliotecas.

 

Informe-me se estiver faltando alguma coisa.

 

Também me ajudaria se eu pudesse ver o tipo de extensões que você está fazendo, não sei se há alguns "segredos comerciais", você não quer compartilhar algumas de suas extensões com outros usuários por meio do nosso Codebase?

 

Se você não quiser publicá-lo, talvez possa enviá-lo para mim por e-mail - envie-me uma mensagem e eu lhe informarei meu endereço de e-mail. Isso me ajudaria a entender com o que você trabalha e de que tipo de suporte precisa.

Marcar
EstratégiaQuant arquiteto

0

kleva

Cliente, bbp_participante, comunidade, 15 respostas.

Perfil da visita

4 anos atrás #241110

Olá Mark,

Desculpe-me pela resposta tardia, estive ausente por algumas semanas (e esqueci de configurar o botão "notificar")... .

Muito obrigado pelo link para a nova documentação da API: Era exatamente o que eu estava procurando :)!

Atualmente, ainda sou um "estudante de SQX-Java". Mas tenho certeza de que publicarei alguma extensão viável em "Codebase" mais tarde, se ela for concluída.

Para que você saiba melhor o que estou fazendo, aqui está, por exemplo, um loop que estou usando em uma extensão MM (tipo martingale). Ele calcula o "orderdayPipsPL" para o dia ANTES do dia real:

//—

orderdayPipsPL = 0; //quando o MM é chamado, temos que zerá-lo antes do início do loop

for(int i=Strategy.Trader.getHistoryOrdersCount()-1; i>=0; i-)
{
order = Strategy.Trader.getHistoryOrder(i);

Se(!OrderFunctions.identify(order, Strategy, Symbol, 0, MagicNumber, Comment)) continuar;

if(!order.isFilledOrder()) continue; // ignore as ordens pendentes

Se (order.isLong() || order.isShort())
{
orderTime = order.CloseTime;
Se (order.isLong())
{
order.PipsPL = (float)Strategy.convertRealPriceToPips(Symbol, (order.ClosePrice - order.OpenPrice));
}
Caso contrário, se (order.isShort())
{
order.PipsPL = (float)Strategy.convertRealPriceToPips(Symbol, (order.OpenPrice - order.ClosePrice));
}
//—
if (orderTime >= todayStart && orderTime <= todayEnd) //estamos no dia atual
{
//nada a fazer
}
mais
{
se (orderdayStart==0 && orderdayEnd==0)
{
orderdayStart = SQTime.correctDayStart(orderTime);
orderdayEnd = SQTime.correctDayEndMT(orderTime);
orderdayLots = order.Size;
}
if (orderTime >= orderdayStart && orderTime <= orderdayEnd) //estamos no dia do pedido
{
orderdayPipsPL += order.PipsPL;
}
else if (orderdayPipsPL!=0) //agora já estamos antes do dia do pedido
{
Se (orderdayPipsPL<0)
{
absSL = Strategy.convertRealPriceToPips(Symbol, (order.OpenPrice - order.StopLoss));
Se (absSL<0) absSL = -absSL;

fator = -FactorSL * orderdayPipsPL / absSL;
Se (fator<0) fator = -fator;
Se (fator<MinLotsFactor) fator = MinLotsFactor;

tradeSize = orderdayLots * factor;
pausa;
}
Caso contrário, se (orderdayPipsPL>0)
{
// nada para calcular
tradeSize = Math.min(LotsIfNoMM, MaxLots);
pausa;
}
caso contrário, interrompa;
}
}
}
}

//—

0

Visualizando 4 respostas - 1 até 4 (de um total de 4)