In der realen Transaktion müssen wir manchmal die Ergebnisse der Transaktionen, die der Roboter durchführt, an WeChat, E-Mail, SMS usw. senden, um den Status der quantitativen Roboter-Transaktionen der Erfinder rechtzeitig zu erfahren. Aber hunderte verschiedene Informationen pro Tag machen diese Informationen unempfindlich und führen dazu, dass wichtige Informationen nicht rechtzeitig abgerufen werden können.
Die Nailhook-Roboter sind eine erweiterte Funktion, die nur dann genutzt werden kann, wenn eine Nail-Konto-Nummer vorhanden ist. Sie können Informationen von Drittanbietern in die Nailhook-Gruppe zusammengefügt und automatisch synchronisiert werden. Sie unterstützen den benutzerdefinierten Zugriff des Webhook-Protokolls, die durch die Erfindung von Quantitative Bots Informationen wie Warnungen, Alarme und andere Informationen in die Nailhook-Gruppe zusammengefügt. Der offizielle Link:https://ding-doc.dingtalk.com/doc#/serverapi2/ye8tup
Schritt 1: Gründung einer Nail- und Nailgruppe Jedes Mal, wenn eine benutzerdefinierte Botschaft erstellt wird, erzeugt sie eine einzigartige Hook-Adresse, die wir WebHook-Adressen nennen. Die Botschaft wird von der Hook-Gruppe empfangen, indem eine Nachricht an diese WebHook-Adresse gesendet wird.
Schritt 2: Fügen Sie Roboter hinzuKlicken Sie auf die Bildobjekte, wählen Sie Botmanagement, wählen Sie dann Custom, klicken Sie auf Add.
Nachdem wir eine Webhook-Adresse erhalten haben, können wir eine HTTP-POST-Anfrage an diese Adresse in der Inventor-Quantifizierungs-Politik starten, um Informationen an diese Nackengruppe zu senden. Beachten Sie, dass die Charaktersatz-Code auf UTF-8 gesetzt werden muss, wenn Sie eine POST-Anfrage starten.
import requests
import json
from datetime import datetime, timedelta, timezone
# 向钉钉群输出信息
def msg(text):
token ="0303627a118e739e628bcde104e19cf5463f61a4a127e4f2376e6a8aa1156ef1"
headers = {'Content-Type': 'application/json;charset=utf-8'} # 请求头
api_url = f"https://oapi.dingtalk.com/robot/send?access_token={token}"
json_text = {
"msgtype": "text", # 信息格式
"text": {
"content": text
}
}
# 发送并打印信息
Log(requests.post(api_url, json.dumps(json_text), headers=headers).content)
# 测试函数
def onTick():
arr = ['BTC', 'ETH', 'XRP', 'BCH', 'LTC'] # 主流数字货币
# 获取东八区时间
bj_dt = str(datetime.now().astimezone(timezone(timedelta(hours=8))))
bj_dt = bj_dt.split('.')[0] # 处理时间
text = f'{bj_dt}\n' # 定义信息内容
for i in arr: # 循环主流数字货币数组
exchange.IO("currency", f"{i}_USDT") # 切换交易对
ticker = exchange.GetTicker().Last # 获取最新价格
if i == 'LTC':
full = ' :'
else:
full = ':'
text = text + f"{i}/USDT{full}${ticker}\n" # 处理信息内容
msg(text) # 调用msg函数,输出信息
# 策略入口
def main():
while True: # 进入无线循环
onTick() # 执行onTick函数
Sleep(1000 * 60) # 休眠一分钟
Bei der Synchronisierung von Bots kann man die Telefonnummer von mehreren Gruppenmitgliedern mit @ synchronisieren. Ein @-Mitglied wird mit @-Meldungen alarmiert, wenn es diese Nachricht erhält.
# 向钉钉群输出信息
def msg(text):
token = "0303627a118e739e628bcde104e19cf5463f61a4a127e4f2376e6a8aa1156ef1"
headers = {'Content-Type': 'application/json;charset=utf-8'} # 请求头
api_url = f"https://oapi.dingtalk.com/robot/send?access_token={token}"
json_text = {
"msgtype": "text", # 信息格式
"text": {
"content": text
},
"at": {
"atMobiles": [
"16666666666", # 被@的手机号码
"18888888888" # 被@的手机号码
],
"isAtAll": False # 不@所有人
}
}
# 发送并打印信息
Log(requests.post(api_url, json.dumps(json_text), headers=headers).content)
In diesem Code haben wir ein Beispiel geschrieben, in dem wir alle Minute den Preis einer Mainstream-Kryptowährung abrufen und diese Informationen in die Nail-Cluster schieben:
Ich weiß.Das ist ein großes Problem, aber ich bin der Meinung, dass es nicht möglich ist, die Webhook-Funktionen zu verändern.
Die Wellen schwimmen.Kann man jetzt WeChat-Push-Verbindungen nutzen, wenn sie eingeschränkt sind?