Available translations





loading results
Webhook Notifications
Summary: Receive webhook notifications from other systems like Trading View, and use them as signals in your strategies.
Summary: Получайте уведомления по webhook от других систем, таких как Trading View, и используйте их в качестве сигналов в своих стратегиях.
Summary: Empfangen Sie Webhook-Benachrichtigungen von anderen Systemen wie Trading View und verwenden Sie sie als Signale in Ihren Strategien.
Overview
Обзор
Überblick
Superalgos allows you to receive webhook notifications from TradingView or any other system supporting webhooks. You may use this feature to turn notifications into signals upon which you may act from within your strategies.
Superalgos позволяет вам получать уведомления по webhook от TradingView или любой другой системы, поддерживающей webhooks. Вы можете использовать эту функцию для превращения уведомлений в сигналы, по которым вы можете действовать в своих стратегиях.
Superalgos ermöglicht es Ihnen, Webhook-Benachrichtigungen von TradingView oder jedem anderen System, das Webhooks unterstützt, zu empfangen. Sie können diese Funktion nutzen, um Benachrichtigungen in Signale zu verwandeln, auf die Sie innerhalb Ihrer Strategien reagieren können.
How does it Work?
Как это работает?
Wie funktioniert es?
- Receiving Data: the Client receives via it's http interface notifications from external sources (like Trading View) and keep the data received in-memory. This happens independently of the Webhooks Sensor Bot, meaning that it does not matter if the Webhook Sensor Bot is running or not.
- Получение данных: клиент получает через свой http-интерфейс уведомления из внешних источников (например, Trading View) и сохраняет полученные данные в памяти. Это происходит независимо от бота Webhooks Sensor Bot, то есть не имеет значения, запущен ли бот Webhooks Sensor Bot или нет.
- Datenempfang: Der Client empfängt über seine http-Schnittstelle Benachrichtigungen aus externen Quellen (wie Trading View) und speichert die empfangenen Daten im Speicher. Dies geschieht unabhängig vom Webhooks Sensor Bot, das heißt es spielt keine Rolle, ob der Webhook Sensor Bot läuft oder nicht.
- Retrieving Data: The Webhooks Sensor Bot, when it is running, queries the Client and ask it for the in-memory data it holds.
- Получение данных: Webhooks Sensor Bot, когда он запущен, запрашивает клиента и получает данные, хранящиеся в памяти.
- Abrufen von Daten: Wenn der Webhooks Sensor Bot läuft, fragt er den Client nach den im Speicher befindlichen Daten.
- Saving Data: The Webhooks Sensor Bot saves this data to disk.
- Сохранение данных: Webhooks Sensor Bot сохраняет эти данные на диск.
- Daten speichern: Der Webhooks Sensor Bot speichert diese Daten auf der Festplatte.
- Consuming Data: A Trading Bot running a Strategy, might consume the data saved by the Webhooks Sensor Bot.
- Использование данных: Торговый бот, запускающий стратегию, может потреблять данные, сохраненные ботом Webhooks Sensor Bot.
- Daten verbrauchen: Ein Trading Bot, der eine Strategy ausführt, kann die vom Webhooks Sensor Bot gespeicherten Daten verbrauchen.
The rest of this page describes the set up process and how to use webhook notifications from within Superalgos.
Остальная часть этой страницы описывает процесс настройки и как использовать уведомления webhook из Superalgos.
Der Rest dieser Seite beschreibt den Einrichtungsprozess und die Verwendung von Webhook-Benachrichtigungen innerhalb von Superalgos.
Set-up the Client for Webhooks
Настройка клиента для Webhooks
Einrichten des Clients für Webhooks
There is nothing to configure in order for the Client to receive webhooks calls from external systems. The only thing you might need to do is to change the http interface port number at the Environment.js file if and only if your signals provider has any constraints regarding the port number it can send the notifications to.
Для того чтобы клиент мог получать вызовы webhooks от внешних систем, ничего настраивать не нужно. Единственное, что вам может понадобиться сделать, это изменить номер порта http-интерфейса в файле Environment.js, и то только в том случае, если ваш поставщик сигналов имеет какие-либо ограничения относительно номера порта, на который он может отправлять уведомления.
Run a Quick Local Test
Проведите быстрый локальный тест
Führen Sie einen schnellen lokalen Test durch
Before setting up the actual signal at the corresponding provider, you may run a quick local test that will help you familiarize with how Superalgos handles webhooks.
Перед настройкой реального сигнала у соответствующего провайдера вы можете провести быстрый локальный тест, который поможет вам ознакомиться с тем, как Superalgos работает с webhook.
Bevor Sie das eigentliche Signal beim entsprechenden Anbieter einrichten, können Sie einen schnellen lokalen Test durchführen, der Ihnen hilft, sich mit dem Umgang von Superalgos mit Webhooks vertraut zu machen.
In the crypto ecosystem node menu, select Add Signals Providers. A structure of nodes is added with a signals provider node that allows you to run a little test. Select Configure Signals Provider on the menu.
В меню узла Crypto Ecosystem выберите Add Signals Providers. В структуру узлов добавляется узел провайдера сигналов, который позволяет провести небольшой тест. В меню выберите Configure Signals Provider.
Wählen Sie im Knotenmenü des Krypto-Ökosystems die Option Add Signals Providers. Es wird eine Knotenstruktur mit einem Signals Provider-Knoten hinzugefügt, mit dem Sie einen kleinen Test durchführen können. Wählen Sie Configure Signals Provider im Menü.
{
"webhookURL": "Webhook/New-Message/Trading-View/binance/BTC-USDT",
"testMessage": ""
}- webhookURL: This is the URL you need to use for testing purposes. Make sure you refer to the correct exchange and market. Something very similar to this, you will configure later at Trading View or other Signal Provider.
- webhookURL: Это URL, который необходимо использовать для тестирования. Убедитесь, что вы ссылаетесь на правильную биржу и рынок. Что-то очень похожее на это, вы настроите позже в Trading View или другом поставщике сигналов.
- webhookURL: Dies ist die URL, die Sie zu Testzwecken verwenden müssen. Vergewissern Sie sich, dass Sie auf die richtige Börse und den richtigen Markt verweisen. Etwas sehr ähnliches werden Sie später bei Trading View oder einem anderen Signalanbieter konfigurieren.
- testMessage: Enter any message, for testing purposes. This message will be what you will use at your Trading System conditions to know which type of signal you received.
- testMessage: Введите любое сообщение для тестирования. Это сообщение будет тем, что вы будете использовать в условиях вашей торговой системы, чтобы знать, какой тип сигнала вы получили.
- testMessage: Geben Sie eine beliebige Nachricht zu Testzwecken ein. Diese Nachricht werden Sie unter den Bedingungen Ihres Handelssystems verwenden, um zu wissen, welche Art von Signal Sie erhalten haben.
testMessage Examples
Примеры testMessage
BUY SELL TRIGGER ON TRIGGER OFF TAKE POSITION Send the Test Message to the Client
Отправьте тестовое сообщение на Client
Senden Sie die Testnachricht an den Client
Once the test message is configured, select Send Test Message on the menu.
После того как тестовое сообщение настроено, выберите в меню пункт Send Test Message (Отправить тестовое сообщение).
Sobald die Testnachricht konfiguriert ist, wählen Sie im Menü Testnachricht senden.
Tip: By doing this, you are simulating being Trading View's server and sending the message in the exact same way they would do it, to the Superalgos Client you are running.
Tip: Делая это, вы имитируете, что являетесь сервером Trading View и отправляете сообщение точно так же, как это бы сделал он, на запущенный вами Superalgos Client.
Tip: Auf diese Weise simulieren Sie, dass Sie der Server von Trading View sind und die Nachricht genau so an den Superalgos-Client senden, wie dieser es tun würde.
The Client does not know you are sending a Test Message, and it does not know it is you and not the real Trading View. For the Client's point of view someone sent a Webhook message to it and it will do with it what it will do with any other message of this type. Store it in-memory waiting for the Webhook Sensor Bot to fetch the pending messages, in which case the Client will delete them upon delivery to the Sensor Bot.
Client не знает, что вы отправляете тестовое сообщение, и он не знает, что это вы, а не реальное торговое предложение. С точки зрения клиента, кто-то послал ему Webhook-сообщение, и он будет делать с ним то же самое, что и с любым другим сообщением такого типа. Хранить его в памяти, ожидая, пока бот Webhook Sensor Bot не получит ожидающие сообщения, и в этом случае Client удалит их после доставки боту Sensor Bot.
Der Client weiß nicht, dass Sie eine Testnachricht senden, und er weiß nicht, dass Sie es sind und nicht die echte Handelsansicht. Aus Sicht des Clients hat jemand eine Webhook-Nachricht an ihn geschickt, und er wird mit ihr tun, was er mit jeder anderen Nachricht dieses Typs tun würde. Er speichert sie im Speicher und wartet darauf, dass der Webhook-Sensor-Bot die ausstehenden Nachrichten abruft; in diesem Fall löscht der Client sie nach der Zustellung an den Sensor-Bot.
Note: At the Signals Provider node you will see a message of failure or success depending if the message was successfully delivered to the Client or not.
Note: На узле Signals Provider вы увидите сообщение о неудаче или успехе в зависимости от того, было ли сообщение успешно доставлено клиенту (Client) или нет.
Note: Am Signals Provider wird eine Fehler- oder Erfolgsmeldung angezeigt, je nachdem, ob die Nachricht erfolgreich an den Client übermittelt wurde oder nicht.
Note: At the Client's console, you will see 3 lines of logs, acknowledging that the message was received or if something was wrong, an error message with the cause.
Note: На консоли клиента вы увидите 3 строки журнала, подтверждающие, что сообщение было получено, или, если что-то было не так, сообщение об ошибке с указанием причины.
Note: Auf der Konsole des Clients sehen Sie 3 Zeilen mit Protokollen, die bestätigen, dass die Nachricht empfangen wurde, oder, falls etwas nicht in Ordnung war, eine Fehlermeldung mit der Ursache.
The success logs looks like this:
В журнале сообщение об успехе выглядит следующим образом:
Das funktionierende Protokoll sieht wie folgt aus:
[INFO] httpInterface -> Webhook -> New-Message -> Exchange-Market = binance-BTC-USDT
[INFO] httpInterface -> Webhook -> New-Message -> messageReceived = Sell
[INFO] httpInterface -> Webhook -> New-Message -> Messages waiting to be Fetched by Webhooks Sensor Bot = 1 Set-up the Webhooks Sensor Bot Tasks
Настройка задач Webhooks Sensor Bot
Einrichten der Webhooks Sensor Bot Tasks
The Webhooks Data Mine features the definition of the Webhooks sensor bot used to monitor incoming notifications. You need to run an instance of this bot in the data mining section of the exchange and market of your choice.
В Webhooks Data Mine представлено определение бота Webhook Sensor Bot, используемого для мониторинга входящих уведомлений. Вам необходимо запустить экземпляр этого бота в разделе добычи данных на выбранной вами бирже и рынке.
Die Webhooks-Data-Mine enthält die Definition des Webhooks-Sensor-Bots, der zur Überwachung eingehender Benachrichtigungen verwendet wird. Sie müssen eine Instanz dieses Bots im Data-Mining-Bereich der Börse und des Marktes Ihrer Wahl ausführen.
The Getting-Started-Tutorials workspace does not have this Data Mine as a plugin so you will need to add it first. To do that locate the Plugins node, expand it and at the Plugins Data Mines add a New Plugin File. You can setup it's configuration like this:
В рабочем пространстве Getting-Started-Tutorials нет этого Data Mine в качестве плагина, поэтому сначала его нужно добавить. Для этого найдите узел Plugins, раскройте его и в Plugins Data Mines добавьте New Plugin File. Вы можете настроить его конфигурацию следующим образом:
Im Arbeitsbereich der Getting-Started-Tutorials ist dieses Data Mine nicht als Plugin vorhanden, so dass Sie es zunächst hinzufügen müssen. Suchen Sie dazu den Knoten Plugins, erweitern Sie ihn und fügen Sie bei den Plugins Data Mines eine neue Plugin-Datei hinzu. Sie können die Konfiguration wie folgt vornehmen:
{
"project": "Foundations",
"fileName": "Webhooks",
"folderName": "Data-Mines",
"nodeType": "Data Mine",
"saveWithWorkspace": false
} The default workspace does not feature these tasks. To create a task for the Webhooks sensor bot, you need to uninstall and re-install the corresponding market. The process of installing a market adds all the tasks needed to run all the bots defined at all Data Mines present at the workspace.
В рабочем пространстве по умолчанию эти задачи отсутствуют. Чтобы создать задачу для Webhook Sensor Bot, необходимо удалить и заново установить соответствующий рынок. Процесс установки рынка добавляет все задачи, необходимые для запуска всех ботов, определенных на всех Data Mine, присутствующих в рабочем пространстве.
Der Standardarbeitsbereich enthält diese Aufgaben nicht. Um eine Aufgabe für den Webhooks-Sensor-Bot zu erstellen, müssen Sie den entsprechenden Markt deinstallieren und neu installieren. Bei der Installation eines Marktes werden alle Aufgaben hinzugefügt, die für die Ausführung aller Bots erforderlich sind, die in allen Data Mines des Arbeitsbereichs definiert sind.
Tip: Once the Webhooks sensor task is set up, you are all set at the application level. It’s that simple.
Tip: После настройки задачи сенсора Webhooks все готово на уровне приложения. Все очень просто.
Tip: Sobald die Webhooks-Sensoraufgabe eingerichtet ist, sind Sie auf der Anwendungsebene startklar. So einfach ist das.
Running the Webhooks Sensor Bot
Запуск бота Webhooks Sensor Bot
Ausführen des Webhooks Sensor Bot
Now that you have verified that the Client is receiving the signal messages and storing them for you, the next thing to do is to run the Webhooks Sensor Bot so that it fetches the signals from the Client and saves them on disk in the format that later can be consumed from strategies.
Теперь, когда вы убедились, что клиент получает сигнальные сообщения и сохраняет их для вас, следующее, что нужно сделать, это запустить Webhooks Sensor Bot, чтобы он получал сигналы от клиента и сохранял их на диске в формате, который позже можно будет использовать в стратегиях.
Nachdem Sie nun sichergestellt haben, dass der Client die Signalnachrichten empfängt und für Sie speichert, müssen Sie als Nächstes den Webhooks-Sensor-Bot ausführen, damit er die Signale vom Client abruft und sie auf der Festplatte in einem Format speichert, das später von Strategien konsumiert werden kann.
By default, this bot will run every 30 seconds. Each time it runs you will see logs entries at the Client's console similar to this:
По умолчанию этот бот будет запускаться каждые 30 секунд. Каждый раз, когда он запускается, вы увидите в консоли клиента записи журналов, похожие на эти:
Standardmäßig wird dieser Bot alle 30 Sekunden ausgeführt. Jedes Mal, wenn er ausgeführt wird, sehen Sie in der Client-Konsole ähnliche Protokolleinträge wie diesen:
2021-03-10T09:57:40.111Z Binance BTC/USDT Masters Webhooks Check-Webhook Main Loop # 3
[INFO] httpInterface -> Webhook -> Fetch-Messages -> Exchange-Market = binance-BTC-USDT
[INFO] httpInterface -> Webhook -> Fetch-Messages -> Messages Fetched by Webhooks Sensor Bot = 0 Send Test Messages while Sensor Bot is Running
Отправка тестовых сообщений во время работы сенсорного бота
Senden von Testnachrichten bei laufendem Sensor-Bot
Now that you know how to send test messages, try doing that while the Sensor Bot is running. By looking at the Client's console you will be able to see what is going on:
Теперь, когда вы знаете, как отправлять тестовые сообщения, попробуйте сделать это во время работы Sensor Bot. Посмотрев на консоль клиента, вы сможете увидеть, что происходит:
Da Sie nun wissen, wie Sie Testnachrichten senden können, versuchen Sie dies, während der Sensor Bot läuft. In der Konsole des Clients können Sie sehen, was vor sich geht:
- The Client accumulates the signals received.
- Client накапливает полученные сигналы.
- Der Client sammelt die empfangenen Signale.
- The Sensor Bot fetches all the accumulated signals every time it runs.
- Sensor Bot собирает все накопленные сигналы при каждом запуске.
- Der Sensor Bot holt alle gesammelten Signale jedes Mal ab, wenn er läuft.
In the example below I sent 3 signal messages from the UI to the Client, and then the Sensor Bot fetch them all.
В примере ниже я отправил 3 сигнальных сообщения из UI на Client, а затем Sensor Bot их все получил.
Im folgenden Beispiel habe ich 3 Signalmeldungen von der Benutzeroberfläche an den Client gesendet, und der Sensor Bot hat sie alle abgeholt.
[INFO] httpInterface -> Webhook -> New-Message -> Exchange-Market = binance-BTC-USDT
[INFO] httpInterface -> Webhook -> New-Message -> messageReceived = Sell
[INFO] httpInterface -> Webhook -> New-Message -> Messages waiting to be Fetched by Webhooks Sensor Bot = 1
[INFO] httpInterface -> Webhook -> New-Message -> Exchange-Market = binance-BTC-USDT
[INFO] httpInterface -> Webhook -> New-Message -> messageReceived = Sell
[INFO] httpInterface -> Webhook -> New-Message -> Messeges waiting to be Fetched by Webhooks Sensor Bot = 2
[INFO] httpInterface -> Webhook -> New-Message -> Exchange-Market = binance-BTC-USDT
[INFO] httpInterface -> Webhook -> New-Message -> messageReceived = Sell
[INFO] httpInterface -> Webhook -> New-Message -> Messeges waiting to be Fetched by Webhooks Sensor Bot = 3
2021-03-10T10:04:40.472Z Binance BTC/USDT Masters Webhooks Check-Webhook Main Loop # 17
[INFO] httpInterface -> Webhook -> Fetch-Messages -> Exchange-Market = binance-BTC-USDT
[INFO] httpInterface -> Webhook -> Fetch-Messages -> Messeges Fetched by Webhooks Sensor Bot = 3 Webhooks Sensor Bot Output
Вывод данных Webhooks Sensor Bot
Webhooks Sensor Bot Ausgabe
The Webhooks sensor bot outputs a single file, Data.json, in the following location:
Webhooks Sensor Bot выводит один файл Data.json в следующем месте:
Der Webhooks-Sensor-Bot gibt eine einzelne Datei, Data.json, an folgendem Speicherort aus:
Data-Storage\Project\Superalgos\Data-Mine\Masters\Webhooks\Exchange-Id\Market\Output\External-Signals\Single-File
Based on our tests, the location you would find the file would be:
Согласно нашим тестам, файл можно найти в следующем месте:
Unsere Tests haben ergeben, dass Sie die Datei an folgender Stelle finden würden:
Data-Storage\Project\Superalgos\Data-Mine\Masters\Webhooks\binance\BTC-USDT\Output\External-Signals\Single-File You may open the file and see if the content corresponds to what is expected.
Вы можете открыть файл и посмотреть, соответствует ли его содержимое ожидаемому.
Sie können die Datei öffnen und prüfen, ob der Inhalt dem entspricht, was Sie erwarten.
Note: Make sure the Webhooks sensor bot task is running. The process is configured to run every 30 seconds by default. If that time has passed, you should find the messages you may have sent.
Note: Убедитесь, что задача Webhooks Sensor Bot запущена. По умолчанию этот процесс настроен на выполнение каждые 30 секунд. Если это время прошло, вы должны найти сообщения, которые вы отправили.
Note: Stellen Sie sicher, dass die Webhooks-Sensor-Bot-Aufgabe läuft. Der Prozess ist so konfiguriert, dass er standardmäßig alle 30 Sekunden ausgeführt wird. Wenn diese Zeit verstrichen ist, sollten Sie die Nachrichten finden, die Sie möglicherweise gesendet haben.
This is what the file may look like after the 3 test messages we sent:
Вот как может выглядеть файл после отправки 3 тестовых сообщений:
So könnte die Datei nach den 3 gesendeten Testnachrichten aussehen:
[[1615370665064,"Trading-View","Sell"],[1615370665655,"Trading-View","Sell"],[1615370666472,"Trading-View","Sell"]]
As per the record definition of the Webhooks sensor bot in the Masters data mine, each record in the file features three fields:
Согласно определению записи Webhooks Sensor Bot в Masters Data Mine, каждая запись в файле содержит три поля:
Gemäß der Datensatzdefinition des Webhooks-Sensor-Bots in der Masters-Datenmine weist jeder Datensatz in der Datei drei Felder auf:
- timestamp: the Unix datetime of the message. This is the moment in time the Client received the signal from the external Signals provider.
- timestamp (временная метка): датировка сообщения в Unix. Это момент времени, когда Client получил сигнал от внешнего поставщика сигналов.
- Zeitstempel: die Unix-Datumszeit der Nachricht. Dies ist der Zeitpunkt, zu dem der Client das Signal von dem externen Signalanbieter erhalten hat.
- source: the name of the Signal Provider. This comes as part of the message sent by the provider, because is part of the URL you will specify later at the Signal Provider's system. In our example we used Trading View, but in fact it could be any other provider. You will have this property available at your Trading System, meaning that you will be able to write conditions that distinguish the signal by Signal Provider.
- source: имя поставщика сигналов. Оно входит в сообщение, отправляемое провайдером, поскольку является частью URL, который вы позже укажете в системе провайдера сигналов (Signal Provider). В нашем примере мы использовали Trading View, но на самом деле это может быть любой другой провайдер. Это свойство будет доступно в вашей торговой системе, что означает, что вы сможете написать условия, которые различают сигнал по поставщику сигнала.
- Quelle: der Name des Signalanbieters. Dieser Name ist Teil der Nachricht, die vom Signalanbieter gesendet wird, da er Teil der URL ist, die Sie später im System des Signalanbieters angeben werden. In unserem Beispiel haben wir Trading View verwendet, aber es könnte auch jeder andere Anbieter sein. Sie werden diese Eigenschaft in Ihrem Handelssystem zur Verfügung haben, das heisst Sie werden in der Lage sein, Bedingungen zu schreiben, die das Signal nach Signalanbieter unterscheiden.
- message: the message set up at the provider’s system (BUY, SELL, etc.).
- message: сообщение, установленное в системе провайдера (BUY, SELL и т.д.).
- Nachricht: die im System des Anbieters eingestellte Nachricht (BUY, SELL, etc.).
Using Webhooks Signals from within Strategies
Использование сигналов Webhooks внутри стратегий
Verwendung von Webhooks-Signalen innerhalb von Strategien
You may use each of the three available properties with the following syntax:
Вы можете использовать каждое из трех доступных свойств со следующим синтаксисом:
Sie können jede der drei verfügbaren Eigenschaften mit der folgenden Syntax verwenden:
chart.atAnyTimeFrame.externalSignal.timestamp chart.atAnyTimeFrame.externalSignal.source chart.atAnyTimeFrame.externalSignal.message For example, a simple condition evaluating to
true when a the last message received is a buy signal from TradingView would look like this: Например, простое условие, возвращающее значение
true, когда последнее полученное сообщение является сигналом на покупку от TradingView, будет выглядеть следующим образом: Eine einfache Bedingung, die auf
true ausgewertet wird, wenn die letzte empfangene Nachricht ein Kaufsignal von TradingView ist, würde zum Beispiel so aussehen: chart.atAnyTimeFrame.externalSignal.source === "Trading-View" &&
chart.atAnyTimeFrame.externalSignal.message === "BUY" You may also use the previous property to check the previous message, as follows:
Вы также можете использовать свойство previous для проверки предыдущего сообщения, как показано ниже:
Sie können auch die Eigenschaft previous verwenden, um die vorherige Nachricht zu überprüfen:
chart.atAnyTimeFrame.externalSignal.previous.message === "BUY" It may be wise to verify the date of the message, or to check if the message corresponds to a certain time frame. To do that, you may use the
isItInside function as follows: Может быть целесообразно проверить дату сообщения или проверить, соответствует ли сообщение определенному таймфрейму. Для этого можно использовать функцию
isItInside следующим образом: Es kann sinnvoll sein, das Datum der Nachricht zu überprüfen, oder zu kontrollieren, ob die Nachricht einem bestimmten Zeitraum entspricht. Zu diesem Zweck können Sie die Funktion
isItInside wie folgt verwenden: isItInside(chart.atAnyTimeFrame.externalSignal, chart.at01hs.candle) In the above example, the first parameter
chart.atAnyTimeFrame.externalSignal is the signal object you wish to check, and the second parameter chart.at01hs.candle is any other object that is delimited in time. In this case, the condition validates true if the last message falls within the last 1-hour candle. В приведенном выше примере первый параметр
chart.atAnyTimeFrame.externalSignal - это объект сигнала, который вы хотите проверить, а второй параметр chart.at01hs.candle - это любой другой объект, разграниченный во времени. В данном случае условие принимает значение true, если последнее сообщение попадает в последнюю 1-часовую свечу. Im obigen Beispiel ist der erste Parameter
chart.atAnyTimeFrame.externalSignal das Signalobjekt, das Sie überprüfen möchten, und der zweite Parameter chart.at01hs.candle ein beliebiges anderes Objekt, das zeitlich begrenzt ist. In diesem Fall gilt die Bedingung als erfüllt, wenn die letzte Nachricht in die letzte 1-Stunden-Kerze fällt. Warning: The reason to make this validation is to avoid situations where the Webhook sensor bot was not running and it retrieved from the Client signals that are already old. If you do not check the age of the signal you might get into the situation where you are triggering a buy or sell based on old data.
Warning: Эта проверка необходима для того, чтобы избежать ситуаций, когда Webhook Sensor Bot не был запущен и получал от клиента сигналы, которые уже устарели. Если вы не проверите возраст сигнала, вы можете попасть в ситуацию, когда срабатывает покупка или продажа на основании старых данных.
Warning: Der Grund für diese Validierung ist, dass Situationen vermieden werden sollen, in denen der Webhook-Sensor-Bot nicht läuft und vom Client Signale abruft, die bereits alt sind. Wenn Sie das Alter des Signals nicht überprüfen, könnten Sie in die Situation kommen, dass Sie einen Kauf oder Verkauf auf der Grundlage alter Daten auslösen.
Test that the Signal is Taken by your Strategy
Проверьте, что сигнал принят вашей стратегией
Testen Sie, ob das Signal von Ihrer Strategie verarbeitet wird
We will make ourselves sure that from within a strategy we can react to an external Signal. To test this, please take the following steps. All of the following goes into the current Lighting Strike Backtesting Session / Task.
Убедимся, что изнутри стратегии мы можем реагировать на внешний сигнал. Чтобы проверить это, выполните следующие действия. Все перечисленное ниже входит в текущую сессию/задачу бэктестинга Lighting Strike.
Wir werden uns vergewissern, dass wir innerhalb einer Strategie auf ein externes Signal reagieren können. Um dies zu testen, führen Sie bitte die folgenden Schritte aus. Alle folgenden Schritte werden in der aktuellen Lighting Strike Backtesting Session / Task durchgeführt.
Paper Trading Session
Сессия бумажной торговли
Right click over the Backtesting Session node and select switch to Paper Trading so that we can simulate live trading without connecting to the exchange.
Щелкните правой кнопкой мыши на узле Backtesting Session и выберите switch to Paper Trading, чтобы мы могли имитировать реальную торговлю без подключения к бирже.
Klicken Sie mit der rechten Maustaste auf den Knoten Backtesting Session und wählen Sie Switch to Paper Trading, damit wir den Live-Handel simulieren können, ohne eine Verbindung zur Börse herzustellen.
Set-up Session Parameters
Настройка параметров сеанса
Session-Parameter einrichten
Since you have reinstalled the market in order for the task of the Webhooks bot to appear at the Master Trading Mine Tasks, the setup for the Lighting Strike strategy needs to be fixed. (Assuming you are at the Getting Started Workspace). This is what we are going to do:
Поскольку вы переустановили рынок, чтобы задача бота Webhooks появилась в Master Trading Mine Tasks, необходимо исправить настройку для стратегии Lighting Strike. (Предполагается, что вы находитесь в рабочем пространстве Getting Started Workspace). Вот что мы собираемся сделать:
Da Sie den Markt neu installiert haben, damit die Aufgabe des Webhooks-Bots in den Master Trading Mine Tasks erscheint, muss das Setup für die Lighting Strike-Strategie korrigiert werden. (Vorausgesetzt, Sie befinden sich im Arbeitsbereich "Erste Schritte"). Dies werden wir jetzt tun:
Apply this config to your Session Base Asset
Примените эту конфигурацию к Session Base Asset
Wenden Sie diese Konfiguration auf Ihr Session Base Asset an
{
"initialBalance": 0
} Apply this config to the Session Quoted Asset
Примените эту конфигурацию к Session Quoted Asset
Diese Konfiguration auf das Asset "Session Quoted" anwenden
{
"initialBalance": 1
} Apply this config to the Time Range
Примените эту конфигурацию к Time Range
Diese Konfiguration auf den Zeitbereich anwenden
{
"initialDatetime": "2020-09-01",
"finalDatetime": "2030-09-02"
} The
initialDatetime will be ignored because we are running a Paper Trading Session. The important thing is that the finalDatetime is in the future. InitialDatetime будет игнорироваться, поскольку мы запускаем бумажную торговую сессию. Важно, чтобы конечное время (
finalDatetime) находилось в будущем. Die
initialDatetime wird ignoriert, da es sich um eine Paper Trading Session handelt. Wichtig ist, dass die finalDatetime in der Zukunft liegt. Apply this config to the Time Frame
Примените эту конфигурацию к Time Frame
Diese Konfiguration auf den Zeitrahmen anwenden
{
"label": "01-min"
} Set-up the Strategy for Webhooks Signals
Настройка стратегии для сигналов Webhooks
Einrichten der Strategie für Webhook-Signale
Inside the Lighting Strike trading system locate the Trigger On Event, and paste the following into the Javascript Node of the only condition it has.
Внутри торговой системы Lighting Strike найдите событие Trigger On Event и вставьте следующее в узел Javascript для единственного условия, которое у него есть.
Suchen Sie im Lighting Strike Trading System den Trigger On Event und fügen Sie den folgenden Text in den Javascript-Knoten der einzigen Bedingung ein, die er hat.
chart.atAnyTimeFrame.externalSignal.message === "TRIGGER ON" What we are doing here is setting the strategy to be triggered once an external signal with the message TRIGGER ON is received via the Webhook Sensor Bot.
Здесь мы настраиваем стратегию на срабатывание после получения внешнего сигнала с сообщением TRIGGER ON через Webhook Sensor Bot.
Hier wird die Strategie so eingestellt, dass sie ausgelöst wird, sobald ein externes Signal mit der Nachricht TRIGGER ON über den Webhook Sensor Bot empfangen wird.
Run the Data Mining Tasks
Выполнение задач по добыче данных
Ausführen der Data-Mining-Bot
For this test, since we are Paper Trading, we will need a live stream of data from the exchange. We don't need to run all the Task of Mater Data Mining, only the ones needed by the Lighting Strike strategy:
Для этого теста, поскольку мы занимаемся бумажной торговлей, нам понадобится реальный поток данных с биржи. Нам не нужно запускать все задачи Mater Data Mining, только те, которые необходимы для стратегии Lighting Strike:
Für diesen Test benötigen wir einen Live-Datenstrom von der Börse, da wir mit Pater Trading handeln. Wir müssen nicht alle Aufgaben von Mater Data Mining ausführen, sondern nur die, die für die Lighting-Strike-Strategie benötigt werden:
- Exchange Raw Data
- Candles Volumes
- Resistances and Supports
- Webhooks
Run Task and Session
Запуск задачи и сессии
Ausführen von Task and Session
Run Task and the Session, and monitor the chart that was called Backtesting (now that is our Papertrading session), at the end of the market at the 1 minute time frame. Turn on the Episodes layer and wait for a few minutes until you see the Episode icons appear at the charts.
Запустите Task и Session, и наблюдайте за графиком, который был назван Backtesting (теперь это наша сессия Papertrading), в конце рынка на 1-минутном таймфрейме. Включите слой Episodes и подождите несколько минут, пока на графике не появятся значки Episode.
Starten Sie die Aufgabe und die Sitzung und beobachten Sie das Diagramm, das Backtesting genannt wurde (das ist jetzt unsere Papertrading-Sitzung), am Ende des Marktes mit dem Zeitrahmen von 1 Minute. Schalten Sie den Episoden-Layer ein und warten Sie ein paar Minuten, bis die Episoden-Symbole in den Charts erscheinen.
Before running the task and session, delete the data at
Перед запуском задачи и сессии удалите данные по следующему пути
Bevor Sie die Aufgabe und die Sitzung ausführen, löschen Sie die Daten unter
Data-Storage\Project\Superalgos\Data-Mine\Masters\Webhooks Important: This is not necessary the first time you run this, but if you are repeating this test, you will avoid confusions since the file of signals will be accumulating the test messages you send, and at the strategy we are not checking for the age of the messages, so it is a good idea to delete this data every time you try this procedure.
Important: Это не обязательно при первом запуске, но если вы повторяете этот тест, вы избежите путаницы, поскольку файл сигналов будет накапливать тестовые сообщения, которые вы отправляете, а в стратегии мы не проверяем возраст сообщений, поэтому хорошей идеей будет удалять эти данные каждый раз, когда вы испытываете эту процедуру.
Important: Beim ersten Mal ist dies nicht notwendig, aber wenn Sie diesen Test wiederholen, vermeiden Sie Verwirrungen, da die Signaldatei die von Ihnen gesendeten Testnachrichten sammelt und wir bei der Strategie das Alter der Nachrichten nicht überprüfen. Es ist also eine gute Idee, diese Daten jedes Mal zu löschen, wenn Sie dieses Verfahren anwenden.
Set-up the Signals Provider
Настройка поставщика сигналов
Einrichten des Signals Provider
At the Crypto Ecosystem, paste the following config to the Signals Provider.
В Crypto Ecosystem вставьте следующий конфиг в Signals Provider.
Im Crypto Ecosystem fügen Sie die folgende Konfiguration in den Signals Provider ein.
{
"webhookURL": "Webhook/New-Message/Trading-View/binance/BTC-USDT",
"testMessage": "TRIGGER ON"
} This means that when you send this test message, you will be delivering the TRIGGER ON signal expected by the strategy.
Это означает, что когда вы отправите это тестовое сообщение, вы передадите сигнал TRIGGER ON, ожидаемый стратегией.
Das bedeutet, dass Sie beim Senden dieser Testnachricht das von der Strategie erwartete TRIGGER ON-Signal übermitteln.
Ready to Send the Test Message TRIGGER ON
Готовность к отправке тестового сообщения TRIGGER ON
Bereit für das Senden: Send the Test Message TRIGGER ON
Go to the charts again an turn on the Strategies layer. You should not see anything at the charts since no strategy has been triggered.
Снова перейдите к графикам и включите слой Strategies. Вы не должны ничего видеть на графиках, так как ни одна стратегия не была запущена.
Gehen Sie erneut zu den Charts und schalten Sie den Strategies-Layer ein. Sie sollten in den Charts nichts sehen, da keine Strategie ausgelöst wurde.
Tip: Now you can send the test message.
Tip: Теперь вы можете отправить тестовое сообщение.
Tip: Jetzt können Sie die Testnachricht senden.
After you see the confirmation at the UI that the message was sent, check the Client's console to verify the message was received. Then wait until the message is picked up by the Webhooks Sensor Bot. Then wait until the Trading Bot runs again.
После того как вы увидите подтверждение в UI, что сообщение было отправлено, проверьте консоль клиента, чтобы убедиться, что сообщение было получено. Затем подождите, пока сообщение не будет получено ботом Webhooks Sensor Bot. Затем ожидайте, пока торговый бот не запустится снова.
Nachdem Sie auf der Benutzeroberfläche die Bestätigung gesehen haben, dass die Nachricht gesendet wurde, überprüfen Sie in der Konsole des Clients, ob die Nachricht empfangen wurde. Warten Sie dann, bis die Nachricht vom Webhooks Sensor Bot abgeholt wird. Warten Sie dann, bis der Trading Bot wieder läuft.
Go to the charts and wait until it plots the icons of the strategy, confirming that the strategy was triggered by the test message you sent.
Перейдите к графикам и подождите, пока на них не появятся значки стратегии, подтверждающие, что стратегия была запущена отправленным вами тестовым сообщением.
Gehen Sie zu den Charts und warten Sie, bis die Symbole der Strategie angezeigt werden, um zu bestätigen, dass die Strategie durch die von Ihnen gesendete Testnachricht ausgelöst wurde.
Note: If all this worked, it means that it will work if the message comes from Trading View or other Signal Provider too.
Note: Если все это сработало, значит, сработает и сообщение от Trading View или другого поставщика сигналов.
Note: Wenn all dies funktioniert hat, bedeutet das, dass es auch funktioniert, wenn die Nachricht von Trading View oder einem anderen Signalanbieter kommt.
Set-up your Firewall / Router to accept Incoming Connections
Настройте брандмауэр / маршрутизатор на прием входящих подключений
Richten Sie Ihre Firewall / Ihren Router so ein, dass er eingehende Verbindungen akzeptiert
As you might have imagined, you will need to open a port at your router / firewall to accept incoming connections from the signal provider's servers (like Trading View for instance). This is what allows that server to connect to the server where the Client is running, enabling the Client to receive those signals.
Как вы уже догадались, вам необходимо открыть порт на вашем маршрутизаторе/брандмауэре для приема входящих соединений с серверов поставщика сигналов (например, Trading View). Это позволит серверу подключиться к серверу, на котором запущен клиент, что позволит клиенту получать сигналы.
Wie Sie sich vielleicht schon gedacht haben, müssen Sie einen Port an Ihrem Router/Firewall öffnen, um eingehende Verbindungen von den Servern des Signalanbieters (wie z. B. Trading View) zu akzeptieren. Dadurch kann dieser Server eine Verbindung zu dem Server herstellen, auf dem der Client läuft, so dass der Client diese Signale empfangen kann.
Important: How you configure your Router / Firewall is up to you, and it depends on your network setup. You will need to do your research for details on how to do it, because it depends on which router / firewall you are using. We suggest you to include on the rules of your Firewall / Router the domain name or IP address of the Signal provider, so that nobody else can connect to the Client's http interface, which has, beyond Webhooks other features you don't want to expose openly to the world without restrictions.
Important: Как настроить маршрутизатор/брандмауэр, зависит только от вас, и это зависит от настройки вашей сети. Вам нужно будет провести исследование для получения подробной информации о том, как это сделать, потому что это зависит от того, какой маршрутизатор / брандмауэр вы используете. Мы рекомендуем вам включить в правила вашего брандмауэра / маршрутизатора доменное имя или IP-адрес поставщика сигнала, чтобы никто другой не мог подключиться к http-интерфейсу клиента, который имеет, помимо Webhooks, другие функции, которые вы не хотите открыто демонстрировать миру без ограничений.
Important: Wie Sie Ihren Router / Ihre Firewall konfigurieren, ist Ihnen überlassen und hängt von Ihrer Netzwerkkonfiguration ab. Sie müssen sich über die Einzelheiten informieren, denn es hängt davon ab, welchen Router / welche Firewall Sie verwenden. Wir empfehlen Ihnen, in die Regeln Ihrer Firewall / Ihres Routers den Domänennamen oder die IP-Adresse des Signalanbieters aufzunehmen, damit sich niemand anderes mit der http-Schnittstelle des Clients verbinden kann, die neben Webhooks noch andere Funktionen hat, die Sie nicht uneingeschränkt der Welt preisgeben wollen.
What we can tell you regarding this, is that the Superalgos Client is running a very simple http server at the port configured at the Environment.js file.
Что мы можем сказать вам по этому поводу, так это то, что Superalgos Client запускает очень простой http-сервер на порту, настроенном в файле Environment.js.
Was wir Ihnen diesbezüglich sagen können, ist, dass der Superalgos Client einen sehr einfachen http-Server an dem in der Environment.js-Datei konfigurierten Port betreibt.
Set-up Alerts / Messages at the Signals Provider
Настройка оповещений / сообщений от поставщика сигналов
Einrichten von Alarmen/Meldungen beim Signalanbieter
You will use the following syntax to craft the URL you need to configure for the webhooks at the provider:
Вы будете использовать следующий синтаксис для создания URL, который необходимо настроить для вебхуков провайдера:
You will use the following syntax to craft the URL you need to configure for the webhooks at the provider
http://YourIPAddress:Port/Webhook/New-Message/Provider-Name/Exchange/Market http://YourIPAddress:Port/Webhook/New-Message/Provider-Name/Exchange/Market For example:
Например:
Zum Beispiel:
http://182.45.73.1:34247/Webhook/New-Message/Trading-View/binance/BTC-USDT Previous
Telegram Announcements
Telegram Announcements
Integrations — TOC
You just read page 2 in the topic.