作为一个教学策略,兼顾一定的实战性能当然是最好的。「数字货币期货类马丁策略」在FMZ.COM围观板块也已经展示了小半年了。经历了好几拨风吹雨打,马丁、网格策略有其风险硬伤,参数保守一点也不是不能用。
Фьючерсные диски
Диск dYdX
По его словам, в результате не было никакой доходной кривой в производстве кукурузы.
Однако в первом издании стратегический дизайн был сравнительно прост, на интерфейсе было только одно хранение, выпуск данных общих прав и выгод, и кривая прибыли была напечатана только для достижения прибыли и убытка, не учитывая прибыли и убытки.
В этой статье мы вместе с вами поднимаем уровень этой стратегии стабильности на протяжении полугода.
Версии политики до обновления записываются на странице "Записки" политики.
这个也是我的个人开发习惯,在FMZ.COM上很方便记录策略开发、迭代的点点滴滴。
Начинайте модернизацию!
Сначала мы оптимизируем статус-лист, чтобы показать, что студенты, которые знакомы с документацией по разработке FMZ, знают, что показать данные статуса в FMZ - это очень важно.LogStatus
Функция. Итак, мы находим эту точку входа и начинаем проектировать код.
В следующей строке мы добавим большой фрагмент кода:
var tblPos = {
"type" : "table",
"title" : "持仓",
"cols" : ["持仓数量", "持仓方向", "持仓均价", "持仓盈亏", "合约代码", "自定义字段 / " + SpecifyPosField],
"rows" : []
}
var descType = ["多头仓位", "空头仓位"]
for (var posIndex = 0 ; posIndex < pos.length ; posIndex++) {
tblPos.rows.push([pos[posIndex].Amount, descType[pos[posIndex].Type], pos[posIndex].Price, pos[posIndex].Profit, pos[posIndex].ContractType, SpecifyPosField == "" ? "--" : pos[posIndex].Info[SpecifyPosField]])
}
var tbl = {
"type" : "table",
"title" : "数据",
"cols" : ["当前总权益", "实际盈亏", "当前价格", "买单价格/数量", "卖单价格/数量"],
"rows" : []
}
var buyOrder = null
var sellOrder = null
for (var orderIndex = 0 ; orderIndex < orders.length ; orderIndex++) {
if (orders[orderIndex].Type == ORDER_TYPE_BUY) {
buyOrder = orders[orderIndex]
} else {
sellOrder = orders[orderIndex]
}
}
var realProfit = currTotalEq - totalEq
if (exchange.GetName() == "Futures_Binance") {
_.each(pos, function(p) {
realProfit += parseFloat(p.Info.unRealizedProfit)
})
}
var t = exchange.GetTicker()
tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder.Price + "/" + buyOrder.Amount), (sellOrder.Price + "/" + sellOrder.Amount)])
// 更新图表数据
if (t && showLine) {
_.each(pos, function(p) {
$.PlotLine(descType[p.Type] + "持仓价格", p.Price)
})
$.PlotLine("买单挂单价格", buyOrder.Price)
$.PlotLine("卖单挂单价格", sellOrder.Price)
$.PlotLine("当前价格", t.Last)
}
// 更新状态栏数据
LogStatus("时间:" + _D() + "\n" + "`" + JSON.stringify(tblPos) + "`" + "\n" + "`" + JSON.stringify(tbl) + "`")
Заменить простыеLogStatus
Вывод
LogStatus(_D(), "当前总权益:", currTotalEq, "持仓:", pos)
В этом случае, если вы хотите, чтобы ваш сайт был доступным для всех пользователей, вы можете использовать его в любом случае.
Параметры showLine При выборе, можно использовать классарию рисунков для того, чтобы нарисовать на реальной странице цены на хранение, цены на заказы, текущие ценовые кривые.
Параметры SpecifyPosField Для настройки первичных полей, в которых должна отображаться информация о хранении, так как названия первичных полей для хранения данных различны для каждой биржи. Поэтому здесь разработан индивидуальный параметр для указания названия полей, которые нужно отображать. Например, мой реальный диск:
Я хочу отобразить информацию о хранении в поле "Информация"unRealizedProfit
Принадлежность, что удерживание не достигло прибыли и убытка. Параметр SpecifyPosField может быть установлен на unRealizedProfit.
Подобная конструкция позволяет стратегии адаптироваться к выводу нестандартных данных, предоставляя пользователям возможность настроить выходное содержимое.
Вы можете видеть все данные, которые должны быть показаны на первый взгляд. Наблюдение за ходом торговли, текущей ценой хранения, прибылью, убытком, ценой на заказы очень удобно. Стратегия имеет определенный риск, реальные диски устанавливают конкретные параметры управления в зависимости от собственного риска, самостоятельно получают прибыль и убытки. Стратегия открыта только для обмена и обучения.
AAA386В общем, n = 1 в исходном коде не имеет смысла?
ОтшельникЯ думаю, что это хорошо, что золото XAUUSD относительно резко падает резко падает не так сильно в монетной системе
О, да.Если вы хотите, чтобы вы могли использовать несколько валют одновременно, вы должны изменить параметр в зависимости от параметра прибыли.
Изобретатели количественного измерения - мечтыЭто может быть сделано по дизайну, но это кажется более рискованным, поэтому смерть n = 1.
Изобретатели количественного измерения - мечтыДа, так как разные торговые пары имеют большие различия в ценах, которые не могут быть интуитивно обозначены в процентах. Если вы хотите продолжать использовать разницу в ценах, вам нужно установить параметр матрицы, чтобы установить разницу в ценах для этих разных сортов.