Plugin ZagTrader pour Amibroker
Amibroker est connu pour sa puissante analyse technique et la grande précision de ses signaux automatiques d'achat et de vente. ZagTrader a créé un pont qui s'intègre à sa propre plateforme de gestion des ordres et peut générer et acheminer des ordres sur la base des signaux d'achat/de vente reçus via Amibroker, offrant ainsi une connectivité STP transparente et fiable avec le moteur ZagTrader.
ZagTrader permet d'accéder à une infrastructure fiable qui peut relier la technologie sophistiquée et primée d'AmiBroker, en faisant le lien entre le logiciel et ZagTrader.
Caractéristiques
- Conversion instantanée des signaux de trading en transactions pour plusieurs utilisateurs.
- Multi-marchés, multi-classes d'actifs, multi-devises
- Technologie de négociation de qualité institutionnelle
- Négociation à haute fréquence avec routage intelligent des ordres
- Graphiques et indicateurs techniques puissants
- Flux de données mondial
- Architecture multithread ultra-légère
- Outils de recherche avancée
- KYC / AML avec gestion avancée des risques
- Automatisation de l'accueil des clients
- Entièrement étiqueté en blanc
Quelques-uns des produits disponibles
- Les applications pour ordinateurs de bureau, tablettes et téléphones portables avec authentification à deux facteurs permettent aux traders de surveiller et de gérer en permanence les flux de transactions de manière totalement sécurisée.
- Entièrement intégré aux systèmes Front/Middle/Back office de ZagTrader et permettant l'intégration de systèmes externes existants ou de modules tiers.
- Workflow commercial avec limites d'utilisateurs, approbation et matrices d'autorité intégrées à la plateforme.
Avantages
- Haute performance
- Production de rapports à la demande avec le reporting dynamique
- Facilement intégrable
- Hautement évolutif
- Commerce neutre sur plusieurs réseaux de routage
Partie technique
Plugin ZagTrader
Il s'agit d'une interface entre AmiBroker et la plateforme ZagTrader. Cette passerelle automatise la plupart des tâches associées à la passation d'ordres d'achat ou de vente.
Répartition des avantages
Le scénario actuel : Les analystes techniques analysent un ou deux graphiques à la fois et doivent rester attentifs au moment où un signal d'achat ou de vente est généré. Une fois que vous voyez ce signal basé sur vos indicateurs, vous devez placer la transaction sur la plateforme de trading. Tout cela peut entraîner la perte d'un temps précieux et d'opportunités qui pourraient finalement décider si vous êtes un trader/investisseur prospère ou non.
Si vous avez une stratégie technique qui peut être mise sur papier - Par exemple, supposons que vous ayez une stratégie simple d'achat/vente sur le croisement de la moyenne mobile. Cette stratégie peut être très facilement mise en place sur AmiBroker en utilisant l'AFL (AmiBroker Formula Language). Une fois que vous avez créé l'AFL, vous pouvez le backtester sur AmiBroker et si vous êtes convaincu que la stratégie est rentable, vous pouvez la mettre en ligne. Vous pouvez également utiliser le screener pour découvrir, parmi les centaines de titres disponibles, ceux qui génèrent un signal d'achat ou de vente sur la base de votre formule. Parallèlement, vous pouvez appliquer la formule à autant de titres que vous le souhaitez. Vous pouvez également exécuter plusieurs formules sur plusieurs scripts en même temps, ce qui est humainement impossible à suivre. Ce que j'ai décrit jusqu'à présent est ce qui fait d'AmiBroker un outil très puissant à utiliser.
Le plugin de négociation permet à AmiBroker de franchir une étape supplémentaire et d'initier un ordre sur ZagTrader. Ainsi, par exemple, si vous exécutez la formule de la moyenne mobile sur 10 titres différents et que 2 titres donnent un signal d'achat, vous enverrez automatiquement des ordres à la plateforme de négociation avec votre taille d'ordre prédéfinie pour les 2 titres. Vous avez deux façons d'envoyer cet ordre, qui sera ensuite placé sur la bourse. Consultez nos vidéos pour savoir comment cela fonctionne.
Le processus de passation d'un ordre décrit ci-dessus est entièrement automatisé, ce qui signifie qu'il doit y avoir un processus pour définir un modèle de type pour passer l'ordre. Une fois que vous avez pleinement confiance dans le système et dans votre stratégie, ce processus peut être entièrement automatisé.
Avec
- Achat, vente, vente à découvert et couverture individuels
- Achat, vente, vente à découvert et couverture par plusieurs utilisateurs
- Panneau d'enregistrement et de commande intégré
- Toutes les fonctionnalités de ZagTrader (Gestion des risques, Algos, Gestion des ordres, Comptabilité...)
Installation
- .Net Framework 4.7.2 - Windows 10 l'a par défaut.
- AmiBroker
- ZagTrader Plugin Installer qui peut être récupéré sur le site web de ZagTrader.
- Compte ZagTrader
- Abonnement aux flux de données auprès de n'importe quel fournisseur
- Lors de la première exécution d'AmiBroker, une fenêtre contextuelle apparaît dans laquelle vous devez indiquer votre nom d'utilisateur, votre mot de passe, votre type d'utilisateur et le serveur de ZagTrader.
- Une fois le formulaire correctement rempli, vous recevrez un message "Logged in successfully" qui confirme la connectivité avec ZagTrader.
- AmiBroker se lance et vous êtes prêt à partir.
Modes de fonctionnement disponibles :
- Mode normal à utilisateur unique
- Mode stratégies larges (mode multi-utilisateurs)
Mode normal à utilisateur unique
Il s'agit du processus de placement d'ordres de base pour un seul utilisateur. Vous pouvez passer des ordres (achat, vente, couverture ou vente à découvert) pour un seul utilisateur en appelant la liste des fonctions :
- ZagBuy
- ZagSell
- ZagShort
- ZagCover
Vous devrez définir l'identifiant de l'utilisateur tel que défini dans la plateforme ZagTrader pour envoyer les ordres via le SGD de ZagTrader au marché spécifié.
user_ID = ParamStr("user_id", "xxxxxxxxxxxxxxx") ;
MySymbol = ParamStr("Symbol", "BANKNIFTY18DECFUT") ;
qty = Param("Quatity",10,0,50000,1) ;
placeordertype = ParamList("Place Order On", "Realtime|CandleCompletion",0) ;
ZagBuy(MySymbol , user_id, qty , Close[0]) ;
Nous avons préparé un exemple complet qui accompagne l'installation du plugin ZagTrader appelé "ButtonsExample"
Mode stratégies larges (mode multi-utilisateurs)
Avec ce mode, vous serez en mesure de placer plusieurs ordres pour plusieurs utilisateurs sur la base du même signal que vous avez reçu d'AmiBroker. Pour ce mode, nous disposons d'un autre ensemble de fonctions
- ZagStrategyBuy.
- ZagStrategySell.
- ZagStrategyShort.
- ZagStrategyCover.
SPeriod = 3;
LPeriod = 7;
placeordertype = ParamList("Place Order On","CandleCompletion|Realtime",0);
Statergy_Name = ParamStr("Name Of Brod Strategy","Intra") ;
Buy = Cross(EMA(C,SPeriod),EMA(C,LPeriod));
Sell = Cross(EMA(C,LPeriod),EMA(C,SPeriod));
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);
PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);
Plot(EMA(C,SPeriod),"EMA-7",colorRed,styleLine);
Plot(EMA(C,LPeriod),"EMA-21",colorblue,styleLine);
tn = TimeNum();
dn = DateNum();
DateCond = dn == LastValue(dn);// check if it is last day of array
SetOption("NoDefaultColumns", True );
if(placeordertype == "Realtime")
{
tn = TimeNum();
dn = DateNum();
DateCond = tn == LastValue(tn);// check if it is last day of array
Buy = Buy AND DateCond;
Sell = Sell AND DateCond;
Last_Occurred_SellSig = LastValue(Sell);
Last_Occurred_BuySig = LastValue(Buy);
AlgoNum = LastValue( TimeNum());
AddColumn( DateTime(), "Date", formatDateTime );
If ( Last_Occurred_BuySig )
{
AlgoBuy = 1 ;
ZagStrategyBuy(Statergy_Name);
}
If ( Last_Occurred_SellSig )
{
AlgoSell = 1 ;
ZagStrategySell(Statergy_Name);
}
AlgoSell = lastvalue(Ref(Sell,-1));
}
if(placeordertype == "CandleCompletion")
{
AlgoNum = LastValue( TimeNum());
AlgoBuy = lastvalue(Ref(Buy,-1));
AlgoSell = lastvalue(Ref(Sell,-1));
if ( AlgoBuy )
{
ZagStrategyBuy(Statergy_Name);
}
if ( AlgoSell )
{
ZagStrategySell(Statergy_Name);
}
}
Nous avons préparé un exemple complet qui accompagne l'installation du plugin ZagTrader appelé "BrodStrategiesExample"