Đây là một chiến lược giao dịch đột phá động lực dựa trên các đường K và D của chỉ số Động cơ Stochastic Smoothed. Nó sử dụng chéo đường K vào khu vực bán quá mức như tín hiệu mua và dừng lại như dừng lỗ.
Chiến lược bao gồm các phần sau:
Cài đặt chỉ số
Sử dụng chỉ số RSI 14 giai đoạn để tạo ra các đường K và D của chỉ số Trình dao động Stochastic Smoothed, với SMA 3 giai đoạn được áp dụng trên các đường K và D.
Sản xuất tín hiệu
Khi đường K vượt qua mức 20, một tín hiệu mua được tạo ra để bước vào dài.
Dừng Loss
Trailing stop loss được sử dụng với khoảng cách dừng dừng cố định.
Định kích thước vị trí
Số điểm giữa giá dừng lỗ và đóng cửa hiện tại được tính bằng cách sử dụng mức thấp nhất trong 20 giai đoạn qua. Sau đó, kích thước vị trí được tính dựa trên số tiền đô la có rủi ro cho mỗi giao dịch và giá trị cho mỗi điểm.
Bằng cách này, chiến lược xác định sự đột phá động lực khi đảo ngược quá mức bán như là tín hiệu đầu vào, và áp dụng kích thước vị trí chính xác và dừng lỗ để đảo ngược động lực giao dịch, với kiểm soát rủi ro hiệu quả.
Chiến lược này có những lợi thế sau:
Có tín hiệu rõ ràng khi bước ra khỏi khu vực mua quá mức với động lực mạnh.
Chuyển động dừng lại linh hoạt với biến động thị trường.
Kích thước vị trí chính xác kiểm soát rủi ro giao dịch duy nhất.
Đặt lỗ chính xác dựa trên mức thấp trong lịch sử.
Đơn giản và rõ ràng vị trí kích thước logic.
Đơn giản và rõ ràng chiến lược logic, dễ hiểu.
Cấu trúc mã sạch, dễ đọc và sửa đổi.
Có một số rủi ro cho chiến lược:
Sự biến động giá cơ bản. Thường xuyên kích hoạt dừng lỗ trong thị trường biến động.
Khả năng vượt quá giao dịch.
Một cổ phần theo hướng, không thể lợi nhuận từ chuyển động giá ngược.
Không có hiệu quả lọc điều kiện thị trường.
Các tối ưu hóa dưới đây có thể giúp quản lý rủi ro:
Tối ưu hóa các thông số để tránh giao dịch quá mức.
Sử dụng các bước nhập để giảm rủi ro theo một hướng.
Thêm phân tích xu hướng khung thời gian lớn hơn để tránh giao dịch trong điều kiện thị trường không thuận lợi.
Tối ưu hóa chiến lược dừng lỗ để ngăn ngừa sự nhạy cảm quá mức.
Các khía cạnh sau đây của chiến lược có thể được tối ưu hóa:
Tối ưu hóa stop loss để sử dụng stop trailing động, stop loss từng giai đoạn, moving average vv để làm cho nó mượt mà hơn.
Thêm phân tích xu hướng khung thời gian lớn hơn để tránh giao dịch trên thị trường bên. Có thể kết hợp phân tích xu hướng với đường trung bình động, các kênh đột phá vv
Hãy xem xét hai sở hữu hướng để kiếm lợi từ pullbacks.
Sử dụng máy học để tối ưu hóa tham số tự động để tìm các tham số tối ưu cho các điều kiện thị trường thay đổi.
Tối ưu hóa kích thước vị trí bằng cách sử dụng tỷ lệ phần trăm cố định, vốn cố định v.v. để cải thiện việc sử dụng vốn.
Thêm nhiều bộ lọc với các chỉ số như khối lượng, Bollinger Bands để cải thiện chất lượng tín hiệu giao dịch.
Nhìn chung, đây là một chiến lược đột phá đà đơn giản và rõ ràng. Nó áp dụng một cách tiếp cận dừng lỗ thận trọng để kiểm soát hiệu quả rủi ro giao dịch duy nhất. Nhưng vẫn cần tối ưu hóa để thích nghi tốt hơn với các điều kiện thị trường cụ thể, lọc các tín hiệu không hiệu quả và đạt được sự cân bằng tốt hơn giữa lợi nhuận và rủi ro. Cải thiện phân tích xu hướng khung thời gian lớn hơn và kích thước vị trí là các hướng tối ưu hóa quan trọng cho chiến lược này. Tóm lại, như một chiến lược đột phá đà cơ bản, nó vẫn thực tế và đáng nghiên cứu thêm để thích nghi với điều kiện thị trường của các công cụ giao dịch cụ thể.
//@version=2 //descripcion: //entrada en saturacion oscilador estocastico //salida por trailing strategy("MomentumBreak#1", overlay=true,calc_on_every_tick=true, default_qty_type=strategy.fixed,currency="USD") //entradas y variables de indicadores smoothK = input(3, minval=1) smoothD = input(3, minval=1) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) src = input(close, title="RSI Source") rsi1 = rsi(src, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) overbought=input(80) oversold=input(20) //entradas de stop , trail, profit stop=input(1500) stop_dentro_de_los_ultimos_lows=input(20) trail_points=input(500) trail_offset=input(100) profit=input(1000) riesgo_en_dolares=input(15) //condicion de compra: k>80 buycondition=crossover(k,oversold) //entrada a la posicion posicionabierta=0 if year>2015 if buycondition stoplow=lowest(stop_dentro_de_los_ultimos_lows) riesgo_en_pips = (close - stoplow) valor_del_pip = (riesgo_en_dolares / riesgo_en_pips) tamanio_de_la_posicion= ( valor_del_pip) //la posicion la esta calculando bien strategy.entry("buy",strategy.long) strategy.exit("salida","buy",trail_points=trail_points,trail_offset=trail_offset,stop=stoplow,comment=tostring(stoplow)) //////////////////////////////////condicion de stop por drodown 10% equity //strategy.risk.max_drawdown(15,strategy.cash) // condicion de stop por perdida mayor a $15 en op abierta //strategy.risk.max_intraday_loss(15,strategy.cash) //formas de tomar stop: // cuando llega a una media movil: strategy.close o strategyentry o strategy.exit o strategy.order // determinado por un numero de pips strategy.exit // determinado por el calculo de la posicion: //tomar el minimo minimo de los ultimos 20 periodos, guardarlo como nivel de stop //calcular la posicion en base a ese stop: //prcio de entrada - precio de stop = pips_en-reisgo //riesgo_e_dolares / pips_en_riesgo = pip_value //position_size=10000 * pip_value