Dans les transactions réelles, afin de connaître l'état de trading du robot FMZ Quant dans le temps, nous devons parfois envoyer les résultats des transactions exécutées par le robot à WeChat, e-mail, SMS, etc. Cependant, il y a des centaines de types d'informations différents chaque jour, ce qui le rend insensible à ces informations, ce qui conduit à l'échec de la collecte en temps opportun d'informations importantes.
Le robot de groupe Dingding est une fonction d'extension avancée. Tant qu'il y a un compte Dingding, vous pouvez l'utiliser. Il peut regrouper les informations de tiers dans le groupe Dingding pour obtenir une synchronisation automatique des informations. Il prend en charge l'accès personnalisé au protocole Webhook, et regroupe le rappel, l'alerte et d'autres informations dans le groupe Dingding via le robot FMZ Quant. Trois formats de message et cinq types de message sont pris en charge: texte, lien et réduction de marque. Le même message peut également être envoyé à plusieurs groupes Dingding en même temps. Consultez le lien officiel:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup
Chaque robot personnalisé créé dans le groupe Dingding générera une adresse de crochet unique, appelée une adresse WebHook. Le groupe Dingding recevra un message en poussant un message vers l'adresse WebHook. Prenons l'exemple de la version PC de Dingding. Tout d'abord, cliquez sur le signe
Cliquez sur l'avatar, sélectionnez Gestion des robots, puis sélectionnez Personnalisation, puis cliquez sur Ajouter.
Si elle n'est utilisée que pour rappeler ou alerter, sélectionnez le mot-clé défini par l'utilisateur. Le mot-clé que nous définissons ici est
Après avoir obtenu l'adresse Webhook, nous pouvons envoyer l'information au groupe Dingding en envoyant une requête HTTP POST à l'adresse dans la stratégie FMZ Quant.
import requests
import json
from datetime import datetime, timedelta, timezone
# Output information to Dingding group
def msg(text):
token ="0303627a118e739e628bcde104e19cf5463f61a4a127e4f2376e6a8aa1156ef1"
headers = {'Content-Type': 'application/json;charset=utf-8'} # Request header
api_url = f"https://oapi.dingtalk.com/robot/send?access_token={token}"
json_text = {
"msgtype": "text", # Message type
"text": {
"content": text
}
}
# Send and print messages
Log(requests.post(api_url, json.dumps(json_text), headers=headers).content)
# Test functions
def onTick():
arr = ['BTC', 'ETH', 'XRP', 'BCH', 'LTC'] # Mainstream digital currencies
# Get the time of East Zone 8
bj_dt = str(datetime.now().astimezone(timezone(timedelta(hours=8))))
bj_dt = bj_dt.split('.')[0] # Time of processing
text = f'{bj_dt}\n' # Define information content
for i in arr: # Loop mainstream digital currency array
exchange.IO("currency", f"{i}_USDT") # Switch trading pairs
ticker = exchange.GetTicker().Last # Get the latest price
if i == 'LTC':
full = ' :'
else:
full = ':'
text = text + f"{i}/USDT{full}${ticker}\n" # Processing information content
msg(text) # Call msg function to output information
# Strategy entrance
def main():
while True: # Enter infinite loop
onTick() # Execute onTick function
Sleep(1000 * 60) # Sleep for one minute
Lorsqu'un robot personnalisé synchronise des informations, il peut définir le numéro de téléphone mobile à @ plusieurs membres du groupe. Lorsque le membre du groupe reçoit le message, il y aura un rappel de message @. Le rappel sera toujours notifié même si la session de non-inquiétude est définie.
# Output information to Dingding group
def msg(text):
token = "0303627a118e739e628bcde104e19cf5463f61a4a127e4f2376e6a8aa1156ef1"
headers = {'Content-Type': 'application/json;charset=utf-8'} # Request header
api_url = f"https://oapi.dingtalk.com/robot/send?access_token={token}"
json_text = {
"msgtype": "text", # Message type
"text": {
"content": text
},
"at": {
"atMobiles": [
"16666666666", # Phone number of the @
"18888888888" # Phone number of the @
],
"isAtAll": False # Not @ Everyone
}
}
# Send and print messages
Log(requests.post(api_url, json.dumps(json_text), headers=headers).content)
Dans le code ci-dessus, nous avons écrit un cas pour obtenir le prix de la monnaie numérique traditionnelle toutes les minutes et envoyer ces informations au groupe Dingding: