Code hàm vào lệnh 1 lần trên 1 bar

Code hàm vào lệnh 1 lần trên 1 bar

Code hàm vào lệnh 1 lần trên 1 bar

tranphu

Active Member
106
23
Thread cover
public/socialthumb.png
Mình đang tìm hiểu code để có thể tự code mấy cái EA đơn giản phục vụ cho backtest. Có bác nào có hàm chỉ vào lệnh 1 lần trên 1 bar có thể chia sẻ được chia sẻ mình xin với và hướng dẫn cách dùng luôn thì tốt :).
Thanks các bác!
 
 

Giới thiệu sách Trading hay
Phương Pháp Thực Chiến Hiệu Suất Cao Của Nhà Quán Quân Giao Dịch Tài Chính

Sách hướng dẫn phương pháp giao dịch hiệu suất cao của tác giả Robert Miner, người đã từng nhiều lần vô địch và đạt thứ hạng cao tại các cuộc thi trading toàn thế giới
Sau khi mở lệnh: thoigianmolenh = Time[0]
Sau do dieu kien mo lenh: Time[0] != thoigianmolenh
 
 
Mình đang tìm hiểu code để có thể tự code mấy cái EA đơn giản phục vụ cho backtest. Có bác nào có hàm chỉ vào lệnh 1 lần trên 1 bar có thể chia sẻ được chia sẻ mình xin với và hướng dẫn cách dùng luôn thì tốt :).
Thanks các bác!
bool NewBar()
{
static datetime OldTime = 0;
if(OldTime < Time[0])
{
OldTime = Time[0];
return(true);
}
else
{
return(false);
}
}
 
 
bool NewBar()
{
static datetime OldTime = 0;
if(OldTime < Time[0])
{
OldTime = Time[0];
return(true);
}
else
{
return(false);
}
}
Thanks bác!
Theo gợi ý của bác betfx mình cũng đã viết thành hàm như này rồi nhưng vẫn còn 1 thắc mắc như sau:
- Theo trình tự lệnh thì câu lệnh gán Odltime =0 trong hàm này sẽ chỉ được thực hiện 1 lần duy nhất trong suốt quá trình EA nó chạy hay nó đều được gán lại mỗi lần hàm này được gọi (nếu đặt trong hàm OnTick thì sau mỗi Tick nó được gọi một lần)? Nếu sau mỗi lần gọi hàm nó đều gán lại giá trị Oldtime =0 thì điều kiện If lúc nào cũng đúng?
- Với thắc mắc đó nên mình đã đặt biến Oldtime ra ngoài hàm như biến extennal không biết có cần thiết không?
 
 
Thanks bác!
Theo gợi ý của bác betfx mình cũng đã viết thành hàm như này rồi nhưng vẫn còn 1 thắc mắc như sau:
- Theo trình tự lệnh thì câu lệnh gán Odltime =0 trong hàm này sẽ chỉ được thực hiện 1 lần duy nhất trong suốt quá trình EA nó chạy hay nó đều được gán lại mỗi lần hàm này được gọi (nếu đặt trong hàm OnTick thì sau mỗi Tick nó được gọi một lần)? Nếu sau mỗi lần gọi hàm nó đều gán lại giá trị Oldtime =0 thì điều kiện If lúc nào cũng đúng?
- Với thắc mắc đó nên mình đã đặt biến Oldtime ra ngoài hàm như biến extennal không biết có cần thiết không?
đặt hàm bên ngoài rồi mỗi lần cần thì quăng nó vào , với lại code này t nhặt đc trên forexfactory , nói chung là dùng tốt cho EA đọc nến hoặc MA1 vượt lên or xuống MA2 chẳng hạn
VD :
if (NewBar() && a>b && b>c....)
OrderSend......
 
 
bool NewBar()
{
static datetime OldTime = 0;
if(OldTime < Time[0])
{
OldTime = Time[0];
return(true);
}
else
{
return(false);
}
}
Bác nào giải thích giùm cái hoạt động gán giá trị cho biến này với
static datetime OldTime = 0;
Mỗi lần gọi hàm này nó lại gán giá trị về 0 à, hay với câu lệnh này nếu biến OldTime đã có giá trị thì nó không chạy câu lệnh này nữa (tức là không gán giá trị về 0 nữa)?
Vì nếu lần nào gọi hàm nó cũng gán giá trị về không thì câu lệnh if sau lúc nào cũng trả về True?
if(OldTime < Time[0])
{
OldTime = Time[0];
return(true);
}
else
{
return(false);
}

Thanks các bác!
 
 

BÌNH LUẬN MỚI NHẤT

AdBlock Detected

We get it, advertisements are annoying!

Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

Back
Bên trên

Miễn trừ trách nhiệm

Tất cả nội dung trên website này đều vì mục đích cung cấp thông tin và không phải lời khuyên đầu tư.

Tại Việt Nam, giao dịch CFD forex có các rủi ro nhất định, trong đó bao gồm rủi ro về pháp lý. Độc giả nên tìm hiểu kỹ trước khi đưa ra quyết định tham gia.