
Esta estratégia compreende várias dimensões, como a liquidez do mercado, tendências e indicadores técnicos, para realizar uma estratégia de negociação de linha curta. A estratégia pode seguir a tendência, aproveitar a operação de abertura de posição quando a liquidez do mercado é melhor, para obter lucro de linha curta.
Princípio Básico: Esta estratégia considera principalmente as duas dimensões da liquidez do mercado e da tendência.
Indicadores de liquidez de mercado: Esta estratégia utiliza principalmente MFI e mudanças no volume de transações como indicadores de liquidez de mercado. Quando os MFI aumentam e o volume de transações aumenta, consideramos que o mercado é mais liquido e adequado para abrir posições.
A estratégia combina vários indicadores, como o ADX, EMA e outros, para determinar a tendência. A tendência é forte quando o ADX é superior a 30 e seu EMA.
Condições de abertura de posição: quando o mercado é mais fluido e, ao mesmo tempo, há uma tendência, um sinal de abertura de posição é gerado se outras condições auxiliares (como o julgamento da posição SAR, etc.) também estiverem em conformidade.
Esta estratégia estabelece um stop loss fixo (de 10 pontos) e um stop loss (de 7,5 pontos) por transação.
A estratégia tem as seguintes vantagens:
Aproveite o momento de avaliar a liquidez do mercado: avaliar a liquidez do mercado com base no volume de transações e MFI, evitando abrir posições em momentos de baixa liquidez.
Seguir a tendência para obter lucro: em combinação com indicadores como a EMA para determinar a direção da tendência, ajudando a obter lucro da tendência.
Controle de risco em ação: configuração de stop-loss fixo para controlar efetivamente a perda máxima de uma única transação.
Frequência de negociação mais alta: Como uma estratégia de curta-circuito, a frequência de negociação é mais alta, apropriada para acumular lucros progressivos.
Os parâmetros de otimização são maiores: os parâmetros de MA, a configuração de stop loss, etc., podem ser otimizados para melhorar a eficácia da estratégia.
A estratégia também apresenta alguns riscos:
Risco de controle de deslizamento do disco: o stop loss teórico não reflete completamente a situação do disco, e o deslizamento no disco pode ser maior.
Risco de falha de avaliação de tendências: esta estratégia depende de mais indicadores de avaliação de tendências, mas ainda existe a possibilidade de falha.
Risco de excesso de negociação: como uma estratégia de curta-circuito, se os parâmetros não forem configurados corretamente, isso pode levar a excesso de negociação.
Risco de situações anormais no mercado: a estratégia pode não funcionar em situações extremas, como a falta de liquidez no mercado ou mudanças de política.
Em contrapartida, podemos reduzir o risco das seguintes maneiras:
A largura de suspensão adequada, levando em consideração os fatores de deslizamento do disco.
Otimizar a lógica de julgamento de tendências, introduzir mais indicadores e reduzir a probabilidade de falhas.
Adição de restrições de frequência de abertura para evitar o excesso de negociação.
Ajustar os parâmetros de forma flexível de acordo com a situação do mercado, para responder a situações excepcionais.
A estratégia de otimização inclui:
A introdução de mais indicadores para otimizar o julgamento de tendências torna o julgamento mais preciso. Por exemplo, a introdução do indicador MACD.
Optimizar os parâmetros do ciclo de MA, procurando a melhor combinação de parâmetros.
Melhorar as estratégias de stop-loss, como o uso de stop-loss móvel, stop-loss intervalo e outros.
Adicione restrições ao número de transações, evitando transações de alta frequência. Por exemplo, o máximo de 3 posições por dia.
Buscar melhores indicadores de liquidez de mercado para avaliar melhor o momento de abrir uma posição.
Adição de função de otimização de parâmetros para otimização automática de parâmetros para encontrar o melhor conjunto de parâmetros.
Esta estratégia compreende várias dimensões, como a liquidez do mercado e a tendência, para capturar lucros em linhas curtas. Em comparação com a estratégia de tendência tradicional, a maior inovação desta estratégia é a introdução de indicadores de liquidez do mercado, evitando a interrupção da abertura de posições quando há falta de liquidez no mercado.
/*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)