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
Thực Hành Phân tích Fibonacci

Tác giả sách là cựu trader quản lý quỹ kiêm học giả CMT. Sách đoạt giải và được xuất bản bởi Bloomberg Press. Sách khái quát từ cơ bản đến chuyên sâu về FIbonacci Trading
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

  • captainfx trong Chuyện bên lề 584 Xem / 1 Trả lời
  • DuongHuy trong Phân tích Forex - Vàng - Hàng hóa 131 Xem / 6 Trả lời
  • TraderLC trong Hội Trader giao dịch Quỹ 2,221 Xem / 32 Trả lời
  • Mạc An trong Phân tích Forex - Vàng - Hàng hóa 246 Xem / 12 Trả lời
  • DuongHuy trong Phân tích Forex - Vàng - Hàng hóa 488 Xem / 38 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