[TOC]
Как найти ключевое слово в сообщениях?
ИспользованиеCtrl + f
чтобы открыть страницу и искать; введите ключевое слово, например:
В настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn.
Вейксин:
Почему?купить одну ценуипродать по одной ценеполученныеGetTicker
и полученные путемGetDepth
отличаются?
ДанныеGetTicker
иGetDepth
В результате данные, полученные с помощью цетранов, могут быть изменены.GetTicker
будет немного быстрее, для данных меньше, чем данные, полученныеGetDepth
.
exchang.GetOrders
получает незавершенные приказы, так где получить выполненные приказы?
Есть еще один API для запроса заказов, то есть,exchange.GetOrder
Он запрашивает заказы всех типов, в соответствии сID
Введите порядок.ID
Поэтому, чтобы получить выполненные заказы, вам нужно увидеть, предоставляют ли платформы этот тип интерфейсов; интерфейсы, предоставляемые каждой платформой, довольно разные.
Внутри.JavaScript
Стратегии, результат временной строки преобразования в временную метку неправильный.
Вам нужно учитывать часовой пояс в системе временных настроек.
Почему цена открытия и цена закрытия, которые я напечатал, одинаковы?
1.Возможно, когда вы печатали, на платформе действительно не было торговли, поэтому цены открытия, закрытия, максимума и минимума BAR всегда были одинаковыми. 2.Нужно проверить, является ли BAR последней BAR, так как цены открытия, закрытия, максимума и минимума последней BAR одинаковы.
Ошибки проверки времени с сервером, такие какSignature not valid:Invalid submission time or incorrect time format
Эта ошибка является проблемой старых операционных систем, таких какwindows2000/2003/XP
, пожалуйста, обратитесь:
Мы предлагаем вам использоватьLinux
сервер, или вы можете установить программное обеспечение синхронизации времени в этихwindows
системы, где происходит ошибка, для синхронизации времени на высокой частоте и предотвращения ошибки проверки времени.
ATR
(TR
) Mylanguage и вычисленныеTA
/talib
Библиотека?Причина заключается в том, что метод расчета показателей Mylanguage несовместим с базовым алгоритмомTA
/talib
Обе верны, но алгоритмы разные.MACD
Некоторые используют его.DIF-DEA
, а некоторые используют дваждыDIF-DEA
, которые оба верны.
Что это означает, если название платформыFutures_Esunny
?
Он представляет собой объект обменаПротокол Эсунни, который может быть возвращен функциейexchange.GetName()
- Да, конечно.
В настоящее время международная станция FMZ поддерживает только криптовалютный бизнес.https://www.fmz.cn.
#EXPORTTEST...#END
объявил переменные в ссылке на блок кода с несколькими периодами.REF
используется при ссылке в стратегии, данные будут ссылаться в соответствии с текущим периодом, который отличается от того, что вы ожидали.Необходимые вам данные о нескольких периодах будут обработаны в#EXPORTTEST...#END
, так что вы можете использовать его непосредственно снаружи.
Я не могу найти документацию FMZ API.
Вы можете ввести адрес страницы прямо:https://www.fmz.com/api, или нажмите на ссылку следующего изображения:
Почему?MACD
Рассчитанный FMZ отличается от рассчитанного платформами?
При сравнении необходимо обратить внимание на то, одинаковы ли периоды линии K,MACD
параметры индикатора одинаковы, периоды времени одинаковы, и символы одинаковы.MACD
НекоторыеDIF-DEA
, а некоторые2*(DIF-DEA)
; DIF
иDEA
должна быть последовательной.
Что связано с полученным номером K-линии, когда получены данные истории K-линии?
При доступе кexchange.GetRecords
В этом случае докер вызовет интерфейс для получения данных о истории торговли платформы, когда стратегия вызоветexchange.GetRecords
. Интерфейс данных синтезирует K-линию в соответствии с историей торговли). K-линии, полученные докером, будут непрерывно накапливаться вместе, и необходимо получить доступ кexchange.GetRecords
интерфейс с определенной частотой, в противном случае непрерывность данных может быть нарушена.
Я нахожу, что вызов функцииexchange.Buy
только возвратыID
в документации API, но почему он возвращает столько информации, когда я работаю?
Функции, которые могут генерировать экспорт журнала в функциях FMZ API, такие какLog
, exchange.Buy
, exchange.CancelOrder
, и т.д., все могут быть последовали за некоторыми дополнительными параметрами после необходимых параметров.exchange.CancelOrder(orders[i].Id, orders[j])
дополнительно экспортирует информацию о заказе при отменеorders[j]
.
Как выполнять WeChat Push сообщение в боте?
WeChat push действителен только для ботов; добавить'@'
в концеLog
Функция, а затем печатная информацияLog
может быть подтолкнут; вы можете найти подробности в API документа на:https://www.fmz.com/api#LogВ настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn- Да, конечно.
Пуш в WeChat поддерживается только на внутренней станции FMZ.
Могут ли товарные фьючерсы использовать основные непрерывные контракты и индексные контракты?
Он поддерживает основные непрерывные контракты и индексные контракты товарных фьючерсов. В настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn.
var records = exchange.GetRecords(PERIOD_D1)
Что я должен написать, если я хочу получить конкретный контракт ежедневные данные K-линии, такие как K-линии данных RB или I?
Ты должен установитькод контрактаДо получения TAQ (по крайней мере, установить код контракта один раз после начала программы).SetContractType("rb1805")
, Установите текущий контракт наrb1805
. Позвоните снова API, который получает TAQ, вы можете получить данные TAQ RB1805 контракта.
В настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn.
Как написать контрактный код товарных фьючерсов?
Вы можете ознакомиться с документацией FMZ API. В настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn.
Уилл.exchange.GetAccount
Не удается получить информацию из-за сетевых и других проблем, и подслой системы FMZ уже обработал неудачу? Или пользователям приходится самостоятельно справляться с неудачей запроса? Почему официальный FMZ не обрабатывает его? Не удобнее ли пользователям использовать его таким образом?
Появятся неисправности, которые требуют от пользователей выполнения допуска ошибок. Подслой FMZ не обрабатывает данные, а данные, возвращаемые пользователям, являются необработанными данными. Конкретный метод допуска ошибок или логика формулируется конкретной стратегией. Потому что если он обрабатывается, он может повлиять на решение пользователей, и решение будет обрабатываться стратегией, которая конкретно относится кинформация об ошибке фильтрацииилиПопробуйте еще рази другие методы обработки.
Какова единица объема заказов контракта OKEX?
Объем заказов контракта OKEX рассчитывается на основе суммы контракта; например,exchange.Buy(1000,1)
означает размещение заказа по цене 1000, с контрактной суммой 1.
Это значит, что я должен делать ограничительные приказы, когда я звонюexchange.Sell
иexchange.Buy
на FMZ?
Для деталей, вам нужно посмотреть на первый параметр, прошедший в (первый параметр - цена заказа).-1
Значения объема покупки и объема продажи каким-то образом отличаются (второй параметр), и если цена не соответствует-1
В большинстве интерфейсов спотовых платформ объем ордеров рынкасумма активовНет, нет.сумма монетыВ интерфейсах заказов криптовалютных фьючерсных платформ объем заказов, как правило, является целым числом суммы контракта.
Проверьте интерфейсы заказов:https://www.fmz.com/api#exchange.buyprice-amount https://www.fmz.com/api#exchange.sellprice-amount
Функция почты
Mail("smtp.qq.com", "xxxx@qq.com", "xxx", "xxx@qq.com", "test title", "test body")
Доступ к smtp QQ
Параметры шаблона для Pine language, Mylanguage: количество максимальных периодов переменной влияет на расчет показателя
По умолчанию
Проверьте область редактирования кода стратегии на наличие каких-либо запросов на ошибку. Проверьте, отсутствует ли имя переменной при декларировании переменной, например, забыли ли вы написать имя в
BITMEX
429 ошибка,{"error":{"message":"Rate limit exceeded retry in 1seconds……"}}
Когда вы видите ошибку 429, это означает, что частота доступа к платформе слишком высока. Вам нужно увеличить интервал опроса, чтобы уменьшить частоту доступа к интерфейсу.
Only support CTP
ошибка
Это значит, что вы позвонилиФьючерсы на товары CTPинтерфейс или библиотека вкриптовалютная стратегия- Да, конечно. В настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn.
Bittrex
Ошибка в ботах:{"success":false,"message":"NOT_ALLOWED","result":null}
Это указывает на ограничения прав платформы.Bittrex
, и посмотреть, необходимо ли проверить информацию, например соглашение пользователя.
Ошибка работы бота:TypeError:value has no property at
Поскольку ошибки, зарегистрированные в бэкстестесте и боте, отличаются, эта ошибка не может быть обнаружена во время бэкстеста.
unable to open database
ошибка
Если системаMac OS
Система, обратите внимание, чтобы проверить, если это проблема разрешения.
Или, это может быть ошибка, вызванная полным пространством жесткого диска устройства, что отключило создание файла базы данных ботов.
Ошибка:do not support the function
Это относится к ситуации, когда объект обмена, добавленный во время бэкстеста, является криптовалютной спотовой платформой, но функция фьючерса API вызывается в коде.
Ошибка:in SetCurrency OSError: exception: access violation reading 0x000000FCF25F0000
В криптовалютном фьючерсеPython
Стратегия, система обратного тестирования использует частный докер, и торговая пара переключается в коде, что приводит к сообщению об ошибке.
Причина в том, что система обратного теста не поддерживает обратный тест фьючерсов криптовалюты для переключения торговых пар.
Ошибка
Python
отчеты о местных обратных испытаниях двигателяEOFerror
.
EOF
ошибка является ошибкой в конце backtest. ловить исключение достаточно и вы можете вызвать его где угодноPython
поддерживается.
# encoding: utf-8
'''backtest
start: 2021-08-30 00:00:00
end: 2022-09-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
'''
from fmz import *
task = VCtx(__doc__) # initialize backtest engine from __doc__
def main():
while not exchange.IO("status"):
Sleep(1000)
exchange.SetContractType("swap")
while True:
bars_1min = _C(exchange.GetRecords, PERIOD_M1) # Get 1min K-line
print(len(bars_1min))
_CDelay(2000)
# Calling the main function
try:
main()
except:
print(task.Join(False))
Mylanguage включает в себя очень скрытую ошибку расчета периода, и рассчитанное значение может быть N/A, например, следующий пример:
Причина заключается в том, что параметр периода расчета превышает диапазон данных, в результате чего рассчитывается значение N/A. Способ обработки:
Произошла ошибка в Mylanguage: ошибка анализа, и стратегия имеет только простой код, количество линий ошибок очень длинное, и причина ошибки не может быть найдена.
Это может быть ошибка, вызванная проблемой ранних шаблонов Mylanguage. Решение: 1. Экспортировать стратегию в виде файла xml. 2. Создать новую пустую стратегию Mylanguage. 3. Импортировать файл xml в недавно созданную пустую стратегию. 4. Добавить бота для тестирования.
Ошибка:fatal error:unexpected signal during runtime execution...go routine 11[syscall,locked to thread]
Проверьте, если стратегия написана вC++
использует нулевой указатель, и предлагаю вам использовать отказоустойчивый режим backtest для обнаружения.
Ошибка вызоваexchange.SetMarginLevel(10)
: Futures_OP 0:403:{"error":{"message":"Access Denied","name":"HTTPError"}}
Проверьте, если соответствующие праваAPI KEY
Примененные платформой.
Ошибка обратного теста:symbol not set
Это потому, что вы не установили контракт в коде во время бэкстеста платформы фьючерсов; вы можете обратиться кexchange.SetContractType
функция в документации API.
ОшибкаERR_INVALID_POSITION
Если система обратного теста сообщает об ошибке, это обычно ошибка, вызванная ошибками в написании стратегии. Если вы пытаетесь разместить ордер на закрытие позиции, когда нет позиции или количество позиций недостаточно, ошибка будет сообщена. Проверьте, есть ли заморозка позиции, вызванная незавершенными ордерами.
ОшибкаERR_INVALID_ORDER
Если система бэкстеста сообщает об ошибке, это, как правило, ошибка, вызванная ошибками в написании стратегии. Вы должны обратить внимание, чтобы проверить цену заказа (фьючерсы криптовалюты в системе бэкстеста временно не поддерживают рыночные заказы), является ли объем заказа 0, отрицательным числом или десятичной долей (объем заказа фьючерсных контрактов рассчитывается по сумме контракта, которая является целым числом).
ОшибкаERR_INSUFFICIENT_ASSET
Если обратный тест сообщает об ошибке, он обычно указывает, что сумма доступного актива уже недостаточна для размещения текущего заказа.
Binding Error:Cannot passnon-string to std::string
Информация об ошибке
В кодах стратегии ошибка обычно вызвана неправильным поиском имени атрибута (с использованием неопределенного атрибута).
Ошибка{"status":6004,"msg":"timestamp is out of range"}
Ошибка означает, что временная метка сервера находится вне диапазона, и вам нужно обновить временную метку сервера без большого отклонения.
Ошибкаtimeout
Ошибка - это ошибка временного отключения, которая указывает на ошибку, сообщаемую из-за не получения данных ответа от интерфейса платформы в течение определенного периода времени после доступа к интерфейсу платформы.
Ошибка в запуске бота после написания стратегии:syntax error invalid label
Источник ошибки:
function main(){
if(1){
continue
}
}
//That will cause the error during operation
continue
Заявление должно быть использовано в цикле!
Ошибка:(CTP_T@9999)Error:140CTP:change the password when first log in, and please log in again after changing
Какой пароль был изменен?
Здесь указывается, чтобы изменитьsimnow
пароль аккаунта; когда вы используете определенную учетную запись фьючерсной компании для входа, вам также необходимо изменить пароль для первого входа (новый аккаунт имеет первоначальный пароль, и вы не можете использовать аккаунт, не изменив первоначальный пароль).
В настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn.
Ошибка:400:{"error":{"message":"Nonce is not increasing.This nonce:1523891993165,last nonce:1523891993165","name":"HTTPError"}}
Это...nonce
ошибка проверки и информация об ошибке, связанная сnonce
Вы можете попытаться синхронизировать время системы, где расположен бот-докер.
ОшибкаSecretkey decrypt failed
Ошибка указывает на неудачу расшифровкиAPI KEY
. Проверьте, изменили ли вы пароль учетной записи FMZ после настройкиAPI KEY
Попробуйте настроитьAPI KEY
на странице "Добавить платформу" FMZ, перезапустить докер и снова запустить бота для тестирования.
Открытая позиция товарных фьючерсов Ошибка:CTP: only close position
Есть много причин, почему отчет показывает статусcan only close position
. Возможно, что аккаунт был заморожен (он не использовался в течение длительного времени, более 1 года), или он может быть введен в неправильный канал (CTP имеет много мест).
В настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn.
Какая причина может быть, если ошибка:GetOrder(455284455):Error:invalid order id or order canceled.
всегда поднимается, когда я звоню.exchange.Getorder
?
Буквальное значение: заказ был отменен или идентификатор заказа недействителен. Причина: на некоторых платформах, если вы отмените заказ, информация о заказе не будет поддерживаться, и она будет удалена. Поэтому, когда вы запрашиваете заказ вexchange.GetOrder
, ошибка будет сообщена, или идентификатор заказа, который вы запрашиваете, изначально неверен.
Ошибка: ограничение ставки, 429 Слишком много запросов
rate limit, 429 Too Many Requests
указывает, что частота доступа к интерфейсу платформы слишком высока, поэтому вам необходимо уменьшить частоту доступа к интерфейсу платформы.
Всегда поднимать.Invalid order price/amount
в боте и бэкстесте
Этот вид ошибок вызван неправильной ценой и объемом ордера, передаваемым при вызове функции ордераexchange.Buy
илиexchange.Sell
Для.отрицательный объем заказов, 0и другие методы обнаружения ошибок: вы можете позвонитьLog
для экспорта параметра цены или параметра объема, который должен быть передан перед размещением заказаexchange.Buy
илиexchange.Sell
, чтобы определить проблему.
Какая ошибка?GetOrders:400:{"code":-1121,"msg":"Invalid symbol."}
?
Ошибка означает:недействительная торговая параВам нужно проверить, если установка торговой пары неправильна.
Что это значит, если есть некоторые коды ошибок, когда бот-логи сообщают об ошибке?
Вы можете увидеть объяснения кодов ошибок, возвращаемых различными интерфейсами платформ в документации API этих платформ.
Время печати кривой реальной рыночной доходности языка Пайн и языка Майланге Печатайте регулярно в соответствии с настройками на параметрах шаблона Pine language/Mylanguage и печатайте, когда стратегия полностью закрыта.
Бот Mylanguage печатает количество сигнальных пусковых линий, но не выполняет никаких операций.
Возможно, что параметры шаблона Mylanguage не соответствуют, например, точность, минимальный объем заказа и другие параметры. Причина в том, что уровень запуска сигнала был оценен успешно, а на уровне выполнения торговли было установлено, что заказ не может быть размещен из-за некоторых проблем с параметрами, и на самом деле заказ не был размещен. Вы можете ознакомиться с сообщениями, связанными с Mylanaguage:https://www.fmz.com/bbs-topic/9788 https://www.fmz.com/bbs-topic/9791
Почему бот не может принять сигнал запроса, когда я уже установил предупреждение о URL-адресе вебхука на Tradingview?
Проверьте, правильно ли API KEY в URL-адресе webhook. API KEY здесь относится к расширенному API KEY FMZ, который установлен в настройках учетной записи в правом верхнем углу FMZ. Проверьте, правильно ли заполнен ID бота в URL-адресе webhook. Проверьте, правильно ли указаны привилегии расширенного API KEY FMZ. привилегии разделены запятой на английском языке. По умолчанию *, что означает все привилегии. Не пишите имена функций с привилегиями непосредственно после *.
Почему символы валютной пары ограничены в конфигурации платформы для торговли парами при добавлении бота? насколько я знаю, на самом деле платформа поддерживает несколько торговых пар.
Вы можете установить пользовательский контроль торговых пар (он может быть установлен только в ботах; для символов в центре данных backtest ограничены, он не может быть установлен в backtest), следующим образом:
Почему тикеры не могут быть получены, когда я запускаю FutuOpenD на сервере, и могут ли они быть получены на локальном устройстве?
Вам нужно проверить, находится ли IP-адрес сервера за границей, потому что FutuOpenD имеет ограничения на зарубежные IP-адреса. В настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn.
Никаких действий, когда стратегия Mylanguage работает, и она только обновляет TAQ вначале.
Проверьте, использовали ли вы модель ценового закрытия, которую можно проверить с помощью параметров шаблона стратегии Mylanguage.
Фьючерсы на сырьевые товары
В CTP только Шанхайская фьючерсная биржа может быть использована для закрытия сегодняшних и вчерашних позиций.
Обратный тест не делает различий.сегодня позицииотВчерашние позиции, так что он не может указать, чтобы закрыть сегодня позиции или вчера позиции.
Некоторые символы в ботах, напримерIF
, имеет по умолчанию, что если есть сегодня позиции, он закрывает сегодня позиции первым. В этом случае, вы не можете указать, и вы можете только закрыть сегодня позиции первыми. Поэтому информация о позиции сегодня и вчера позиции объединяются в одну.
В настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn.
Почему часовой штамп бара вBITMEX
К-линейные данные имеют один период больше, чем то, что в том же месте в других платформах К-линейные данные?
Причина в том,BITMEX
принимает время окончания текущей строки в качестве часовой метки K-линии (некоторые периоды K-линии не поддерживаютсяBITMEX
интерфейс, так что временные отметки этих периодов генерируются началом времени Бар).
В стратегии товарных фьючерсовProfit
в данных, возвращаемых функциейexchange.GetPosition
отличается от рассчитанной плавающей прибыли и убытка?
Пожалуйста, ознакомьтесь с документацией API:https://www.fmz.com/api#exchange.getposition. Profit
вCTP protocol
определяется какПрибыль и убытки по рыночной оценке, который представляет собой прибыль и убыток вашей текущей позиции относительно цены расчетов предыдущего торгового дня.
В настоящее время FMZ International Station поддерживает только криптовалютный бизнес.https://www.fmz.cn.
Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.
Проверьте, используется ли функция
/*backtest
start: 2022-11-08 00:00:00
end: 2023-02-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
function main() {
var t = exchange.GetTicker()
exchange.Buy(t.Last - 10, 100/(t.Last - 10))
while(1){
t = exchange.GetTicker()
Sleep(1000)
}
}
В обратном тесте фьючерсов Binance иBITMEX
Рассчитывается ли ставка финансирования в кривой прибыли и убытков, полученной системой бэкстеста?
Ставка финансирования рассчитывается в кривой прибыли и убытков, полученной системой обратного теста.
Кнопка
Вам нужно проверить, включен ли прокси, что повлияет на завершение загрузки файлов на странице
ВНастоящий ТикBacktest, почему есть лимит в 50 МБ?
Реальный рыночный уровень обратного теста указывает на реальный Tick, TAQ фактически записывается секунда за секундой. Кроме того, есть рыночные снимки и данные о потоке заказов, которые имеют большой объем, поэтому поддерживается только 50 МБ объема данных. То есть максимальный временной диапазон реального рыночного уровня составляет несколько часов, и время обратного теста не может быть продлено.
Почему это не сработало, когда я изменил параметры сбора в системе бэкстеста?
В системе обратного теста, когда вы сбросите параметры комиссии, они будут действительны после удаления старой пары платформы-торговли и добавления пары платформы-торговли снова; ранее добавленная пара платформы-торговли не может быть изменена элементом управления на странице.
Как сделать, чтобы настройки на основе обратного теста отображали больше данных?
Когда вы рисуете индивидуальную диаграмму (поChart
В случае, если данные, отображаемые в обратном тесте, относятся кдиаграммапараметр в настройках backtest, и параметр контролирует максимальное число штрихов диаграммы.chart.reset
функция используется для очистки части старых данных.
C++
Бакт-тест ничего не показывал, не было сообщений об ошибках и не было записей, и ничего на странице не изменилось после того, как я нажал кнопку.
Некоторые ошибкиC++
Например, в расчетах показателей недостаточное количество K-линий приводит к сравнению и суждениюNAN
и тип номера послеNAN
будет рассчитан, что вызовет сбой программы.
python
Бактэст застрял!
Вы не можете написать функциюSleep
вtry
обнаружение ошибок, и написание на изображении вызовет пробка.
В обратном тесте, почему есть только несколько вариантов платформы, а символы для торговых пар также ограничены?
На платформах слишком много торговых пар, поэтому для тестирования в системе бэкстеста было выбрано лишь несколько репрезентативных торговых пар.таможенный контрольустановить торговые пары, поддерживаемые этими платформами, в ботах.
Почему backtest не поддерживает больше торговых пар?
Система бэкстеста, на данный момент, поддерживает только основные валюты некоторых относительно крупных платформ, а некоторые валюты еще не поддерживаются. Если вам нужно протестировать стратегию, вы можете заменить валюты другими аналогичными валютами в бэкстесте. На самом деле, за исключением того, что рыночные котировки могут быть затронуты, использование других аналогичных криптовалют для бэкстеста стратегии в порядке. Проще говоря, система бэкстеста пытается поддерживать основные торговые пары, и бэкстест не должен соответствовать определенному символу. То есть, если стратегия эффективна, даже если это серия случайных изменений рыночных котировок с правилами торговли или рыночные котировки других валют, должна быть в основном положительная прибыль. Это универсальность стратегии. Если она может соответствовать только периоду истории или хорошо работать на определенном символе, то эта стратегия фактически имеет потенциальные риски или недостатки.
В системе обратного тестирования:Прибыль и убытки от закрытия, Доходы и убытки от удержания, Маржинальная сумма, Оценка доходности, В настоящее время доступный USDT
Заключительная прибыль и убытки: совокупная прибыль и убыток от всех открытых и закрытых сделок до текущей позиции. Holding P&L: это прибыль и убыток от текущей позиции, если текущая позиция не удерживается, это 0, Маржина: размер маржи, занимаемой текущей позицией. Ориентировочная доходность: прибыль и убыток, полученные при закрытии текущей позиции по текущей цене (гипотетической), затем добавляются к совокупной прибыли и убытку закрытой позиции для расчета прогнозируемой доходности. В настоящее время доступный USDT: текущий объем USDT, доступный для открытия позиций.
Расчет показателя успеваемости в системе обратных испытаний
for (var i = 0; i < profits.length; i++) {
if (i == 0) {
if (profits[i][1] > 0) {
winningResult++
}
} else {
if (profits[i][1] > profits[i - 1][1]) {
winningResult++
}
}
if ((profits[i][1] + totalAssets) > maxAssets) {
maxAssets = profits[i][1] + totalAssets
maxAssetsTime = profits[i][0]
}
if (maxAssets > 0) {
var drawDown = 1 - (profits[i][1] + totalAssets) / maxAssets
if (drawDown > maxDrawdown) {
maxDrawdown = drawDown
maxDrawdownTime = profits[i][0]
maxDrawdownStartTime = maxAssetsTime
}
}
}
Выше приведен алгоритм выигрыша, который рассчитывается следующим образом: После того, как система бэкстеста регулярно рассчитывает плавающую прибыль и убытки, рассчитывается плавающая кривая прибыли и убытков. Начните с первой точки, чтобы сравнить с следующей точкой. Если она выше, она будет записываться как выигрыш, а если она ниже, она будет записываться как убыток, а затем продолжайте сравнение с следующей точкой.
Где учебный видео развертыванияLinux
Докер?
Билибили:https://www.bilibili.com/video/BV1eZ4y1c73v?share_source=copy_web
Необходимо ли остановить старый, когда я обновить докер, и удалитьrobot
программу, и запустить ее снова?
Вы можете сразу же удалить старыеrobot
файл программы без остановки докера, затем загрузить новый сжатый пакет, распечатать новыйrobot
В это время докер обновляется, но запущенный бот все еще использует старую версию в памяти, и последняя версия будет использоваться только при перезагрузке бота.
Докерное развертываниеLinux
сервер
Шаги для установки докера наLinux
: https://www.bilibili.com/video/BV1eZ4y1c73v?share_source=copy_web
При примененииscreen
чтобы запустить программу докераrobot
, -bash:screen:command not found
происходит, и докер не может работать.
Linux
Система не устанавливаетscreen
Программное обеспечение, и общая установка достаточно.CentOS
команда установки системы:yum install screen
.
Текущий докер уже поддерживаетSSH
чтобы отключить переключатель для запуска в фоновом режиме.screen
, вы можете использовать команду прямо вrobot
Каталог программы Docker:./robot -s node.fmz.com/xxxxxxx
, и введите пароль учетной записи FMZ; когдаLogin OK
При этом, если на экране отображается xxxxxxx, это означает, что развертывание успешно../robot -s node.fmz.com/xxxxxxx
является уникальным идентификационным кодом каждой учетной записи FMZ, и просто введите свой собственный (после того, как учетная запись введена в систему, перейдите на страницу Docker, нажмите xxxxxxx
.
Где же ботолог, когда докер запускает бота?
ВDB3
Файл базы данных вlogs
каталог, где расположена программа Docker, имя файла базы данныхid
бота, и расширениеdb3
.
Внутри.Linux
Система, использование./robot -l
чтобы просмотреть названия платформ, поддерживаемых доккером, какая платформаexchange
среди имен?
Объект обмена, чьиИмяэтоexchange
относится к платформе,Общий протоколПодробности общего протокола:https://www.fmz.com/api#通用协议
Страница докера не отображает докеров в формате списка.
Если добавлено более 5 докеров, появится элемент управления для отображения в формате списка.
Нормально ли, что при создании бота докер не развертывается самостоятельно в комбинации параметров докера?
Общественный докер, предоставляемый FMZ, является дополнительным инструментом быстрого запуска для новичков, поэтому пользователям не нужно развертывать докер при обучении, и для новичков легко начать. Тем не менее, рекомендуется использовать частные докеры для реальных ботовых тестов. В конце концов, аппаратные ресурсы и сети государственных докеров совместно используются; платформа будет время от времени поддерживать эти публичные докеры.
Это строка адресов (./robot -s node.fmz.com/1234567
Исключительно для меня или других, когда развертываете докер?
Этот адрес является идентификатором адреса каждого пользователя, а значение/1234567
При развертывании докера, нажмите кнопку
Переменная окружающей среды системы, где расположен докер, добавилаpython2.7
, но почему он все еще просит, что переменная окружающей среды не может быть найдена?
Когда?windows
система впервые устанавливаетpython
, вы должны установить переменную окружающей среды и перезапустить, чтобы сделать его действительным.
Ошибка EOF
Python backtest завершается исключением EOF (потому что иногда стратегия может быть бесконечной петлей).
Сколько ботов может запустить докер?
В зависимости от конфигурации сервера и сложности стратегии количество ботов не ограничено. В частности, необходимо рассмотреть, получают ли эти несколько ботов доступ к одному и тому же интерфейсу платформы (учитывая частоту вызовов интерфейса, потому что больше ботов означает более высокую частоту); обычно 5 - 6 ботов в порядке.
Докер, бот и другие основные объяснения концепций
Содержимое страниц
Если все содержимое бота и страницы докера исчезло, когда бот и докер работают нормально на сервере, вам нужно прочитать сообщение об ошибке браузера, чтобы увидеть, есть ли в браузере установленный плагин, который вызывает проблему глобального загрязнения переменной.
Для официальных стратегий аренды и аренды докер-сервера одним щелчком мыши, будет ли плата автоматически возобновляться, пока остаток счета FMZ достаточен?
Арендованные стратегии не будут автоматически взимать плату, а аренда докера одним щелчком мыши будет автоматически взиматься.
Я хочу отделить некоторые функции в шаблон, так что другие стратегии также могут использовать их.
Описание вFMZ API
документация:https://www.fmz.com/api#模板类库
Это правда?wexApp
Симуляционная платформа FMZ симулируемый бот только предоставитьBTC_USDT
Как я могу настроить другие торговые пары?
wexApp
simulated bot поддерживает только несколько основных торговых пар на данный момент, и не все торговые пары имитируются.
У меня есть проблема одновременных вызовов к расширенному API, то есть ошибка проверки
Вы можете создать несколько FMZ платформы расширеннойAPI KEY
s для одновременных запросов.
Будут ли потоки отладки, созданные на докере, записывать статус журнала при использовании инструмента отладки?
Когда инструмент отладки выполняется, если ничего не изменяется во второй раз, объект обмена, созданный ранее, будет сохранен и не будет выпущен.валютный режимилирежим левериджа.
Почему, когда я зарегистрировалwexApp
Вы смоделировали платформу и вошли в систему, не было никаких активов, как в кошельке, так и в валютном разделе?
После регистрации вам нужно проверить электронную почту, чтобы активировать учетную запись, и вы можете активировать учетную запись в личном центре.
Информация о журнале относительно длинная и отрезанная, и в конце концов она показала"... Но мне нужно увидеть структуру данных, что мне делать?
Решение заключается в использованииИнструмент отладкинаПриборная панель, и использоватьreturn
заявление в инструменте отладки, чтобы вернуть содержание, которое должно быть отображено, и отображение содержания не будет обрезано.
Какие функции начинаются с$.
вJavaScript
Что значит "стратегии"?
Функции с началом$.
являются функциями экспорта шаблонов, аналогичными функциям интерфейса модулей.https://www.fmz.com/api#模板类库
Экспортные функцииpython
Стратегии декларируются сext.
С самого начала.
Как нарисовать прямые линии на диаграмме рынка результата обратного теста?
Есть два типа графиков, которые в конечном итоге отображаются в обратном тесте: один генерируется системой, которую стратегия не может контролировать.Chart
функция интерфейса API FMZ в коде стратегии.https://www.fmz.com/api#chart...
Я по ошибке удалил проверяющий Google на своем телефоне, как сбросить проверяющий Google? На странице настроек учетной записи на платформе я не мог найти место для сброса по электронной почте.
Вы можете войти на платформу FMZ с помощью другого браузера, и когда вам нужно ввести код проверки Google, нажмите
ПлатформаAPI KEY
контроль безопасности
ВAPI KEY
FMZ не сохраняет простотекстовую информацию учетной записи пользователя на платформе и используетHttps
protocol.
Вопрос безопасности стратегии
Для этого вы можете обратиться к:https://www.fmz.com/bbs-topic/1657.
Система выставления счетов FMZ
Стандарты выставления счетов для торговли в реальном времени:
Упомянутое время выставления счетов относится к времени обработки счетов. Из-за времени, необходимого для этих операций, время вычета может быть отложено. Например, если текущее время выставления счетов составляет 9:00, возможно, время обработки этой операции составляет 9:02 (как показано на скриншоте). Это будет скорректировано во время следующей операции выставления счетов (следующее время вычета будет 10:00, а не предварительная выставка счетов).
Библиотека Талиба обрабатывает данные с ограниченной точностью
Если данные особенно малы, они будут обрезаны и в конечном итоге отображаться как 0. Обратитесь к:https://github.com/TA-Lib/ta-lib-python/issues/157