Les ressources ont été chargées... Je charge...

Cadre stratégique et fonctions de l'API

Dans les stratégies écrites enJavaScript, Pythonetcpp, leSleep()Dans le trading en direct, il est utilisé pour contrôler les intervalles de polling de stratégie, et aussi contrôler la fréquence de demande d'accès à l'interface API de l'échange.

function onTick(){
    //Write strategy logic here, and it will be called constantly, such as printing ticker information
    Log(exchange.GetTicker())
}

function main(){
    while(true){
        onTick()
        // The function "Sleep" is mainly used to control the polling frequency of cryptocurrency strategies to prevent accessing the exchange API interafce too frequently
        Sleep(60000)
    }
}
def onTick():
    Log(exchange.GetTicker())

def main():
    while True:
        onTick()
        Sleep(60000)
void onTick() {
    Log(exchange.GetTicker());
}

void main() {
    while(true) {
        onTick();
        Sleep(60000);
    }
}

Exemples de cadres de base de stratégies de crypto-monnaie:

function onTick(){
    // It is just an example; for all the assets will be used to place orders fast during backtest or in live trading, do not implement the example in live trading
    exchange.Buy(100, 1)
}

function main(){
    while(true){
        onTick()
        // The pause period can be customized in millisecond (1 second = 1000 milliseconds)
        Sleep(1000)
    }
}
def onTick():
    exchange.Buy(100, 1)

def main():
    while True:
        onTick()
        Sleep(1000)
void onTick() {
    exchange.Buy(100, 1);
}

void main() {
    while(true) {
        onTick();
        Sleep(1000);
    }
}

Prenons l'exemple le plus simple, si je veux placer un ordre d'achat avec un prix de 100 et une quantité de 1 sur l'échange chaque seconde, je peux l'écrire comme ceci: Ce qui suit montre les fonctions d'API couramment utilisées dans le développement et la conception de stratégies.Manuel de l'API de la plateforme de négociation quantique FMZ.

Fonction globale

Nom de la fonction Une brève introduction
La version Retourne le
numéro de la version actuelle du système
Je dors. fonction de sommeil,
Paramètre est la valeur de millisecondes pour faire une pause
C' est virtuel Déterminer le

Environnement d'exécution, renvoie une valeur vraie pour indiquer un backtest l'environnement Je ne sais pas.Le courrierEnvoyez un courriel. Je ne sais pas.Mail_Go est en coursAsynchrone version de laMailfonctionnement Je ne sais pas.Régler le filtre d'erreurUne erreur de filtre logs, le paramètre est une chaîne d'expressions régulières, les logs d'erreur correspondant à cette expression régulière ne sera pas téléchargé dans le journal Le système. Je ne sais pas.GetPid- Prends le robot. Le processus ID. Je ne sais pas.Obtenez la dernière erreur- Prends le dernier. Un message d'erreur Je ne sais pas.Obtenez le commandementUne stratégie. les commandes d'interaction, les paramètres de stratégie de contrôle d'interaction peuvent être [contrôle d'interaction] Je ne sais pas.Obtenez MetaVous obtenez la valeur de Meta écrit lors de la génération du code d'enregistrement de la stratégie. Je ne sais pas.Faites le choix♪ Utilisé pour la matière première accès aux prises. Je ne sais pas.HttpQuery est une requêteEnvoyez une demande Http. Je ne sais pas.HttpQuery_Go est en cours de développementAsynchrone version de laHttpQueryfonctionnement Je ne sais pas.CodifierEncodage de données. fonctionnement Je ne sais pas.UnixNanoUne nanoseconde. Des horodatages. Je ne sais pas.Unix♪ Passez au deuxième niveau ♪ Des horodatages. Je ne sais pas.GetOSVous avez un système. Une information. Je ne sais pas.MD5Calculer le MD5 Je ne sais pas.DBExecUne base de données. les fonctions qui peuvent être utilisées pour exécuter des instructions SQL et effectuer Les opérations de base de données. Je ne sais pas.UUIDGénérez un UUID. Je ne sais pas.La boucle d'événementÉcoutez les événements et retourner après n'importe quel websocket est lisible ou des tâches simultanées telles queexchange.Go, HttpQuery_Go, etc. sont complétés, cette fonction est uniquement disponible pour les transactions en direct. Je ne sais pas._GEn sauvegardant constamment des données, Cette fonction implémente une fonction de dictionnaire global sauvegardable. structure est une table KV, qui est stockée dans la base de données locale du docker le fichier en permanence. Je ne sais pas.- Je ne sais pas.Le gestionnaire d'horodatage, les conversions Un objet d'heure ou de date en millisecondes dans une chaîne de temps. Je ne sais pas._ NFormer un point flottant le numéro, par exemple_N(3.1415, 2)supprimera la valeur de 3,1415 après deux décimales, et la fonction renvoie 3,14 Je ne sais pas._CEssayez à nouveau la fonction pour Il convient de noter que, par exemple, la tolérance à l'erreur pour Leexchange.GetTickerla fonction est_C(exchange.GetTicker)et non_C(exchange.GetTicker()) | | _CroixUne fonction de jugement croisé._Cross()La valeur de retour de la fonctions est un nombre positif indique la période de la pénétration ascendante, un nombre négatif indique la Le prix de l'échange est le prix de l'échange, et 0 est le prix actuel de l'échange. C'est la même chose. Je ne sais pas.JSONParseParser JSON, qui peut correctement analyser les chaînes JSON contenant des valeurs plus grandes, sera analyser plus grande les valeurs à un type de chaîne.JSONParse()fonction n'est pas prise en charge dans le système de backtesting.

Fonctions de journaux

Nom de la fonction Une brève introduction
Le journal Les journaux de sortie, prise en charge de la définition de la couleur du texte du journal, prise en charge de la définition de push, prise en charge de l'impression d'images après le codage base64
LogProfit Les données de P&L de sortie, les valeurs de P&L imprimées et les courbes de rendement graphiques basées sur les valeurs de P&L
LogProfitReset est débloqué. Vider leLogProfitles sorties des fonctions tous les journaux des résultats, graphiques des résultats
LogStatus Informations de sortie dans la barre d'état, prise en charge de la conception de commandes de boutons dans la barre d'état, prise en charge de la sortie de formulaires
Le logiciel est activé. Activer ou désactiver le journalisation des informations de commande
Graphique Fonctions de graphique, basées sur la bibliothèque de graphiques Highcharts/Highstocks
Le tableau KLine Fonction de dessin de style de langage Pine, qui est utilisée pour le dessin personnalisé à l'exécution de la stratégie en utilisant un style de dessin de langage de type Pine
LogReset (réinitialisation du journal) Suppression des journaux, prise en charge de la conservation d'un certain nombre de journaux récents via les paramètres
LogVacuum Récupérer les ressources SQLite pour récupérer l'espace de stockage occupé par SQLite lors de la suppression des données après avoir effacé le journal en appelant leLogReset()fonction
console.log Informations de débogage de sortie dans la colonne Information de débogage de la page de négociation en direct
console.error Les informations d'erreur sont affichées dans la colonne Information de débogage de la page de négociation en direct

Fonctions du ticker

Nom de la fonction Une brève introduction
exchange.GetTicker Je vous en prie.
la citation Tick
exchange.GetDepth Je vous en prie.
données de profondeur du carnet de commandes
exchange.GetTrades Je vous en prie.
données sur le chiffre d'affaires du marché
exchange.GetRecords Je vous en prie.
Données de ligne K
exchange.GetPeriod Je vous en prie.
la période K en cours
exchange.SetMaxBarLen
Réglage de la longueur maximale de la ligne K
exchange.GetRawJSON Je vous en prie.
le contenu brut renvoyé par la dernière demande de repos
exchange.GetRate Je vous en prie.
le taux de change fixé en cours
exchange.GetUSDCNY Je vous en prie.
le dernier taux de change USD/CNY
exchange.SetData Réglage
les données chargées lorsque la stratégie est en cours d'exécution
exchange.GetData Je vous en prie.
données chargées ou données fournies par des liens externes
exchange.GetMarkets Je vous en prie.
les informations sur le marché des changes
exchange.GetTickers Je vous en prie.
données de marché agrégées provenant de bourses

Fonctions de transaction

Nom de la fonction Une brève introduction
exchange.Buy Soumettre un ordre d'achat, les contrats à terme doivent faire attention à la direction de la transaction est réglée correctement, si la direction de la transaction et la fonction de la transaction ne correspondent pas, l'erreur sera signalée!
exchange.Sell Soumettre des ordres de vente, les contrats à terme lors de la passation des ordres doivent prêter attention à la direction de la transaction est réglée correctement, si la direction de la transaction et la fonction de la transaction ne correspondent pas, il signalera une erreur
exchange.CreateOrder Envoyer une commande et spécifier le type de transaction, la direction de la transaction, le prix et la quantité par le biais de paramètres
exchange.CancelOrder Annuler la commande
exchange.GetOrder Obtenez des informations de commande, la structure des données estLes ordresla structure
exchange.GetOrders Obtenez des commandes non remplies avec la structure des donnéesLes ordrestableau de structure (liste)
exchange.GetHistoryOrders Obtenir les ordres historiques de la paire et du contrat de négociation en cours; aider à spécifier des produits de négociation spécifiques
exchange.SetPrecision Réglez la précision du prix et de la quantité de commande de l'objet d'échange, après la réglage, le système ignorera automatiquement la redondance des données.
exchange.SetRate Définir le taux de change
exchange.IO Pour les autres appels d'interface liés aux objets d'échange
exchange.Log Sortie, enregistrement des journaux de transaction et ne pas passer de commande
exchange.Encode calcul du chiffrement de la signature
exchange.Go Fonctions de support asynchrone à plusieurs fils
exchange.GetAccount Obtenez les informations du compte
exchange.GetAssets Demande d'informations sur les actifs du compte de change
exchange.GetName Obtenir le nom de l'objet d'échange
exchange.GetLabel Obtenir l'étiquette de l'objet d'échange
exchange.GetCurrency Obtenez la paire de trading actuelle
exchange.SetCurrency Échange de paires de négociation
exchange.GetQuoteCurrency Obtenir le nom de la devise de la paire de négociation en cours

Fonctions futures

Nom de la fonction Une brève introduction
[exchange.GetPositions ((/syntaxe-guide#fun_exchange.getpositions) ] Je suis désolé pour ce que vous avez dit. Obtenez des positions futures avec la structure des donnéesPosition de l'appareiltableau de structure (liste)
exchange.SetMarginLevel Mettez le levier
exchange.SetDirection Fonction utilisée pour régler leexchange.Buyfonction,exchange.Sellfonction d'exécution de la direction de l'ordre d'ordre du contrat à terme
exchange.SetContractType Définir le code du contrat, par exemple:exchange.SetContractType("swap")fonction définit le code du contrat àswap, qui définit le contrat pour l' opération en cours comme un contrat perpétuel
exchange.GetContractType Obtenez le code de contrat actuel
exchange.GetFundings Obtenez les données actuelles sur les taux de financement des contrats perpétuels des marchés à terme

Fonctions du réseau

Nom de la fonction Une brève introduction
exchange.SetBase Définit l'adresse de base de l'interface Exchange API enveloppée
exchange.GetBase Obtenez l'adresse de base de l'interface API d'échange actuelle
exchange.SetProxy Configurez le proxy
exchange.SetTimeout Définir le délai de repos du protocole

JavaScript multi-threading

La plate-forme de négociation quantitative FMZ prend réellement en charge la fonction multi-threaded duJavaScriptLa stratégie linguistique est mise en place de bas en haut du système et vise à atteindre les objectifs suivants:

Objets Directions de conduite Les commentaires
filtrage Objet global à plusieurs fils Les fonctions des membres:Thread, getThread, mainThread, etc.
Le fil Objet de fil Les fonctions des membres:peekMessage, postMessage, join, etc.
Fermeture de fil Objet de verrouillage de fil Les fonctions des membres:acquire, release. Ils peuvent être passés dans l'environnement du thread en tant que paramètres de la fonction d'exécution du thread.
ThreadÉvénement Objet événement Les fonctions des membres:set, clear, wait, isSet. Ils peuvent être passés dans l'environnement du thread comme paramètre de la fonction d'exécution du thread.
ThreadCondition Objet de condition Les fonctions des membres:notify, notifyAll, wait, acquire, release. Ils peuvent être passés dans l'environnement du thread comme paramètre de la fonction d'exécution du thread.
ThreadDict Objet du dictionnaire Les fonctions des membres:get, set. Ils peuvent être passés dans l'environnement du thread en tant que paramètres de la fonction d'exécution du thread.

Manuel de syntaxe de la plateforme de trading quantique FMZ:JavaScript multi-threading

Le Web3

Nom de la fonction Une brève introduction
Je vous en prie. Enregistrement de l'ABI
Je vous en prie, échangez. Appel à la méthode Ethernet RPC
le code de l'échange.IO (((code,...) fonction de codage
Je ne suis pas d'accord. Fonction de codage encodée
l'échange.IO (( décodage ,...) fonction de décodage
Je ne sais pas si je peux le faire. Utilisé pour changer les clés privées
Je vous en prie. Méthodes d'invocation d'un contrat intelligent
le bureau de répartition. Obtenez l'adresse de portefeuille actuellement configurée
Les échanges.IO ((base,...) Configuration des nœuds RPC

Bibliothèque d'indicateurs TA

Nom de la fonction Une brève introduction
TA.MACD Calculer l'indicateur moyen de divergence lissée exponentielle
TA.KDJ Calcul des indicateurs stochastiques
TA.RSI Calculer l'indicateur de résistance
TA.ATR Calculer l'indicateur de volatilité réelle moyenne
TA.OBV Calcul des indicateurs de marée énergétique
TA.MA Calcul des indicateurs de moyenne mobile
TA.EMA Calcul des indicateurs des moyennes exponentielles
TA.BOLL Calculer l'indicateur de la bande de Bollinger
TA.Alligator Calculer l' indicateur de la ligne d' alligator
TA.CMF Calcul de l'indicateur Chaikin des flux de trésorerie
TA.Highest Calculer le prix maximal de la période
TA.Lowest Calcul du prix minimum de la période
TA.SMA Calculer les indicateurs de moyenne mobile simple

Talib Indicateur Bibliothèque

La bibliothèque d'indicateurs talib contient de nombreux indicateurs de trading, tels que:talib.CDL2CROWSVous pouvez aller au manuel de syntaxe pour plus de détails.

Fonctions d'entrée de stratégie Bibliothèques de modèles