Стратегия скальпинга, основанная на ликвидности рынка и тенденции

Автор:Чао Чжан, Дата: 2024-01-30 15:36:33
Тэги:

img

Обзор

Эта стратегия всесторонне рассматривает рыночную ликвидность, тенденции и технические показатели для реализации краткосрочных торговых стратегий.

Принцип стратегии

  1. Основной принцип: эта стратегия в основном рассматривает ликвидность рынка и тенденцию.

  2. Индикаторы ликвидности рынка: Эта стратегия в основном использует МФО и изменения объема торговли в качестве показателей ликвидности рынка.

  3. Суждение о тренде: эта стратегия объединяет ADX, EMA и другие индикаторы для определения тренда. Когда ADX выше 30 и его EMA, это означает, что тенденция относительно сильна. В то же время, если происходит золотой крест быстрой и медленной EMA, тенденция также может быть проверена.

  4. Условия открытия: когда ликвидность рынка хорошая и тенденция появляется одновременно, если также выполнены другие вспомогательные условия (например, суждение о позиции SAR и т. д.), генерируются сигналы открытия.

  5. Настройки Take Profit и Stop Loss: Эта стратегия устанавливает фиксированную прибыль (10 пунктов) и стоп-лосс (7,5 пунктов) для каждой сделки.

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Использовать ликвидность рынка для определения сроков: для определения ликвидности рынка, основываясь на МФО и объеме торгов, избегайте открытия позиций, когда ликвидность рынка слаба.

  2. Следите за тенденциями для получения прибыли: объедините EMA и другие показатели для определения направления тренда, помогайте получить тенденционную прибыль.

  3. Хороший контроль рисков: устанавливается фиксированная прибыль и остановка убытков для эффективного контроля максимального убытка на одну сделку.

  4. Относительно высокая частота торговли: как краткосрочная стратегия, частота торговли будет относительно высокой, подходящей для накопления прибыли шаг за шагом.

  5. Большое пространство для оптимизации параметров: например, параметры MA, параметры стоп-лосса и прибыли могут быть оптимизированы для улучшения эффективности стратегии.

Анализ рисков

Эта стратегия также сопряжена с некоторыми рисками:

  1. Риск контроля реального сдвига в торговле: теоретический стоп-лосс и прибыль не могут полностью отражать реальные условия торговли.

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

  3. Риск чрезмерной торговли: В качестве краткосрочной стратегии неправильное настройка параметров может привести к чрезмерной торговле.

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

Соответственно, мы можем уменьшить риски из следующих аспектов:

  1. Соответственно расслабить диапазон стоп-лосса, чтобы учитывать реальные факторы скольжения.

  2. Оптимизировать логику оценки тренда и ввести больше индикаторов для снижения вероятности неудачи.

  3. Добавьте ограничения частоты открытых позиций, чтобы избежать чрезмерной торговли.

  4. Гибко регулировать параметры на основе рыночных условий для решения ненормальных ситуаций.

Направление оптимизации

Направления оптимизации этой стратегии включают:

  1. Внедрить больше индикаторов для оптимизации оценки тренда и сделать суждения более точными.

  2. Оптимизировать параметры цикла MA для поиска наилучшей комбинации параметров.

  3. Улучшить стратегии стоп-лосса и прибыли, такие как использование движущей стоп-лосса, интервала стоп-лосса и т.д.

  4. Добавьте ограничения на количество сделок, чтобы избежать чрезмерно высокой частоты торговли.

  5. Найти лучшие показатели ликвидности рынка для дальнейшего определения сроков открытия позиций.

  6. Добавить функции оптимизации параметров для автоматической оптимизации параметров для поиска оптимальных комбинаций параметров.

Резюме

Эта стратегия всесторонне учитывает такие факторы, как ликвидность рынка и тенденция. Она получает прибыль в краткосрочной перспективе. По сравнению с традиционными стратегиями тренда, самым большим новшеством этой стратегии является внедрение индикаторов ликвидности рынка, чтобы избежать открытия позиций, когда ликвидность рынка слаба. Соответственно, эта стратегия также имеет определенные риски контроля в реальном мире и риски неправильной оценки тренда. Мы можем постоянно улучшать эту стратегию путем внедрения большего количества индикаторов, оптимизации параметров и управления рисками.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
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/
// © trent777brown

//@version=5
strategy("scalping with market facilitation", overlay=true, margin_long=100, margin_short=100)


MFI0 = (high - low) / volume
MFI1 = (high[1] - low[1]) / volume[1]

MFIplus = MFI0 > MFI1
MFIminus = MFI0 < MFI1

//Current Trend-(Changed mean to trend)-revised
trendplus = hl2 > high[1]
trendzero = hl2 < high[1] and hl2 > low[1]  //addition of script
trendminus = hl2 < low[1]  //changed high to low

//Volume +/-
volplus = volume > volume[1]
volminus = volume < volume[1]

//Period Control by Buyers or Sellers is determined with reference to Price action of the period 
//divided into 3 sectors, sector 1 is the Top third, Sector 2 is the middle third, 
//and sector 3 is the Bottom third of the period. Control classifications are: Extremes(11, 33), Neutral(22), 
//Climbers(31,21,32) Open lower than Close, and Drifters(13,23,12)Close lower than Open

//value0 = low
//value1 = ((high - low)/3)
//value2 = ((high - low)/3)*2
//value3 = high

//o1 = (open >= (((high - low)/3) * 2) + low)
//c1 = (close >= (((high - low)/3) * 2) + low)
//o2 = (open <= o1) 
//c2 = (close <= c1)
//o3 = (open <= ((high - low)/3) + low)
//c3 = (close <= ((high - low)/3) + low)

//sector2 = if((high - low)/3) + low and sector2 <= (((high - low)/3)*2) + low

//sector3 = if((high - low)/3) + low and >= low


//Extremes-Full Control of Period by Buyers or Sellers 
//pg79 notes an 85% chance that the current trend will change in the next 1 to 5 bars
b11 = open >= (high - low) / 3 * 2 + low and close >= (high - low) / 3 * 2 + low  //Extreme Buyer Control:Chartruse
b33 = open <= (high - low) / 3 + low and close <= (high - low) / 3 + low  //Extreme Seller Control:Crimson
//Neutral pg80
b22 = open >= (high - low) / 3 + low and open <= (high - low) / 3 * 2 and close >= (high - low) / 3 + low and open <= (high - low) / 3 * 2  //Bracketed Price Control
//Climber-Open lower than Close pg81
b31 = open <= (high - low) / 3 + low and close >= (high - low) / 3 * 2 + low  //Strong Buyer Control:Dark Green
b21 = open >= (high - low) / 3 + low and open <= (high - low) / 3 * 2 and close >= (high - low) / 3 * 2 + low  //Moderate Buyer Control:Green
b32 = open <= (high - low) / 3 + low and close >= (high - low) / 3 + low and open <= (high - low) / 3 * 2  //Weak Buyer Control:Light Green
//Drifter-Close lower than Open pg81
b13 = open >= (high - low) / 3 * 2 + low and close <= (high - low) / 3 + low  //Strong Seller Control:Dark Red
b23 = open >= (high - low) / 3 + low and open <= (high - low) / 3 * 2 and close <= (high - low) / 3 + low  //Moderate Seller Control:Red
b12 = open >= (high - low) / 3 * 2 + low and close >= (high - low) / 3 + low and open <= (high - low) / 3 * 2  //Weak Seller Control:Light Red/Pink

 

//


psar= ta.sar(.09, .2, .2)

ema8= ta.ema(hlc3, 8)

ema13h= ta.ema(high, 13)
ema13l= ta.ema(low, 13)
ema13= ta.ema(close, 13)

ema55= ta.ema(close, 100)

[dip, dim, adx]= ta.dmi(5, 5)
adxema=ta.ema(adx, 3)
[macdl, sigl, histl]= ta.macd(close, 8, 13, 5)
obv= ta.obv
obvema= ta.ema(obv, 8)
obvema55= ta.ema(obv, 55)
mfigreen= MFIplus and volplus
adx_x_over= ta.crossover(adx, adxema) and adx >= 25
barssincemfi= ta.barssince(mfigreen)










longtrig2= adx > 30 and adx > adxema and barssincemfi <= 4 


shorttrig2= adx > 30 and adx > adxema and barssincemfi <= 4 


long= macdl > sigl and obv > obvema55 and ema8 > ema55   and psar < low and trendplus//and ema13l > ema55//and open > hull200 and close > hull200

short= macdl < sigl and obv < obvema55 and ema8 < ema55 and psar > high and trendminus//and ema13h < ema55//open < hull200 and close < hull200


//plot(hull200, color=color.red, linewidth=3)
plot(ema13h, color=color.gray, linewidth=3)
plot(ema13l, color=color.gray, linewidth=3)

plot(ema13, color=color.blue, linewidth=3)
//
plot(ema55, color=color.white, linewidth=3)
plot(psar, color=color.white, style=plot.style_circles)
plotshape(mfigreen, color=color.yellow, style=shape.flag, location=location.belowbar, size= size.tiny)
longCondition = long
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long, 1,  when= longtrig2)
    strategy.exit("exit long", "My Long Entry Id", profit= 100, loss= 75)
shortCondition = short
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short, 1,  when= shorttrig2)
    strategy.exit("exit short", "My Short Entry Id", profit= 100, loss= 75)


Больше