В процессе загрузки ресурсов... загрузка...

FMZ количественная платформа стратегии написания начальных уроков ((обязательно смотреть))

Автор:Трава, Создано: 2019-08-13 17:47:27, Обновлено: 2021-08-06 10:29:46

Историческая информация о K-линии. Недостатки этого механизма очевидны: на K-линии может быть произведена только одна покупка, обычно цена, на основе которой производится продажа, является ценой закрытия K-линии. И одна K-линия может получить только четыре цены до открытия и закрытия.

FMZ-платформа отсчитывает аналоговый уровень отсчёта и реального уровень отсчёта в двух типах. Аналоговый уровень отсчёта будет генерировать 14 точек времени отсчёта на каждом из циклов K-линий, в зависимости от тика, генерируемого аналогом.В то время как реальные диски - это реальные тики, собираемые примерно раз в несколько секунд, в настоящее время частично поддерживают реальную глубину (содержит 20 файлов), реальную транзакцию по одному купюре.Данные очень большие, и скорость повторного анализа медленная, поэтому не может проводиться повторный анализ в течение особенно длительного времени. Механизм повторного анализа FMZ позволяет стратегии торговать несколько раз на одной K-линии, избегая ситуации, когда можно закрыть только сделки по цене, более точным и учитывающим скорость повторного анализа.https://www.fmz.com/digest-topic/4009

Рекомендации в рамках стратегии, как и в реальном диске, являются мертвым циклом. Поскольку рекомендации переходят на разные точки рекомендации, в этот момент можно не использовать Sleep, который автоматически переходит на следующий момент в конце одного цикла.Sleep(10)В результате, он был убит.

Снимки, сделанные с помощью рецензирования

Рецензирующая система будет сравнивать цены на покупку и продажу, если цена покупки выше, чем цена продажи. Если сделка не может быть совершена, то будет создана прописка. Для обеспечения сделки требуется сдвиг.

Настройки страниц

img

  • 1.回测页面的选择,左侧是策略编辑页面。
  • 2.回测起始结束时间,由于数据不完整,回测可能直接从有数据的时间开始。
  • 3.回测GetRecords()По умолчанию циклы функций также могут быть указаны в коде.
  • 4.回测机制的选择。
  • 5.展示或隐藏跟多回测设置。
  • 6.最大日志数、收益数据数、图表数据数等,为了防止数据量过大导致浏览器卡死。
  • 6.底层tick生成依据K线周期。
  • 7.交易滑点。
  • 7.容错,会模拟API请求出错情况,检查策略容错能力。
  • 8.是否绘制行情图标,回测中如果使用了TA指标函数,会自展示在图标上,买卖也会标记。
  • 9.手续费设置
  • 10. Добавить биржи - пары и активы.
  • 11.回测参数设置,如果参数是数字还支持一键优化参数,自动按照一定范围遍历参数回测。

Различие между рецензированием и диском

  • 1.回测时有效的行情只有GetTicker和GetRecords,其它如获深度、成交历史都不是真实的(因为数据量太大,实盘级回测目前已经支持这些数据,但只有最近数据)。
  • 2.回测添加的交易所都是独立账户,目前不支持切换交易对。因此无法在一个账户里操作两个交易对。
  • 3.回测中无法使用网络请求。
  • 4.回测无法使用IO扩展,只能操作最基础的API。
  • 5.回测只能获取标准的数据,像Info之类的牵扯到实盘的数据不存在。
  • 6.回测中也有可能不成交,注意冻结订单情况。
  • 7.商品期货回测不支持市价单。

Стратегические ошибки и их распространение

Как я уже говорил ранее, возможно, что на реальных дисках с помощью API-интерфейсов возникает возможность неудачного доступа.nullВ этом случае при использовании данных в них будет возникать ошибка и приведёт к остановке реального диска, поэтому стратегия должна быть терпимой к ошибкам.

Часто ошибаются

Часто встречающиеся ошибки:

  • Ошибка доступа к сети API, интерфейс доступа к интерфейсу будет возвращать null, при этом использование будет сообщать об ошибке.
  • Обмен ограничивает ошибки, такие как IP-ограничения, точность размещения заказов, частота доступа, ошибки параметров, недостаток активов, невозможность торговли на рынке, отзывы о выполненных заказах и т. д.
  • Обменники возвращают данные с ошибками, которые случаются, например, глубина возвращения пустоты, задержка информации о счете, задержка состояния заказа.
  • Программная логика ошибочна.

Перед тем, как использовать API для возвращения данных, необходимо судить о том, являются ли они нулевыми. Ниже приведены общие методы сбора:

//1.判断为null进行处理
var ticker = exchange.GetTicker();
while(ticker == null){
     Log('ticker 获取出错');
     ticker = exchange.GetTicker();
 }
 Log(ticker.Last);
 // 2.判断不为null再进行引用
 var ticker = exchange.GetTicker();
 if(!ticker){
     Log(ticker.Last);
 }
 // 3._C()函数重试
 var ticker = _C(exchange.GetTicker);
 Log(ticker.Last);
 // 4. try catch容错
 try{
     var ticker = exchange.GetTicker();
     Log(ticker.Last);
 }
 catch(err){
     Log('ticker 获取出错');
 } 

Если вы хотите получить неверную информацию, вы можете использоватьGetLastError(), возвращает строку информации о последнем ошибке, которая может быть обработана с различными ошибками.

Часто задаваемые вопросы

На форуме есть много распространенных неправильных обобщений:https://www.fmz.com/bbs-topic/1427│ Здесь приведены некоторые из них, если возникли проблемы, вы можете искать по Ctrl+F. │

Как расположить хранителей?

Подробнее в разделе "Добавить администратора"

Может ли кто-нибудь найти стратегию для написания текста?

https://www.fmz.com/marketsНекоторые из них предлагают услуги переписки или консультируются в группах, и они должны связаться с ними на свой риск.

Доступ ко всем интерфейсам указывает на время выхода

Означает перерыв в доступе к интерфейсу биржи, если он случайно возникает, это не проблема, если постоянно указывается, что доступ к сети, в которой вы находитесь, недоступен, необходимо использовать зарубежный сервер.

Ошибка ERR_INVALID_POSITION

Рекомендация системы сообщения об ошибке, обычно написанной для стратегии, при которой попытка выйти из позиции в случае отсутствия или недостаточного количества позиций вызывает эту ошибку.

символ не установлен

Фьючерсные биржи отсчитывают, что в коде не установлены контракты, см. функцию exchange.SetContractType

BITMEX 429 ошибка, {error:{message:Rate limit exceeded retry in 1 seconds......}}

Слишком высокая частота доступа к интерфейсам бирж.

{status:6004, msg: timestamp is out of range} {status:6004, msg:

Время сервера выходит за рамки, требует обновления времени сервера, не может быть слишком сильно отклонено.

GetOrder ((455284455)): Ошибка: недействительный идентификатор заказа или заказ отменен.

Некоторые биржи отменяют заказы, и информация об этом заказе не поддерживается, поэтому она недоступна.

GetOrders: 400: {код:-1121,msg:Недействительный символ.}

Недействительные пары транзакций, проверяющие ошибки в установке пары транзакций.

Дешифровка секретного ключа не удалась

Не удалось разрешить API KEY. Если вы изменили пароль FMZ после конфигурации APIKEY, попробуйте добавить страницу обмена в FMZ и переконфигурировать APIKEY обмена.

Signature not valid: Invalid submission time or incorrect time format (Недействительное время подачи или неправильный формат времени)

Рекомендуется использовать Linux-сервер или программное обеспечение для установки синхронизации времени в системах Windows, в которых возникает проблема.

Почему мы установили глобальный провайдер, и администраторы не могут получить доступ к API биржи?

Глобальный провайдер не имеет сетевого порта для провайдера-хостера, поэтому, из-за проблем с задержкой, хостеры, расположенные за рубежом, предпочтительнее.

Как сохранить стратегию на местном уровне, а не на загруженном FMZ?

Использование Python позволяет импортировать локальные файлы, сохранять в виде файлов политики, обычно написанные в соответствии с API FMZ, на своих серверах под путями исполнения, и читать их прямо.

#!python2.7

def run(runfile):
      with open(runfile,"r") as f:
            exec(f.read())
            
def main():
    run('my.py')

Как использовать тестовую сеть биржи или изменить адрес базы API

Использование exchange.SetBase ((() позволяет переключаться непосредственно на соответствующий адрес API-базы, например:

exchange.SetBase("https://www.okex.me")

Больше

ГаоэнчерАпи

НаукаКак реализовать политику в локальном режиме? Я написал простое заявление на выпуск Log и сделал следующее действие в конце текста. Первый шаг - использовать ноутбук в качестве сервера и запустить программу администратора. Второй шаг - написать простую программу test.py для вывода информации Log (API-интерфейс FMZ); Третий шаг, как и в конце текста, написать runfile, который будет выполняться с помощью run.py с вызовом test.py.

гипп9Я купил курс по количественному трейдингу в облаке, но теперь я не могу найти его.

МонуРажакмного

МонуРажакЗдравствуйте.

БрюссельУчиться

ВкйЕсть небольшая ошибка в тексте, GetAccount получает аккаунт. В описании FrozenStocks должно быть замороженный баланс, а не доступный баланс.

Капитан Файя.getorder outtime получение заказа задержки, биржа okx, что делать

Удивительное дело.Недоступны ли гарантийные ставки, до 0% будут вынуждены балансировать гарантии.

Shifeng2020Я смотрю на 1-минутный к-строевой график, так что время сна мертвого цикла Python может быть настроено на 0.1s, то есть sleep ((100).

Восточный ветерexchange.SetDirection (("closebuy"); // если это постоянный контракт, сразу настроим exchange.SetDirection (("sell") Здесь я попробовал ОКекс постоянный контракт, если вы настроите его на продажу, он сразу же откроется, и это не так просто.

Восточный ветерexchange.SetDirection (("closebuy"); // если это постоянный контракт, сразу настроим exchange.SetDirection (("sell") Здесь я попробовал ОКекс постоянный контракт, если вы настроите его на продажу, он сразу же откроется, и это не так просто.

Восточный ветерВ коде GetOrders есть две орфографические ошибки. Одна из них - function, написанная как fuction, а другая - в условиях цикла for.

Восточный ветерЭто я ошибся. exchange.Buy ((-1, 0.5)), торговая пара ETH_BTC, которая представляет собой покупку ETH на 0.5BTC. exchange.Buy ((price, 0.5)), если это ограничительная цена, то это означает, что вы покупаете 0.5ETH по цене price.

Восточный ветерexchange.Buy ((-1, 0.5), торговая пара ETH_BTC, которая представляет собой покупку ETH за 0.5BTC по рыночной цене Это должно быть кукуруза для покупки кукурузы по рыночной цене 0.5 ETH.

гипп9Спасибо.

ТраваВсегда доступен в Интернете https://study.163.com/course/courseMain.htm?share=2&shareId=400000000602076&courseId=1006074239&_trace_c_p_k2_=c3f5d238efc3457d93c8b92c0398d2b2

ТраваДобавьте вкладку "WeChat" на страницу, чтобы привлечь вас в группу.

ВкйУ меня проблемы с вопросами, есть ли у нас официальная группа обмена?

ТраваИзменены

ТраваДоступ снова

ТраваС помощью GetRawJSON или просмотра информации в поле Info

Восточный ветерОчень хорошо, и администратор отвечает. Я обнаружил много орфографических ошибок в коде.

ТраваО, это было исправлено, спасибо, что указали на ошибку.

ТраваНекоторые постоянные контракты позволяют двустороннее хранение, требуя установки баланса.