¿Buscas el curso gratuito? Aquí lo tienes.
Tradestation - EasyLanguage
Uno de los aspectos que creo que tardamos en explotar de este lenguage es la Oritentación a Objetos. EasyLanguaje tiene algunas características de este tipo de lenguajes, aunque no todas.
¿Te has planteado cómo saber si una posición se ha abierto o se ha cerrado?
Puedes hacerlo consultando contínuamente el valor de Marketposition, pero esto no te va a dar la posibilidades de manejar varias posiciones.
Existe una clase PositionProvider que te facilitará el trabajo y te dará mucha información.
En la ayuda tenéis la información sobre ella: https://help.tradestation.com/10_00/eng/tsdevhelp/elobject/class/positionsprovider_class.htm
Para comenzar a utilizarla debéis crear una instancia de esta clase:
El primer valor es el ID de la cuenta, que podéis ponerlo a mano o lo podéis obtener con la función GetAccountID().
string AccountID (GetAccountID());
{ Añadimos el valor a nuestro PositionProvider }
PositionInfo.Accounts += AccountID;
Como véis utilizamos el operador "+=" esto es porque podemos añadir más de un identificador de cuenta para gestionarlas.
PositionInfo.Symbols += Symbol;
{ Pedimos que se ejecute en tiempo real }
PositionInfo.Realtime = true;
{ Habilitar la carga }
PositionInfo.Load = true ;
{ Definimos el método que queremos ejecutar cuando se produzca cualquier cambio }
PositionInfo.Updated += PositionUpdate ;
Nos falta declarar el método PositionUpdate, que se ejecutará cuando ocurra un cambio en las posiciones de las cuentas seleccionadas.
Los cambios pueden ser: Añadida, Eliminada, Actualizada, Inicializada. Esto lo podréis ver en la ayuda.
Por ejemplo, un método sencillo podría servir para llevar la cuenta de cuantas posiciones tenemos abiertas en una variable (lo que ya hace Marketposition) y además podríamos añadir cuantos contratos tenemos en total en estas posiciones.
Method void PositionUpdate( Object PositionInfoSender, PositionUpdatedEventArgs PositionInfoUpdateArgs ) begin if PositionInfo.Count > 0 then begin { Hacemos referencia a la primera cuenta del proveedor } ActualMP = PositionInfo[0].Quantity; end else ActualMP = 0 ; StrategyPosition = MarketPosition * CurrentShares; end;<br>
Espero que sea de ayuda.
Saludos.
Comentarios
-
Muchas gracias por el aporte, me hace gracia cuando dices un metodo sencillo , pero bueno supongo que leyendolo media docena de veces y trasteando en el easylenguage aprenderemos algo.
A efectos practicos esto para que sirve, para hacer referencia a tu cuenta y dimensionar las posiciones con arreglo al capital ,por ejemplo , o eso ya es otra cosa?1 -
Hola, te puede servir si quieres gestionar dos posicones abiertas y quieres saber cuál se ha cerrado, o tienes un un robot que puede abrir posiciones en símbolos distintos. Tamibién puedes limitar el total de contratos abiertos en un momento.
Casi todo se puede hacer con variables, pero siempre es recomendable usar las herramientas que nos aporta la plataforma.
Para los alumnos de este curso tiene una utilidad interesante, puedes usarla para guardar en un fichero el resultado de una operación al finalizar.
Saludos.1 -
Muchas gracias Manuel por el tremendo aporte!
Me he dado cuenta de que el editor que usábamos en el foro no funciona del todo bien con los códigos así que puse uno nuevo. Los posts antiguos siguen con el editor antiguo por compatibilidad pero los nuevos ya irán con el nuevo.
Diseñar e implementar ejemplos sencillos ayuda mucho a entenderlo :)
👌👌👌
0 -
Qué buen aporte Manuel!! A ver si me animo yo también a compartir.
🇪🇦
2 -
Muy buen aporte, se nota que manejas bien la programación. Otros nos estamos peleando ahora con lo básico, esperemos llegar pronto a ese nivel. Con paciencia y dedicación….
0 -
Todos tus post son super didácticos Manuel! Sigue así por favor! se aprende mucho de ellos! Como dice Enormi, para los que tenemos poco nivel de programación, cualquier ejemplo de alguien con más nivel nos es de gran ayuda! Gracias!
0
Categorías
- Todas las Categorías
- 19 Presentaciones
- 44 Nuestros sistemas (Curso gratuito)
- 68 Operativa y Sistemas de trading
- 14 Inversiones
- 11 Inteligencia Artificial y Optimización de Algoritmos
- 61 Plataformas
- 27 Programación e Inteligencia Artificial
- 20 Brokers
- 9 Bancos
- 23 Pruebas de fondeo
- 8 Psicología y Trading
- 6 Fiscalidad
- 85 Otros temas