
Леоновская трещина - это простая стратегия торговли короткой линией, основанная на пересечении равномерных линий. Эта стратегия использует в основном два движущихся средних, делая больше, когда быстрые движущиеся средние пересекают медленные движущиеся средние снизу; и, когда быстрые движущиеся средние пересекают медленные движущиеся средние сверху. Название стратегии взято из популярного в торговле термина “леоновская трещина”, который означает захват небольших движений цены короткой линии, чтобы получить прибыль в узких трещинах равномерных линий.
Эта стратегия использует два движущихся средних: быстрое движущееся среднее небольшой MAPeriod и медленное движущееся среднее bigMAPeriod. Два движущихся средних образуют ценовой канал, внизу которого находится быстрое движущееся среднее, а на канале - медленное движущееся среднее.
В частности, сначала стратегия рассчитывает быстрое движение средней малышей МА и медленной движущейся средней bigMA. Затем подсчитывает по каналу Buy-in-Line Buy-in-Line, которая является ((100 - percentBelowToBuy) % от Slow-Moving-Average Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line Buy-in-Line
В целом, эта стратегия используется для захвата рычагов вниз по каналу с целью получения короткой прибыли. Она одновременно устанавливает условия для остановки и убытков, чтобы контролировать риск отдельных сделок.
Эта стратегия имеет следующие преимущества:
Концепция проста, ее легко понять и реализовать. Использование двухравнолинейного скрещивания является самой основной стратегией технических показателей.
Простая обратная связь. Эта стратегия использует встроенную обратную связь в TradingView без дополнительной реализации.
Сильная визуализация. С помощью TradingView можно показать торговые сигнальные точки и отслеживать статистические данные непосредственно на графике.
Контролируемый риск. Стратегия устанавливает условия стоп-стопа и стоп-лосса, которые позволяют эффективно контролировать потери от одной сделки.
Гибкая настройка. Пользователи могут настраивать параметры средней линии и другие технические показатели в соответствии со своими потребностями, чтобы стратегия была более подходящей для разных видов и стилей торговли.
Также существуют следующие риски:
Возможно создание избыточного количества сигналов. Двойная равнолинейная стратегия легко приводит к созданию многократных ошибочных сигналов при сворачивании.
Одиночная зависимость от показателя. Принимая решение только с использованием среднелинейного перекрестка, игнорируются другие факторы, которые могут привести к более низкому качеству сигнала.
Оптимизация параметров затруднительна. Оптимизация комбинации параметров среднелинейного цикла требует больших вычислений, и найти оптимальные параметры нелегко.
Отклонение от отслеживания. Простые двулинейные стратегии отслеживания, как правило, лучше, чем на твердом диске.
Трудности с остановкой. Установка фиксированной точки остановки затрудняется при изменении условий.
Эта стратегия может быть оптимизирована в следующих аспектах:
В сочетании с другими показателями фильтрации сигналов, таких как объем торгов, волатильность и т. д., чтобы избежать появления недействительных сигналов в процессе свертывания.
Добавление суждений, основанных на тренде, чтобы избежать обратной торговли. Можно добавить более длительную среднюю циклическую линию, чтобы судить о направлении тренда.
Поиск оптимальных параметров с помощью машинного обучения. Автоматический поиск оптимальных комбинаций параметров с использованием оптимизации последовательных параметров или генетических алгоритмов.
Добавление стратегий остановки убытков, таких как отслеживание остановки, перемещение остановки и т. Д., делает остановку убытков более гибкой.
Оптимизация времени поступления. Другие показатели могут быть использованы для выявления более эффективных моментов поступления.
В сочетании с количественными исследованиями, для оптимизации обратной связи и повышения стабильности параметров.
Разработка автоматизированной торговой системы для оптимизации параметров и оценки стратегий с использованием программированных сделок.
Стратегия Lion’s Crack Equilibrium является очень подходящей для новичков. Она использует простой принцип двойного равномерного пересечения, устанавливает правила стоп-стоп-лоса и может улавливать короткие колебания цен. Стратегия проста в понимании и имеет хороший эффект от отслеживания.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TraderHalai
// This script was born out of my quest to be able to display strategy back test statistics on charts to allow for easier backtesting on devices that do not natively support backtest engine (such as mobile phones, when I am backtesting from away from my computer). There are already a few good ones on TradingView, but most / many are too complicated for my needs.
//
//Found an excellent display backtest engine by 'The Art of Trading'. This script is a snippet of his hard work, with some very minor tweaks and changes. Much respect to the original author.
//
//Full credit to the original author of this script. It can be found here: https://www.tradingview.com/script/t776tkZv-Hammers-Stars-Strategy/?offer_id=10&aff_id=15271
//
// This script can be copied and airlifted onto existing strategy scripts of your own, and integrates out of the box without implementation of additional functions. I've also added Max Runup, Average Win and Average Loss per trade to the orignal script.
//
//Will look to add in more performance metrics in future, as I further develop this script.
//
//Feel free to use this display panel in your scripts and strategies.
//Thanks and enjoy! :)
//@version=5
// strategy("Strategy BackTest Display Statistics - TraderHalai", overlay=true, default_qty_value= 5, default_qty_type = strategy.percent_of_equity, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.1)
//DEMO basic strategy - Use your own strategy here - Jaws Mean Reversion from my profile used here
source = input(title = "Source", defval = close)
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 8)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 1)
smallMA = ta.sma(source, smallMAPeriod)
bigMA = ta.sma(source, bigMAPeriod)
buyMA = ((100 - percentBelowToBuy) / 100) * ta.sma(source, bigMAPeriod)[0]
buy = ta.crossunder(smallMA, buyMA)
if(buy)
strategy.entry("BUY", strategy.long)
if(strategy.openprofit >= strategy.position_avg_price * 0.01) // 1% profit target
strategy.close("BUY")
if(ta.barssince(buy) >= 7) //Timed Exit, if you fail to make 1 percent in 7 candles.
strategy.close("BUY")
///////////////////////////// --- BEGIN TESTER CODE --- ////////////////////////
// COPY below into your strategy to enable display
////////////////////////////////////////////////////////////////////////////////
// strategy.initial_capital = 50000
// // Declare performance tracking variables
// drawTester = input.bool(true, "Draw Tester")
// var balance = strategy.initial_capital
// var drawdown = 0.0
// var maxDrawdown = 0.0
// var maxBalance = 0.0
// var totalWins = 0
// var totalLoss = 0
// // Prepare stats table
// var table testTable = table.new(position.top_right, 5, 2, border_width=1)
// f_fillCell(_table, _column, _row, _title, _value, _bgcolor, _txtcolor) =>
// _cellText = _title + "\n" + _value
// table.cell(_table, _column, _row, _cellText, bgcolor=_bgcolor, text_color=_txtcolor)
// // Custom function to truncate (cut) excess decimal places
// truncate(_number, _decimalPlaces) =>
// _factor = math.pow(10, _decimalPlaces)
// int(_number * _factor) / _factor
// // Draw stats table
// var bgcolor = color.new(color.black,0)
// if drawTester
// if barstate.islastconfirmedhistory
// // Update table
// dollarReturn = strategy.netprofit
// f_fillCell(testTable, 0, 0, "Total Trades:", str.tostring(strategy.closedtrades), bgcolor, color.white)
// f_fillCell(testTable, 0, 1, "Win Rate:", str.tostring(truncate((strategy.wintrades/strategy.closedtrades)*100,2)) + "%", bgcolor, color.white)
// f_fillCell(testTable, 1, 0, "Starting:", "$" + str.tostring(strategy.initial_capital), bgcolor, color.white)
// f_fillCell(testTable, 1, 1, "Ending:", "$" + str.tostring(truncate(strategy.initial_capital + strategy.netprofit,2)), bgcolor, color.white)
// f_fillCell(testTable, 2, 0, "Avg Win:", "$"+ str.tostring(truncate(strategy.grossprofit / strategy.wintrades, 2)), bgcolor, color.white)
// f_fillCell(testTable, 2, 1, "Avg Loss:", "$"+ str.tostring(truncate(strategy.grossloss / strategy.losstrades, 2)), bgcolor, color.white)
// f_fillCell(testTable, 3, 0, "Profit Factor:", str.tostring(truncate(strategy.grossprofit / strategy.grossloss,2)), strategy.grossprofit > strategy.grossloss ? color.green : color.red, color.white)
// f_fillCell(testTable, 3, 1, "Max Runup:", str.tostring(truncate(strategy.max_runup, 2 )), bgcolor, color.white)
// f_fillCell(testTable, 4, 0, "Return:", (dollarReturn > 0 ? "+" : "") + str.tostring(truncate((dollarReturn / strategy.initial_capital)*100,2)) + "%", dollarReturn > 0 ? color.green : color.red, color.white)
// f_fillCell(testTable, 4, 1, "Max DD:", str.tostring(truncate((strategy.max_drawdown / strategy.equity) * 100 ,2)) + "%", color.red, color.white)
// // --- END TESTER CODE --- ///////////////