ExpertRemove
Hàm này dừng một Expert Advisor và gỡ nó khỏi biểu đồ.
void ExpertRemove();
Giá trị trả về
Không có giá trị trả về.
Ghi chú
Expert Advisor không dừng lại ngay lập tức khi bạn gọi ExpertRemove()
; chỉ một cờ để dừng hoạt động của EA được đặt. Điều này có nghĩa là bất kỳ sự kiện tiếp theo nào cũng sẽ không được xử lý, OnDeinit()
sẽ được gọi và Expert Advisor sẽ được gỡ bỏ và xóa khỏi biểu đồ.
Việc gọi ExpertRemove()
trong bộ kiểm tra chiến lược bên trong trình xử lý OnInit()
sẽ hủy bỏ việc kiểm tra trên tập hợp tham số hiện tại. Việc hoàn tất như vậy được coi là lỗi khởi tạo.
Khi gọi ExpertRemove()
trong bộ kiểm tra chiến lược sau khi khởi tạo thành công một EA, quá trình kiểm tra sẽ hoàn tất bình thường với việc gọi OnDeinit()
và OnTester()
. Trong trường hợp này, toàn bộ thống kê giao dịch và giá trị tiêu chí tối ưu hóa sẽ được thu thập.
Ví dụ:
//+------------------------------------------------------------------+
//| Test_ExpertRemove.mq5 |
//| Copyright 2009, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
input int ticks_to_close=20; // số tick trước khi gỡ EA
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
Print(TimeCurrent(),": " ,__FUNCTION__," mã lý do = ",reason);
//--- "xóa" bình luận
Comment("");
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
static int tick_counter=0;
//---
tick_counter++;
Comment("\nTrước khi gỡ expert advisor ",__FILE__," còn lại",
(ticks_to_close-tick_counter)," tick");
//--- trước khi
if(tick_counter>=ticks_to_close)
{
ExpertRemove();
Print(TimeCurrent(),": ",__FUNCTION__," expert advisor sẽ được gỡ bỏ");
}
Print("tick_counter =",tick_counter);
//---
}
//+------------------------------------------------------------------+
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Xem thêm