Hãy cùng xem các ví dụ về cách hoạt động của các chỉ báo, tập trung vào những chỉ báo vẽ và không vẽ. Ví dụ, hãy xem xét cách một chỉ báo dạng candle (Thanh) có thể hoạt động khác nhau so với các loại khác.
Sự khác biệt về tín hiệu trong lập trình. Sử dụng tham số dịch chuyển (Shift)
Để hiểu rõ hơn cách thức hoạt động của các chỉ báo, việc khám phá các ví dụ về cả chỉ báo vẽ và chỉ báo không vẽ là rất cần thiết.
Chỉ báo vẽ (Repaint) là những chỉ báo được vẽ trực tiếp lên biểu đồ giá, trong khi chỉ báo không vẽ hiển thị kết quả ở cửa sổ riêng biệt.??????KHÔNG
Các chỉ báo vẽ hoặc vẽ lại là công cụ kỹ thuật được sử dụng trong giao dịch, có khả năng sửa đổi tín hiệu (như mũi tên) hoặc thay đổi hướng tín hiệu nhằm cung cấp chỉ báo chính xác hơn trên các thanh (candle) hiện tại hoặc trước đó.
Thanh = Candle:
Các chỉ báo này có khả năng vẽ lại tín hiệu, điều này có thể coi là vi phạm tính toàn vẹn giao dịch và là một hành vi có tính lừa dối.
Một số chỉ báo cố ý vẽ lại tín hiệu của mình nhằm tăng tính thẩm mỹ, làm cho biểu đồ trở nên đẹp mắt hơn.
Các chỉ báo khác thực hiện việc vẽ lại như một phần của phép tính toán nhằm cải thiện độ chính xác và độ tin cậy của tín hiệu được tạo ra.
Tuy nhiên, hành vi vẽ trên thanh 0 (candle) hoặc thanh hiện tại là điều bình thường của tất cả các chỉ báo. Việc vẽ ban đầu này đảm bảo rằng chỉ báo được căn chỉnh chính xác với dữ liệu thị trường mới nhất.
Hãy cùng khám phá những lý do cơ bản khiến các chỉ báo vẽ lại tín hiệu và những hệ quả của điều đó đối với các chiến lược giao dịch.
Sự khác biệt về tín hiệu giữa hai loại chỉ báo này có thể rất đáng kể, do đó việc hiểu rõ hành vi của chúng là điều cốt yếu khi lập trình chiến lược giao dịch.
Một cách để ảnh hưởng đến cách thức hoạt động của các chỉ báo là sử dụng tham số dịch chuyển (Shift), cho phép bạn điều chỉnh tín hiệu chỉ báo tiến hoặc lùi theo thời gian.
Bằng cách thử nghiệm với các giá trị khác nhau của tham số dịch chuyển (Shift), bạn có thể tinh chỉnh các chỉ báo của mình để phù hợp hơn với chiến lược giao dịch, từ đó tăng cơ hội thành công trên thị trường.
Và bạn có thể kiểm tra các chỉ báo này với sự trợ giúp của trình kiểm tra chiến lược bằng Expert Advisor đa năng của chúng tôi:
Bài viết này được viết theo yêu cầu của các đối tác của chúng tôi.
Khi đặt hàng lập trình Expert Advisor, bạn có thể điều chỉnh thanh tín hiệu trong tất cả các EA của tôi.
Thông thường có nhiều ý kiến phàn nàn trên mạng rằng một số Expert Advisor không hoạt động chính xác do các chỉ báo của chúng nó.
Tôi sẽ giải thích chi tiết các tín hiệu này và chứng minh điều ngược lại: tất cả các chỉ báo đều vẽ, chỉ cần sử dụng đúng cách.
Có phiên bản video của bài viết này, nhưng trước khi xem, tôi khuyên bạn nên đọc bản văn bản để hiểu sâu hơn.
Số Thanh (Candle) Dịch Chuyển (Shift) (0,1,2…)
Tham số này biểu thị số thứ tự của thanh mà từ đó các chỉ báo của bạn sẽ lấy tín hiệu.
Khi đặt hàng một Expert Advisor, bạn cần chỉ định các tham số định nghĩa tín hiệu sau: mở lệnh ngay sau khi tín hiệu xuất hiện, hoặc chờ đến khi tín hiệu được hình thành trên một thanh đã đóng và mở lệnh chỉ khi thanh kế tiếp bắt đầu.
Do thuật toán của chúng, một số chỉ báo có định nghĩa rõ ràng: tín hiệu được đưa ra trên thanh nào?
Nếu nói về độ rõ ràng và thực hiện đúng lệnh, thì giao dịch phải được xử lý chỉ trên một thanh đã đóng, tức là với tham số dịch chuyển (Shift)=1.
Nếu cần mở giao dịch ngay lập tức khi tín hiệu xuất hiện trên thanh hiện tại và chỉ báo cho phép điều đó, bạn cần đặt dịch chuyển (Shift)=0.
Expert Advisor
EA được viết theo mẫu của chúng tôi để lập trình EA. Tất cả các chức năng của advisor được mô tả trên trang: Chức Năng của Forex Advisor.
Bạn có thể tải gói phần mềm từ liên kết Thanh Tín HiệuGói Kiểm Tra
1. Chỉ Báo Trung Bình Động (Moving Average Indicator)
Chỉ báo tiêu chuẩn của terminal MT4 bao gồm chu kỳ trung bình động, giá trung bình và loại trung bình được cài đặt trong phần thiết lập.
Chiến Lược Giao Dịch: Giao cắt trung bình động. Giao cắt giữa MA chậm và MA nhanh.
Mã Chiến Lược:
double ExampleMA=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift); // Ví dụ gọi MA
double ExampleMA2=iMA(Symbol(),0,50,0,MODE_SMA,PRICE_CLOSE,shift); // Ví dụ gọi MA
double ExampleMA23=iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,shift+1); // Ví dụ gọi MA
double ExampleMA22=iMA(Symbol(),0,50,0,MODE_SMA,PRICE_CLOSE,shift+1); // Ví dụ gọi MA
if(ExampleMA23<ExampleMA22 && ExampleMA>ExampleMA2) Sig=1;
if(ExampleMA23>ExampleMA22 && ExampleMA<ExampleMA2) Sig=2;
Ví Dụ Làm Việc với Dịch Chuyển (Shift)=0
Ví Dụ Làm Việc với Dịch Chuyển (Shift)=1
Giải Thích: Chỉ báo này không vẽ, cho phép sử dụng với bất kỳ giá trị dịch chuyển (Shift) nào.
Ví Dụ Video:
2. Chỉ Báo Giao Cắt (Indicator Cross)
Một chỉ báo tùy chỉnh dựa trên chiến lược giao cắt MA với các tính năng bổ sung. Nó vẽ nổi bật với độ chính xác cao. Giao cắt trên 1 thanh sẽ vẽ mũi tên tại thanh 0 và liên tục vẽ lại.
Giải Thích: Chỉ báo này vẽ nổi bật, và nhà phát triển cố tình vẽ lại tín hiệu. Do đó, việc sử dụng chỉ báo này làm tín hiệu là rủi ro.
Ví Dụ Video:
3. Chỉ Báo CurrencyPowerMeter
Một chỉ báo tùy chỉnh đo sức mạnh của các loại tiền tệ. Chỉ báo này hoạt động dựa trên các đối tượng, do đó tham số dịch chuyển (Shift) không có tác dụng. Chiến lược giao dịch của chỉ báo này dựa trên việc lấy giá trị không từ bộ đệm chỉ báo mà từ đối tượng trên biểu đồ.
Chiến Lược Giao Dịch: Giao dịch chênh lệch sức mạnh tiền tệ
Giải Thích: Chỉ báo này không sử dụng bộ đệm chỉ báo và dựa trên đối tượng. Do đó, thanh tín hiệu không có ý nghĩa. Các chỉ báo như thế này không thể được kiểm tra hay tối ưu hóa và chỉ hoạt động trong thời gian thực.
Ví Dụ Video:
4. Chỉ Báo Fiji Trend
Một chỉ báo tùy chỉnh hoạt động dựa trên tín hiệu MA và ATR dưới dạng mũi tên. Nó không vẽ chỉ báo, nhưng với một thủ thuật nhỏ, chỉ báo lấy dữ liệu từ các thanh đã đóng nhưng hiển thị mũi tên trên thanh hiện tại (0), tạo ra ảo giác lừa dối.
Chiến Lược Giao Dịch: Giao dịch dựa trên mũi tên của chỉ báo
Mã Chiến Lược:
int Sig=0;
double DNSignal=iCustom(Symbol(),0,"Fiji Trend",3,shift); // Ví dụ gọi chỉ báo tùy chỉnh
double UPSignal=iCustom(Symbol(),0,"Fiji Trend",2,shift); // Ví dụ gọi chỉ báo tùy chỉnh
double DNTrend=iCustom(Symbol(),0,"Fiji Trend",1,shift); // Ví dụ gọi chỉ báo tùy chỉnh
double UPTrend=iCustom(Symbol(),0,"Fiji Trend",0,shift); // Ví dụ gọi chỉ báo tùy chỉnh
// Xác định tín hiệu mở lệnh:
if(UPSignal!=EMPTY_VALUE) Sig=1;
if(DNSignal!=EMPTY_VALUE) Sig=2;
Ví Dụ Làm Việc với Dịch Chuyển (Shift)=0
Ví Dụ Làm Việc với Dịch Chuyển (Shift)=1
Giải Thích: Chỉ báo này không vẽ. Tuy nhiên, nó đặt tín hiệu bằng thủ thuật đã nêu. Đây là một trong số ít chỉ báo cung cấp tín hiệu tương đối tốt.
Ví Dụ Video:
5. Chỉ Báo Fisher
Một chỉ báo tùy chỉnh hoạt động trên các thanh Hi-Lo và tính toán tín hiệu dựa trên các công thức riêng. Nó vẽ theo dạng biểu đồ histogram, với việc vẽ lại từ 3-5 thanh đã đóng.
Chiến Lược Giao Dịch: Giao dịch theo histogram. Giao cắt qua mức 0 đánh dấu.
Giải Thích: Chỉ báo này vẽ nên, do đó tôi không khuyến nghị lấy tín hiệu từ nó.
Ví Dụ Video:
6. Chỉ Báo HMA Color
Một chỉ báo tùy chỉnh hoạt động trên MA và tính toán tín hiệu theo công thức riêng.
Chiến Lược Giao Dịch: Giao dịch theo sự thay đổi màu sắc
Mã Chiến Lược:
int Sig=0;
double HMARED=iCustom(Symbol(),0,"HMA Color",3,shift);
double HMAGREEN=iCustom(Symbol(),0,"HMA Color",1,shift);
double HMARED2=iCustom(Symbol(),0,"HMA Color",3,shift+1);
double HMAGREEN2=iCustom(Symbol(),0,"HMA Color",1,shift+1);
// Xác định tín hiệu mở lệnh:
if(HMAGREEN!=EMPTY_VALUE && HMAGREEN2==EMPTY_VALUE) Sig=1;
if(HMARED!=EMPTY_VALUE && HMARED2==EMPTY_VALUE) Sig=2;
Ví Dụ Làm Việc với Dịch Chuyển (Shift)=0
Ví Dụ Làm Việc với Dịch Chuyển (Shift)=1
Giải Thích: Chỉ báo này không vẽ. Tuy nhiên, nó đặt tín hiệu bằng thủ thuật đã nêu. Đây là một trong số ít chỉ báo cung cấp tín hiệu tương đối tốt.
Ví Dụ Video:
7. Chỉ Báo MACD
Chỉ báo tiêu chuẩn của terminal MT.
Chiến Lược Giao Dịch: Giao dịch dựa trên giao cắt giữa đường tín hiệu và histogram
Mã Chiến Lược:
int Sig=0;
double MACD_SIGNAL1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,shift); // Ví dụ gọi MACD
double MACD_SIGNAL2=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,shift+1); // Ví dụ gọi MACD
double MACD_MAIN1=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,shift); // Ví dụ gọi MACD
double MACD_MAIN2=iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,shift+1); // Ví dụ gọi MACD
if(MACD_SIGNAL2<MACD_MAIN2 && MACD_SIGNAL1>MACD_MAIN1) Sig=1;
if(MACD_SIGNAL2>MACD_MAIN2 && MACD_SIGNAL1<MACD_MAIN1) Sig=2;
Ví Dụ Làm Việc với Dịch Chuyển (Shift)=0
Ví Dụ Làm Việc với Dịch Chuyển (Shift)=1
Giải Thích: Chỉ báo này không vẽ lại trên 1 thanh đã đóng, do đó bạn có thể sử dụng dịch chuyển (Shift)=1 một cách tự do.
Ví Dụ Video:
8. Chỉ Báo ZIGZAG
Chỉ báo tiêu chuẩn của terminal MT. Xây dựng các đỉnh và đáy dựa trên cao-thấp của một khu vực cụ thể.
Chiến Lược Giao Dịch: Giao dịch dựa trên việc hình thành đỉnh và đáy. Không khuyến nghị giao dịch với các vị thế dựa trên chỉ báo này. Đây là một chiến lược giới hạn tốt.
Giải Thích: Chỉ báo này vẽ các đỉnh và đáy, do đó dịch chuyển (Shift) không có tác dụng. Các điều kiện độc đáo của chiến lược cho phép giao dịch thành công dựa trên chỉ báo này.
Ví Dụ Video:
9. BARS Hoạt Động Theo Yêu Cầu
Hoạt động trên các thanh tiêu chuẩn của terminal MT.
int Sig=0;
if(Open[shift] < Close[shift]) Sig=1;
if(Open[shift] > Close[shift]) Sig=2;
Ví Dụ Làm Việc với Dịch Chuyển (Shift)=0
Ví Dụ Làm Việc với Dịch Chuyển (Shift)=1
Giải Thích: Một ví dụ hoàn hảo về cách thức hoạt động của tham số dịch chuyển (Shift), minh họa cách bạn có thể giao dịch chiến lược dựa trên tham số này.
Ví Dụ Video:
Kết Luận
Bài viết cung cấp các ví dụ hữu ích về việc sử dụng các chỉ báo với các giá trị khác nhau của tham số dịch chuyển (Shift).
Mỗi chỉ báo là duy nhất; do đó, khi tạo Expert Advisor, bạn cần cân nhắc loại chỉ báo và tín hiệu của nó.
Trước khi thuê lập trình viên để tạo Expert Advisor, điều quan trọng là phải kiểm tra chỉ báo của bạn để phát hiện bất kỳ vấn đề nào liên quan đến việc vẽ lại.
Điều này là rất quan trọng vì độ tin cậy và hiệu quả giao dịch của robot phụ thuộc vào độ chính xác của chỉ báo.
Vì vậy, hãy kiểm tra và thử nghiệm chỉ báo của bạn thật kỹ trước khi tiến hành tạo Expert Advisor.
Hiệu suất giao dịch trong quá khứ không đảm bảo kết quả trong tương lai.
Giao dịch ngoại hối với đòn bẩy mang lại mức độ rủi ro cao và có thể không phù hợp với tất cả các nhà đầu tư.
Hãy nhận thức rằng việc sử dụng robot giao dịch (trading robots) có thể mang lại rủi ro đáng kể, và bạn có thể mất nhiều hơn khoản đầu tư ban đầu.
Xin hãy tiến hành một cách thận trọng, đánh giá kỹ lưỡng tình hình tài chính của bạn, và cân nhắc việc tìm kiếm lời khuyên từ một chuyên gia có đủ năng lực.
Leave a Reply