Thời gian đọc dự kiến: 7 phút

PrescienTrader bao gồm các chức năng đa khung thời gian tích hợp với chức năng phân tích và kiểm tra mạnh mẽ của AmiBroker. Nó cũng bao gồm các tập lệnh AFL thể hiện cách sử dụng các chức năng phân tích. Các chức năng phân tích yêu cầu đăng ký PresellectAPI Professional.

Video sau đây trình bày cách thiết lập và chạy khám phá. Vui lòng xem video, sau đó quay lại bài viết này để tiếp tục với hướng dẫn.

Hình nhỏ

Thăm dò

Khi bạn thực hiện một cuộc thăm dò bằng cách sử dụng tập lệnh Backcesting PrescienTrader đi kèm, AmiBroker sẽ quét qua danh sách các công cụ được chỉ định và phạm vi ngày được chỉ định của bạn. Nó tạo ra một hàng cho mỗi sự kết hợp của một nhạc cụ và một ngày. Trong ví dụ trên, chúng tôi chỉ phân tích một công cụ duy nhất (CHF / JPY) cho phạm vi ngày từ ngày 1 tháng 10 đến ngày 31 tháng 12 năm 2018.

Các kịch bản đầu ra các cột thăm dò sau:

  • Biểu tượng Ticker
  • Ngày giờ
  • Mở, Cao, Thấp, Đóng, Khối lượng, Mở lãi
  • Đã lưu - Cột này được tô sáng màu vàng cho bất kỳ hàng nào bằng cách sử dụng cài đặt tham số đã lưu. Khi bạn lưu các tham số trong PrescienTrader, các tham số chỉ được lưu cho công cụ và khung thời gian đã chọn. Điều này cho phép bạn sử dụng cài đặt tham số tùy chỉnh cho từng nhạc cụ và từng khung thời gian. Khi bạn chạy thăm dò, PrescienTrader sẽ tự động áp dụng mọi cài đặt tham số tùy chỉnh. Điểm nổi bật màu vàng trong cột Đã lưu là để nhắc nhở bạn rằng hàng đang sử dụng các cài đặt đã lưu, không phải các cài đặt bạn đã nhập trong cửa sổ Tham số.
  • Độ dốc PL - Điều này cho thấy độ dốc của xu hướng Pres Pres Line. Độ dốc dương dự đoán xu hướng tăng trong khi độ dốc âm dự đoán xu hướng giảm.
  • Điểm FLD - Tổng số FLD cho tất cả các chu kỳ hợp lệ nhân với Cường độ hoặc Biên độ của mỗi chu kỳ, tùy thuộc vào cài đặt Cơ sở PL của bạn. Các giá trị tích cực cho thấy thị trường đang trong một xu hướng tăng theo chu kỳ. Các giá trị tiêu cực cho thấy thị trường đang trong một xu hướng giảm theo chu kỳ.
  • Thanh xu hướng - Số thanh tương đối trong xu hướng dự đoán hiện tại. Thanh đầu tiên trong một xu hướng là thanh không.
  • Thanh xu hướng - Tổng số thanh trong xu hướng dự đoán hiện tại.
  • Xu hướng Pct - Tỷ lệ hoàn thành cho xu hướng dự đoán hiện tại. Ví dụ: nếu Trend Bar = 5 và Trend Bars = 10, Trend Pct sẽ là 50%. Lưu ý rằng Trend Pct sẽ không bao giờ đạt 100%, vì điều đó có nghĩa là một xu hướng mới đã bắt đầu. Tại điểm trùng lặp giữa xu hướng cũ và xu hướng mới, Trend Pct sẽ là 0%. Ngoài màn hình số, cột này cũng hiển thị biểu đồ thanh chuyển từ màu xanh sang màu đỏ khi xu hướng tiếp diễn.
  • Hoạt động - Đây là tín hiệu, Mua / Bán / Ngắn / Bìa, cho hàng hiện tại. Các tín hiệu được tạo từ các tập lệnh được bao gồm chỉ đơn giản dựa trên Trend Slope. Khi Trend Slope dương, nó sẽ hiển thị tín hiệu Mua và khi Trend Slope âm, nó sẽ hiển thị tín hiệu Short. Điều này được dự định là rất đơn giản thí dụ về cách bạn có thể bắt đầu xây dựng một hệ thống giao dịch bằng cách sử dụng các chỉ số PrescienTrader. KHÔNG sử dụng các tín hiệu ví dụ này để giao dịch trực tiếp, vì rất có thể bạn sẽ mất tiền! Ý tưởng là phát triển hệ thống giao dịch của riêng bạn bằng cách sử dụng các chỉ số của chúng tôi và có thể các chỉ số khác, sau đó kiểm tra lại hệ thống một cách rộng rãi. Khi bạn có một hệ thống backtested hợp lệ, bạn có thể cắm hệ thống đó vào cột Hành động để hiển thị các tín hiệu giao dịch của mình.

Backtesting

Để chạy backtest hoặc tối ưu hóa, hãy bắt đầu bằng cách tải tập lệnh AFL của BackcestTrader Backtesting. Chúng tôi đề nghị bạn tạo một bản sao của kịch bản, thay vì sửa đổi tập lệnh gốc. Các hàm phân tích của chúng tôi tạo đầu ra cho các cột thăm dò và cũng tạo các mảng và ma trận AFL chứa kết quả. Khi chạy backtest hoặc tối ưu hóa, bạn sẽ sử dụng các mảng và ma trận AFL được tạo, bao gồm các phần sau:

  • ptStaticPL
  • ptStaticPLSlope
  • ptStaticFLDScore
  • ptStaticTrendBar
  • ptStaticTrendBars
  • ptStaticTrendPct
  • ptStaticFrequencies (Ma trận)
  • ptStaticSlopes (Ma trận)
  • ptStaticFLDPrices (Ma trận)

Nếu bạn đang chạy một phân tích cho nhiều khung thời gian, các hàm sẽ tạo một tập hợp các mảng và ma trận riêng cho từng khung thời gian. Các tên sẽ giống như trên, ngoại trừ mỗi tên sẽ có hậu tố HTPx, trong đó x đại diện cho chỉ số khoảng thời gian cao hơn. Ví dụ: các mảng và ma trận cho khoảng thời gian cao hơn đầu tiên sẽ được đặt tên là ptStaticPLHTP1, ptStaticPLSlopeHTP1, v.v.

Backtester AmiBroker cực kỳ mạnh mẽ. Nó hỗ trợ kiểm tra danh mục đầu tư thực sự, thử nghiệm chuyển tiếp, mô phỏng Monte Carlo, thử nghiệm nhiều khung thời gian, hình chóp và chia tỷ lệ, nhiều loại tiền tệ và hơn thế nữa. Tất cả chức năng và sức mạnh này có sẵn cho bạn để kiểm tra lại và đầu ra từ PrescienTrader. Nó nằm ngoài phạm vi của bài viết này để thảo luận về các chi tiết của việc kiểm tra lại trong AmiBroker. Vì thế, tốt nhất bạn nên đọc tài liệu của AmiBroker.

Các tham số và biến tham số

Khi chạy phân tích, PrescienTrader sẽ sử dụng các giá trị tham số bạn chỉ định trong cửa sổ Tham số. Tuy nhiên, nếu trước đây bạn đã lưu cài đặt công cụ cho thị trường và khung thời gian hiện tại, thì cài đặt đã lưu sẽ ghi đè cài đặt được hiển thị trong cửa sổ Tham số. Điều này cho phép bạn thực hiện phân tích danh mục đầu tư bằng các giá trị tham số khác nhau cho từng công cụ trong danh mục đầu tư. Khi bạn xem cửa sổ Tham số, nó sẽ hiển thị các cài đặt cuối cùng bạn đã nhập, có thể không nhất thiết là các cài đặt đã lưu. Nhấn vào Đặt lại tất cả nút để hiển thị các cài đặt nhạc cụ đã lưu.

Ngoài ra, bạn có thể lưu cài đặt mặc định. Không giống như cài đặt công cụ đã lưu, cài đặt mặc định đã lưu KHÔNG PHẢI ghi đè cài đặt hiển thị. Điều này cho phép bạn tận dụng thực tế là AmiBroker sẽ tự động ghi nhớ các cài đặt cuối cùng bạn đã nhập, vì vậy nếu bạn đang thử nghiệm một bộ cài đặt nhất định nhiều lần, bạn không phải nhập lại chúng mỗi lần. Tuy nhiên, bạn luôn có thể quay lại cài đặt mặc định đã lưu bằng cách nhấp vào Đặt lại tất cả cái nút. Hãy ghi nhớ rằng cài đặt công cụ đã lưu được ưu tiên hơn cài đặt mặc định đã lưu, vì vậy nếu bạn nhấp Đặt lại tất cả và nó không hiển thị các cài đặt mặc định của bạn, điều đó có nghĩa là bạn đã lưu các cài đặt nhạc cụ cho khung thời gian và công cụ hiện đang hiển thị.

Cuối cùng, bạn có thể ghi đè hầu hết các tham số bằng cách đặt biến AFL tương ứng với từng tham số. Các biến có sẵn bao gồm:

  • ptPolarity (0 = Tích cực, 1 = Tiêu cực)
  • ptPLBocation (0 = Biên độ, 1 = Sức mạnh)
  • ptLookbackRange
  • ptMinFrequency
  • ptMaxFrequency
  • ptHarmonicFilter
  • ptMinConfidence
  • ptBestXC đua

Mỗi biến cũng có các biến thể trong khoảng thời gian cao hơn để phân tích nhiều khung thời gian. Để đặt biến khoảng thời gian cao hơn, hãy thêm HTP1, HTP2, HTP3, vv. Vào tên biến. Ví dụ:

  • ptMinFrequencyHTP1
  • ptMaxFrequencyHTP2
  • ptLookbackRangeHTP3
  • ptHarmonicFilterHTP2
  • ptMinConfidenceHTP1
  • ptPLBocationHTP4

Các biến luôn ghi đè cả cài đặt cửa sổ Thông số và mọi cài đặt đã lưu. Nếu bạn đặt biến tham số trong AFL, tham số tương ứng sẽ biến mất khỏi cửa sổ Tham số. Bạn phải đặt tất cả các biến tham số PRIOR của mình để gọi PresellectAnalysis hoặc là PresellectAnalysisPrepare chức năng.

Phân tích đơn luồng và phân tích đa luồng

PrescienTrader hỗ trợ cả phân tích đơn luồng và đa luồng. Hàm đơn luồng chỉ yêu cầu một dòng mã, do đó, rất tốt để chạy các khám phá nhanh hoặc các backtests đơn giản. Nhược điểm là phân tích chạy trong một luồng duy nhất, vì vậy nó chỉ có thể phân tích một hàng tại một thời điểm. Tuy nhiên, nếu phân tích của bạn chỉ bao gồm vài trăm hàng, chênh lệch thời gian sẽ không đáng kể. Trong kịch bản này, bạn sẽ mất nhiều thời gian hơn để viết mã bổ sung cho phân tích đa luồng so với thời gian lưu bằng cách chạy nó.

Tập lệnh Backcester PrescienTrader - Phần đơn luồng

Kịch bản phân tích ví dụ được gọi là Backcester PrescienTrader. Nếu bạn xem tập lệnh này, bạn sẽ thấy nó chứa phần đơn luồng và phần đa luồng, bạn có thể chuyển đổi giữa sử dụng cài đặt tham số. Phần phân tích luồng đơn chứa một dòng mã:

PTBacktest ();

Các PTBacktest Hàm không có tham số vì bạn định cấu hình tất cả các tham số trong cửa sổ Tham số. Khi chạy, nó tạo một yêu cầu API, gửi yêu cầu tới PresellectAPI, phân tích cú pháp phản hồi, đưa kết quả ra các cột thăm dò và tạo các mảng AFL được mô tả ở trên.

Để thực hiện phân tích nhiều khung thời gian, chỉ cần gọi hàm PresellectAnalysis nhiều lần. Ví dụ: nếu bạn muốn phân tích khoảng thời gian cơ sở và hai khoảng thời gian cao hơn, bạn sẽ sử dụng mã sau:

PTBacktest (); PTBacktest (); PTBacktest ();

Mỗi phiên bản của hàm tạo một khung thời gian khác trong cửa sổ Tham số, vì vậy trong ví dụ trên, cửa sổ Tham số của bạn sẽ chứa các cài đặt cho khoảng thời gian cơ sở, HTP1 và HTP2. Đừng nhầm lẫn đa luồng với nhiều khung thời gian; đây là hai khái niệm hoàn toàn khác nhau Đa luồng đề cập đến việc chạy nhiều phân tích cùng một lúc, như phân tích danh mục các công cụ. Nhiều khung thời gian đề cập đến việc phân tích từng công cụ trong nhiều khung thời gian. Ví dụ: bạn có thể phân tích S & P 500 hàng ngày, hàng tuần và hàng tháng. Trong ví dụ đó, bạn cũng sẽ được hưởng lợi từ việc chạy trong chế độ đa luồng, vì nó sẽ phân tích đồng thời cả ba khung thời gian. Tuy nhiên, bạn có thể chạy phân tích nhiều khung thời gian trong chế độ đơn luồng, trong trường hợp đó, nó sẽ phân tích các khung thời gian một cách tuần tự.

Tập lệnh phân tích PrescienTrader - Phần đa luồng

Phần đa luồng phức tạp hơn tập lệnh đơn luồng và yêu cầu một số dòng mã:

postVars = PTBacktestPrepare ();
if (StrLen (postVars)> 0) {
    ih = InternetPostRequest ("https: // api.presellectrading.com", postVars);
    nếu (ih) {
        phản hồi = "";
        while ((line = InternetReadString (ih))! = "")
            đáp ứng + = dòng;
        PTBacktestExecute (phản hồi);
        InternetC Đóng (ih);
    }
    khác {
        thuyết minh = "Không có phản hồi từ API - Thời gian chờ có thể xảy ra hoặc sự cố kết nối Internet - Chờ 60 giây";
        _TRACE (tin nhắn);
        PTLogToFile (tin nhắn);
        PTWait (60);
    }
}

Lý do cho mã bổ sung là AmiBroker không hỗ trợ đa luồng trong các plugin như PrescienTrader. Vì vậy, thay vì thực hiện toàn bộ hoạt động phân tích trong một chức năng plugin, plugin xử lý mọi thứ trừ yêu cầu API, đây là phần tốn nhiều thời gian nhất và do đó mang lại lợi ích lớn nhất từ việc chạy trong nhiều luồng.

Hãy phá vỡ điều này từng bước một

  1. Trong bước đầu tiên, chúng tôi đang gọi PTBacktestPrepare và gán kết quả cho biến postVars. Hàm này sử dụng các tham số được xác định trong cửa sổ Tham số để tạo dữ liệu ở định dạng phù hợp cho yêu cầu API.
  2. Trong bước thứ hai, chúng tôi thực hiện yêu cầu API bằng các hàm InternetPostRequest và InternetReadString. Vì nó tương tác với một máy chủ từ xa, đây là phần chậm nhất của quy trình và do đó có lợi nhất khi chạy trong nhiều luồng.
  3. Trong bước cuối cùng, chúng tôi chạy PTBacktestExecute trên dữ liệu được trả về từ API. Hàm này phân tích dữ liệu, xuất kết quả cho các cột thăm dò và tạo các mảng AFL được mô tả ở trên.

Như bạn có thể thấy, nó không phức tạp lắm, nhưng nó đòi hỏi nhiều mã hơn so với cách tiếp cận đơn luồng. Nếu bạn đang phân tích một lượng lớn dữ liệu, phương pháp đa luồng có thể nhanh hơn tới 32 lần, tùy thuộc vào số lượng lõi CPU mà máy tính của bạn có.

Như với cách tiếp cận chuỗi đơn, bạn có thể phân tích nhiều khung thời gian bằng cách chèn khối mã ở trên nhiều lần hoặc bằng cách gói khối mã trong một vòng lặp for.

Tối ưu hóa

Tối ưu hóa là quá trình tinh chỉnh các tham số để đạt được kết quả tốt nhất cho một thị trường hoặc nhóm thị trường. AmiBroker cho phép tối ưu hóa đồng thời lên đến 64 tham số, hỗ trợ tối ưu hóa danh mục đầu tư và bao gồm ba công cụ tối ưu hóa thông minh, Tối ưu hóa hạt tiêu chuẩn, Bộ lạcCMA-ES.

PrescienTrader hỗ trợ tối ưu hóa tất cả các tham số của nó mà không phải viết mã cho từng tham số. Để đặt các tham số tối ưu hóa, nhấn và giữ Ca Phím và nhấp vào biểu tượng thanh công cụ Tham số. Điều này sẽ hiển thị cửa sổ tham số tối ưu hóa, nơi bạn có thể nhập phạm vi (Từ và Đến) cho từng tham số và bươc cho các tham số số. Phạm vi đại diện cho phạm vi tối ưu hóa. Ví dụ: để tối ưu hóa Phạm vi xem lại, bạn có thể chọn một cái gì đó như:

Nhìn lại Phạm vi từ: 5
Phạm vi nhìn lại tới: 10
Phạm vi nhìn lại Bước: 1

Nhập các tham số này sẽ tối ưu hóa Phạm vi Nhìn lại trong khoảng từ 5 đến 10 với mức tăng 1, do đó, nó sẽ kiểm tra các giá trị 5, 6, 7, 8, 9, 10.

Ghi nhật ký

Khi chạy phân tích, PrescienTrader liên tục xuất thông tin ra cửa sổ Trace. Mỗi dòng chứa thông tin sau:

  • Loại phân tích (backtest, tối ưu hóa, thăm dò, v.v.)
  • Biểu tượng của nhạc cụ được phân tích
  • Khoảng thời gian (hàng ngày, hàng tuần, hàng tháng, vv)
  • Chuỗi dữ liệu (Đóng, Trung bình, v.v.)
  • Giá trị tham số:
    • Cực tính
    • Cơ sở PL
    • Tần số tối thiểu
    • Tần số tối đa
    • Phạm vi nhìn lại
    • Bộ lọc sóng hài
    • Tự tin tối thiểu
    • Chu kỳ X tốt nhất

Đối với mỗi giá trị tham số, nó chỉ ra nguồn của nó trong ngoặc đơn. Nguồn có thể là một trong những điều sau đây:

  • Tham số - Giá trị được lấy từ cửa sổ Tham số.
  • Opt - Giá trị được tạo dựa trên các cài đặt tối ưu hóa được chỉ định trong cửa sổ Tham số.
  • Đã lưu - Giá trị đã lưu cho công cụ này và khoảng thời gian.
  • AFL - Giá trị được lấy từ biến AFL tương ứng với tham số.
  • Mảng - Giá trị được lấy từ một mảng AFL. Vì các mảng có thể sử dụng một giá trị khác nhau cho mỗi thanh, nên không có giá trị nào được hiển thị.

Các biến AFL có độ ưu tiên cao nhất, theo sau là các giá trị được lưu và sau đó là các giá trị được chỉ định trong cửa sổ Tham số.

Ngoài cửa sổ Trace, bạn có thể cho phép đăng nhập vào tệp bằng cách nhập đường dẫn tệp trong cửa sổ Tham số.

Bài viết này hữu ích không?
Không thích 0
Lượt xem: 1418
MÃI MÃI MIỄN PHÍ
Tín hiệu giao dịch hàng ngày
bởi PresellectSignals
ĐĂNG KÝ
Đăng ký để nhận tín hiệu giao dịch MIỄN PHÍ được gửi đến hộp thư đến email của bạn hàng ngày
Tín hiệu miễn phí bị trì hoãn bởi một tuần. Điều này cho phép bạn đánh giá dịch vụ PresellectSignals của chúng tôi không có rủi ro, bằng cách so sánh các dự đoán của tuần trước với kết quả thực tế.
MÃI MÃI MIỄN PHÍ
Tín hiệu giao dịch hàng ngày của PresellectSignals
ĐĂNG KÝ
Đăng ký để nhận tín hiệu giao dịch MIỄN PHÍ được gửi đến hộp thư đến email của bạn hàng ngày
Tín hiệu miễn phí bị trì hoãn bởi một tuần. Điều này cho phép bạn đánh giá dịch vụ PresellectSignals của chúng tôi không có rủi ro, bằng cách so sánh các dự đoán của tuần trước với kết quả thực tế.