Stanley Kroll đã đề cập trong cuốn sách của mình
Chiến lược được chia sẻ bởi bài viết này dựa trên nguyên tắc này. Đường trung bình động được sử dụng như là hướng của xu hướng. Mối quan hệ giữa giá đóng cửa, giá cao nhất và giá thấp nhất được sử dụng như là tín hiệu để mở vị trí. Dưới tiền đề là xu hướng giá không thay đổi đáng kể, chủ động kiếm lợi nhuận theo lô theo tỷ lệ phần trăm.
Có một câu ngạn ngữ cũ trong thế giới giao dịch:
Nói một cách đơn giản, vị trí đóng không gì khác ngoài hai tình huống: lấy lợi nhuận và dừng lỗ. Ví dụ, nếu bạn may mắn, giá bắt đầu tăng sau khi mua. Tại thời điểm này, bạn phải xem xét vấn đề lấy lợi nhuận. Nếu không, chúng ta chỉ có thể kiếm tiền trên
Từ quan điểm thống kê, hầu hết các vị trí thua lỗ sẽ trở lại mức giá chi phí trong thị trường tương lai. Tuy nhiên, nếu bạn gặp một xác suất nhỏ của một xu hướng ngược lớn, bạn có thể mất tất cả lợi nhuận trước đó hoặc thậm chí toàn bộ quỹ. Do đó, đối với các nhà đầu tư bán lẻ của chúng tôi, chúng tôi có thể kiếm được lợi nhuận lớn; chúng tôi có thể kiếm được lợi nhuận nhỏ; chúng tôi có thể thực hiện lỗ nhỏ, nhưng chúng tôi không bao giờ có thể mất tiền lớn.
Đôi khi khi chúng ta trực giác lấy lợi nhuận, có thể có một làn sóng lớn của chuyển động giá thị trường mà chúng ta chỉ kiếm được một lượng nhỏ của nó. Mặc dù nó không phải là một giao dịch thất bại, sẽ có một loại hối tiếc từ tâm lý, vì vậy chiến lược này sẽ sử dụng phương pháp lấy lợi nhuận đa cấp, nghĩa là khi lợi nhuận nổi đạt 5%, chế độ lấy lợi nhuận hoạt động cấp một được bật. Một khi 100% được rút khỏi điểm cao nhất của lợi nhuận nổi, lấy lợi nhuận và đóng vị trí; khi lợi nhuận nổi đạt 10%, chế độ lấy lợi nhuận hoạt động cấp hai được kích hoạt. Một khi 50% được rút khỏi điểm cao nhất của lợi nhuận nổi, lấy lợi nhuận và đóng vị trí; Khi lợi nhuận nổi đạt 20%, việc lấy lợi nhuận hoạt động ba cấp được kích hoạt. Một khi 20% được rút khỏi điểm cao nhất của vị trí nổi, chế độ lấy lợi nhuận và đóng vị trí. Đây không chỉ là một chiến lược lợi nhuận lớn, nhưng khi xu hướng nổi xuất hiện, chiến lược này cũng không chỉ bảo vệ lợi nhuận lớn.
Định nghĩa đường ray trên
Định nghĩa đường ray dưới
Định nghĩa trung bình động
Vị trí mở dài: giá đóng cửa lớn hơn đường ray trên và đường ray trên lớn hơn trung bình động
Vị trí ngắn mở: giá đóng cửa thấp hơn đường sắt thấp hơn và đường sắt thấp hơn so với trung bình động
Khóa vị trí dài: Giá đóng cửa thấp hơn đường dẫn thấp hơn hoặc giá đóng cửa thấp hơn đường trung bình động
Khóa vị trí ngắn: Giá đóng cửa lớn hơn đường sắt trên hoặc giá đóng cửa lớn hơn trung bình động
Định vị dài cấp 1 lấy lợi nhuận: giá cao nhất sau khi mở vị trí lớn hơn hoặc bằng với giá mở nhân mức lợi nhuận bắt đầu đầu tiên, và giá thấp nhất nhỏ hơn hoặc bằng với giá cao nhất sau khi mở vị trí trừ đi lợi nhuận biến động nhân giá trị kích hoạt lợi nhuận cấp đầu tiên
Định vị dài cấp 2 lấy lợi nhuận: giá cao nhất sau khi mở vị trí lớn hơn hoặc bằng với giá mở nhân mức lợi nhuận bắt đầu thứ hai, và giá thấp nhất nhỏ hơn hoặc bằng với giá cao nhất sau khi mở vị trí trừ đi lợi nhuận biến động nhân giá trị kích hoạt lợi nhuận cấp hai
Định vị dài cấp 3 lấy lợi nhuận: giá cao nhất sau khi mở vị trí lớn hơn hoặc bằng với giá mở nhân mức lợi nhuận bắt đầu thứ ba, và giá thấp nhất nhỏ hơn hoặc bằng với giá cao nhất sau khi mở vị trí trừ đi lợi nhuận biến động nhân giá trị kích hoạt lợi nhuận cấp ba
Định vị ngắn cấp 1 lấy lợi nhuận: giá thấp nhất sau khi mở vị trí là thấp hơn hoặc bằng với giá mở nhân mức lợi nhuận bắt đầu đầu tiên, và giá cao nhất là lớn hơn hoặc bằng với giá thấp nhất sau khi mở vị trí cộng với lợi nhuận biến động nhân giá trị kích hoạt lợi nhuận cấp đầu tiên.
Vị trí ngắn cấp 2 lấy lợi nhuận: giá thấp nhất sau khi mở vị trí là ít hơn hoặc bằng với giá mở nhân với mức lợi nhuận bắt đầu thứ hai, và giá cao nhất là lớn hơn hoặc bằng với giá thấp nhất sau khi mở vị trí cộng với lợi nhuận biến động nhân với giá trị kích hoạt lợi nhuận cấp hai.
Định vị ngắn cấp 3 lấy lợi nhuận: giá thấp nhất sau khi mở vị trí là ít hơn hoặc bằng với giá mở nhân với mức lợi nhuận bắt đầu thứ ba, và giá cao nhất lớn hơn hoặc bằng với giá thấp nhất sau khi mở vị trí cộng với lợi nhuận biến động nhân với giá trị kích hoạt lợi nhuận cấp ba
Định giá giao dịch dài Stop Loss: Giá đóng cửa ít hơn hoặc bằng giá mở ra nhân với yếu tố stop loss
Định vị ngắn Stop Loss: Giá đóng cửa ít hơn hoặc bằng giá mở cửa nhân với yếu tố stop loss
Dựa trên logic chiến lược trên, chúng tôi có thể thực hiện chiến lược này trên nền tảng FMZ Quant.fmz.com> Login > Dashboard > Strategy Library > New Strategy > Nhấp vào menu thả xuống ở góc trên bên phải để chọn ngôn ngữ của tôi, bắt đầu viết chiến lược, và chú ý đến các bình luận trong mã bên dưới.
Đầu tiên, các tham số cần được sử dụng trong chiến lược: chiều dài đường trung bình, phạm vi dừng lỗ, tham số lấy lợi nhuận, vv, tất cả đều được xác định là các tham số bên ngoài để tạo điều kiện cho việc gỡ lỗi và tối ưu hóa thử nghiệm.
/ / Define parameters
LENGTH := 100; // moving average parameter
STOP_LOSS := 3; // Stop Loss range
// Define the take profit parameter
STARTPER1 := 5; // Level 1 tracking take profit, start from profit reaches 5%
STOPPER1 := 100; // Level 1 tracking take profit, profit retracement 100% triggers it
STARTPER2 := 10; // Level 2 tracking take profit, start from profit reaches 10%
STOPPER2 := 50; // Level 2 tracking take profit, profit retracement 50% trigger it
STARTPER3 := 20; // Level 3 tracking take profit, start from profit reaches 20%
STOPPER3 := 20; // Level 3 tracking take profit, profit retracement 20% trigger
Sau đó, thiết lập một phạm vi giá dựa trên giá hôm nay và hôm qua, và sự biến động của giá hôm qua. Thông qua phạm vi giá này và mối quan hệ vị trí tương đối với đường trung bình động, không chỉ tín hiệu mua và bán các vị trí mở có thể được theo dõi tốt, mà còn làm giảm số lượng các vị trí mở trong thời kỳ sốc và quy mô rút tiền.
/ / Define the upper and lower intervals
NN := BARSLAST(DATE <> REF(DATE, 1)) + 1; // current number of cycles
TODAY_OPEN := VALUEWHEN(NN = 1, O); // Opening price of the day
TODAY_HIGH := HHV(H, NN); // The highest price of the day
TODAY_LOW := LLV(L, NN); // lowest price of the day
YESTERDAY_HIGH := REF(TODAY_HIGH, NN); // Yesterday's highest price
YESTERDAY_LOW := REF(TODAY_LOW, NN); // yesterday's lowest price
BAND := YESTERDAY_HIGH - YESTERDAY_LOW; // Yesterday amplitude
UPPERLINE : TODAY_OPEN + BAND; // upper line
LOWERLINE : TODAY_OPEN - BAND; // lower line
MYMA:MA(CLOSE, LENGTH); // Moving average
Sau đó, nó là mã logic để mở và đóng các vị trí. Khi giá đóng lớn hơn đường ray trên và đường ray trên lớn hơn trung bình di chuyển, mở vị trí dài; khi giá đóng thấp hơn đường ray dưới và đường ray dưới nhỏ hơn trung bình di chuyển, mở vị trí ngắn; điều kiện vị trí đóng chỉ ngược lại với điều kiện vị trí mở: khi giá đóng thấp hơn đường ray dưới, hoặc giá đóng thấp hơn trung bình di chuyển, đóng vị trí dài; khi giá đóng lớn hơn đường ray trên, hoặc giá đóng lớn hơn trung bình di chuyển, đóng vị trí ngắn.
// open the position
C > UPPERLINE AND UPPERLINE > MYMA, BK; // Open long position
C < LOWERLINE AND LOWERLINE < MYMA, SK; // Open short position
// close the position
C < LOWERLINE OR C < MYMA, SP; // Close long position
C > UPPERLINE OR C > MYMA, BP; // Close short position
Cuối cùng, đó là phần dừng lỗ và lấy lợi nhuận mà chúng tôi đã đề cập trong bài viết này. Cho dù đó là vị trí dài hoặc ngắn để lấy lợi nhuận, nó được chia thành ba giai đoạn. Mỗi giai đoạn được tự động điều chỉnh theo biến động giá thị trường hiện tại và lợi nhuận. Và điều chỉnh này được đặt theo các thông số bên ngoài, bạn có thể thực hiện điều chỉnh chi tiết theo các điều kiện thị trường và tình trạng đa dạng khác nhau.
Stop loss cũng là một phần của chiến lược cần phải xem xét, bởi vì không thể kiếm tiền bằng cách mở bất kỳ vị trí nào. Đôi khi thị trường trái ngược với kỳ vọng của chúng tôi, vì vậy stop loss là hoàn toàn cần thiết.
// long position take profit
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER1) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER1, SP; // level 1
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER2) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER2, SP; // level 2
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER3) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER3, SP; // level 3
// short position take profit
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER1) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER1, BP; // level 1
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER2) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER2, BP; // level 2
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER3) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER3, BP; // level 3
// stop loss
C <= BKPRICE * (1 - STOP_LOSS * 0.01), SP; // long position
C >= SKPRICE * (1 + STOP_LOSS * 0.01), BP; // short position
Ngoài ra, chúng tôi cũng thiết lập phương pháp ủy thác đơn đặt hàng, cũng như lọc tín hiệu, để làm cho quá trình xử lý hoàn chỉnh hơn.
// Set the order commission method
SETSIGPRICETYPE(BK,NEW_ORDER);
SETSIGPRICETYPE(SK,NEW_ORDER);
SETSIGPRICETYPE(BP,NEW_ORDER);
SETSIGPRICETYPE(SP,NEW_ORDER);
// Set the signal filtering method
AUTOFILTER;
Môi trường thử nghiệm
Báo cáo hiệu suất
Đường cong quỹ
Nhấp để sao chép toàn bộ nguồn chiến lược mà không cấu hìnhhttps://www.fmz.com/strategy/166753