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
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
Đánh Bại Thị Trường Forex - Tư duy khác biệt và các kỹ thuật giao dịch của chuyên gia quản lý quỹ triệu đô

Sách chia sẻ kiến thức và kinh nghiệm trading từ một chuyên gia quản lý quỹ, cùng các kỹ thuật giao dịch giúp quỹ này đứng trong top nhiều năm
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

  • Quíc Óp trong Phân tích Forex - Vàng - Hàng hóa 214 Xem / 2 Trả lời
  • DuongHuy trong Phân tích Forex - Vàng - Hàng hóa 325 Xem / 23 Trả lời
  • finfin trong Sách Trading - Sách Đầu Tư Tài Chính 66,821 Xem / 10 Trả lời
  • Mạc An trong Phân tích Forex - Vàng - Hàng hóa 505 Xem / 17 Trả lời
  • black trong Hệ thống giao dịch - Trading system 18,816 Xem / 24 Trả lời
  • Will Nguyen trong Hệ thống giao dịch - Trading system 46,211 Xem / 157 Trả lời
  • 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