Respuesta

¿Documentación de la API de Java?

4 respuestas

Albert Rimm

Abonado, bbp_participant, 0 respuestas.

Visitar el perfil

hace 5 años #238874

 

En primer lugar, enhorabuena por tu trabajo. Actualmente soy más un investigador orientado a Java/Python, pero acabo de descubrir SQX porque un cliente mío me necesita para desarrollar su proyecto usando SQX y creo que es bastante interesante.

Sin embargo, me está resultando innecesariamente complejo hacerlo, simplemente porque no estoy encontrando ninguna documentación de la API, así que incluso comprobando bloques predefinidos similares a los que necesito implementar, sigo sin estar seguro del uso de cada método, anotación, clase...

Sólo como un par de ejemplos, en cuanto a las anotaciones o variables de métodos simples como "Calls" de IndicatorBlock, puedo entender más o menos su función, pero echo mucho de menos la documentación de la API para poder estar seguro del propósito de estos métodos, funciones, variables...

Entonces, para saber qué tan complejo/fácil va a ser implementar el proyecto de este cliente, y más allá de eso, para pensar en desarrollar en un futuro cercano otros proyectos en SQX en lugar de otras plataformas, me gustaría saber si existe documentación para este módulo específico de SQX (la API/codificación Java) y no he podido encontrarla o viene sin documentación. He leído en otros posts que la documentación sobre la API estaría disponible con esta última versión de SQX, si es así, ¿dónde podría encontrarla?

Gracias de antemano.

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 5 años #238895

Hola Albert,

Desafortunadamente, todavía estamos atrasados con la programación y la documentación de la API. Hay una breve guía en PDF Extending SQX, que se distribuye junto con SQ X, contiene howto's y ejemplos para las cosas más frecuentes, como la forma de añadir nuevos indicadores y métricas.

 

Hasta que hagamos eso, tal vez si te pones en contacto conmigo directamente podemos discutir cuál es exactamente tu objetivo y si y cómo se puede hacer con SQ, y lo complicado que sería. Te estoy enviando un PM con mi correo electrónico.

 

 

Mark
Arquitecto de StrategyQuant

0

kleva

Cliente, bbp_participant, comunidad, 15 respuestas.

Visitar el perfil

hace 4 años #240862

Hola, Mark,

mientras tanto me hice un poco "especialista" en la programación de mis propias extensiones SQX :). Pero desgraciadamente todo el contenido útil de "https://docs.strategyquant.com/api/*” fue borrado por ti de la www.

También si debe ser anticuado: ¿Podrías por favor proporcionar una copia comprimida de su antiguo contenido a gente como yo? Estoy seguro de que la mayor parte de ella (como la documentación completa de "SQTime.*" por ejemplo) será utilizable hasta hoy ... .

Muchas gracias de antemano por su ayuda,

saludos cordiales: kleva.

 

 

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 4 años #240876

Hola,

Me alegro mucho de que hayas podido ampliar SQ X con la documentación incompleta.

Aquí está el enlace a la documentación de la API recién generada: https://strategyquant.com/sqxapi/

Tenga en cuenta que sólo incluye las clases básicas que debe utilizar en Snippets, no las clases completas de todas nuestras bibliotecas.

 

Por favor, hágamelo saber si le falta algo.

 

También me ayudaría si puedo ver el tipo de extensiones que usted está haciendo, no sé si hay algunos "secretos comerciales", ¿no quieres compartir algunas de sus extensiones con otros usuarios a través de nuestro Base de código?

 

Si no quieres publicarlo, quizá puedas enviármelos por correo electrónico: envíame un mensaje y te daré mi dirección. Me ayudaría a entender con qué trabajas y qué tipo de apoyo necesitas.

Mark
Arquitecto de StrategyQuant

0

kleva

Cliente, bbp_participant, comunidad, 15 respuestas.

Visitar el perfil

hace 4 años #241110

Hola, Mark,

Perdón por la tardanza en la respuesta, estuve unas semanas sin venir (y se me olvidó poner el botón de "notificar")... .

Muchas gracias por el enlace a la nueva documentación de la API: ¡Es exactamente lo que estaba buscando :)!

Actualmente sigo siendo un "estudiante de SQX-Java". Pero estoy seguro, que publicaré alguna extensión practicable bajo "Codebase" más adelante, si está terminada.

Para que sepa mejor lo que estoy haciendo, aquí por ejemplo un bucle que estoy usando en un (martingala-como) MM-extensión. Calcula el "orderdayPipsPL" para el día ANTES del día real:

//—

orderdayPipsPL = 0; //cuando se llama a MM, tenemos que ponerlo a cero antes de que comience el bucle

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

if(!OrderFunctions.identify(order, Strategy, Symbol, 0, MagicNumber, Comment)) continue;

if(!order.isFilledOrder()) continue; // ignorar órdenes pendientes

if (order.isLong() || order.isShort())
{
orderTime = order.CloseTime;
if (order.isLong())
{
order.PipsPL = (float)Strategy.convertRealPriceToPips(Symbol, (order.ClosePrice - order.OpenPrice));
}
else if (order.isShort())
{
order.PipsPL = (float)Strategy.convertRealPriceToPips(Symbol, (order.OpenPrice - order.ClosePrice));
}
//—
if (orderTime >= todayStart && orderTime <= todayEnd) //estamos en el día actual
{
//nada que hacer
}
si no
{
if (orderdayStart==0 && orderdayEnd==0)
{
orderdayStart = SQTime.correctDayStart(orderTime);
orderdayEnd = SQTime.correctDayEndMT(orderTime);
orderdayLots = order.Size;
}
if (orderTime >= orderdayStart && orderTime <= orderdayEnd) //estamos en el día del pedido
{
orderdayPipsPL += order.PipsPL;
}
else if (orderdayPipsPL!=0) //ahora ya estamos antes del día de la orden
{
si (orden-díaPipsPL<0)
{
absSL = Strategy.convertRealPriceToPips(Symbol, (order.OpenPrice - order.StopLoss));
si (absSL<0) absSL = -absSL;

factor = -FactorSL * orderdayPipsPL / absSL;
if (factor<0) factor = -factor;
if (factor<MinLotsFactor) factor = MinLotsFactor;

tradeSize = orderdayLots * factor;
romper;
}
else if (orderdayPipsPL>0)
{
// nada que calcular
tradeSize = Math.min(LotsIfNoMM, MaxLots);
romper;
}
si no, romper;
}
}
}
}

//—

0

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)