4 Tài liệu đính kèm.
Chào tất cả và chúc mừng năm mới
Tôi bao gồm trong bài viết của mình ở đây Mã cho một EA mà tôi đã phát triển.
Tôi đã sản xuất nó bằng cách sử dụng:
http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/
Vì Biểu đồ hiển thị cho EurUsd, nó hoạt động khá tốt đối với Giao diện thường xuyên trên Cài đặt biểu đồ hàng ngày, mặc dù có khá ít giao dịch trong Thời hạn 2 năm rưỡi.
Nó cũng hoạt động tốt với một số Majors khác nhưng không phải tất cả.
Tôi đã thử nghiệm nó có TP như cài đặt sẵn, và cũng vô hiệu hóa TP để SL chuyển sang Trail để Đóng giao dịch được đưa ra mà ít có nếu đạt đến Cấp độ TP.
Tôi đã thêm Quản lý tiền vào đó là nơi mọi thứ trở nên thú vị.
Vấn đề tôi gặp phải là bất kể tôi làm gì với Cài đặt đầu vào, dường như tôi không thể chọn Giá trị giao dịch ở mức dưới 0,1 trên 1k Số dư. Điều thú vị là ở trên cho thấy Kết quả dựa trên Số dư và giao dịch ban đầu $ 1 000 bắt đầu từ $ 1 mỗi pip !!!
Mong ước của tôi là hai lần với thứ hai ít quan trọng hơn:
1. Để có Quản lý tiền cho phép Microlots.
2. Để EA tương thích với Nhà môi giới 5 chữ số.
3. Tôi có nói thứ 3 không?
Không, nhưng đã đấu tranh với vấn đề Dừng tàng hình tàng hình sẽ là một phần thưởng TUYỆT VỜI
Chúa tôi cảm thấy táo tợn bây giờ
Nếu bất cứ ai có thể giúp với điều này, tôi sẽ rất biết ơn và chia sẻ EA cho những người khác sử dụng.
Cảm ơn bạn trước!
Trân trọng,
David (FM).
Mã cho EA:
// ----------------------------------------------- -------------------
//| MQL này được tạo bởi Expert Advisor Builder |
//|
http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/|
//| |
//| Trong mọi trường hợp, tác giả sẽ không chịu trách nhiệm cho bất kỳ thiệt hại nào. |
//| Sử dụng có nguy cơ của riêng bạn. |
//| ******TÌM HIỂU
//| |
//| **** Được sản xuất bởi: **** |
//| **** David Coulson () **** |
//| |
-------/--------
#define SIGNAL_NONE 0
#define ĐĂNG KÝ_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
#property bản quyền Chuyên gia cố vấn Builder
#property link http://sufx.core.t3-ism.net/ExpertIDIABuilder/
extern int MagicNumber = 0123490;
extern bool SignalMail = Sai;
extern bool EachTickMode = Sai;
số lượng gấp đôi bên ngoài = 0,1;
bool extern UseMM = true;
extern double lotsPer1000 = 0,1;
extern int Slippage = 3;
extern bool UseStopLoss = True;
extern int StopLoss = 2000;
extern bool UseTakeProfit = True;
extern int TakeProfit = 2000;
extern bool UseTrailingStop = True;
extern int TrailingStop = 350;
int BarCount;
int Hiện tại;
bool TickCheck = Sai;
// ----------------------------------------------- -------------------
//| chức năng khởi tạo chuyên gia |
// ----------------------------------------------- -------------------
int init () {
BarCount = Thanh;
if (EachTickMode) Hiện tại = 0; khác Hiện tại = 1;
trả về (0);
}
// ----------------------------------------------- -------------------
//| chức năng khử khử chuyên gia |
// ----------------------------------------------- -------------------
int deinit () {
trả về (0);
}
// ----------------------------------------------- -------------------
//| chức năng bắt đầu chuyên gia |
// ----------------------------------------------- -------------------
int start () {
int Đặt hàng = SIGNAL_NONE;
int Tổng, vé;
gấp đôi StopLossLevel, TakeProfitLevel;
if (EachTickMode Bars! = BarCount) TickCheck = false;
Tổng = Đơn hàngTotal ();
Đặt hàng = SIGNAL_NONE;
// ----------------------------------------------- -------------------
//| Biến bắt đầu |
// ----------------------------------------------- -------------------
gấp đôi Mua1_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Hiện tại 0);
nhân đôi Mua1_2 = 65;
gấp đôi Mua2_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Hiện tại 1);
gấp đôi Mua2_2 = 65;
gấp đôi Mua3_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Hiện tại 2);
nhân đôi Mua3_2 = 65;
gấp đôi Sell1_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Hiện tại 0);
gấp đôi Sell1_2 = 35;
gấp đôi Sell2_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Hiện tại 1);
gấp đôi Sell2_2 = 35;
gấp đôi Sell3_1 = iStochastic (NULL, 0, 15, 8, 4, MODE_SMA, 0, MODE_MAIN, Hiện tại 2);
gấp đôi Sell3_2 = 35;
// ----------------------------------------------- -------------------
//| Biến kết thúc |
// ----------------------------------------------- -------------------
//Kiểm tra vị trí
bool IsTrade = Sai;
for (int i = 0; i lt; Total; i ) {
Đặt hàng Chọn (i, SELECT_BY_POS, MODE_TRADES);
if (OrderType () lt; = OP_SELL Đặt hàng
IsTrade = Đúng;
if (OrderType () == OP_BUY) {
//Gần
// ----------------------------------------------- -------------------
//| Tín hiệu bắt đầu (Thoát mua) |
// ----------------------------------------------- -------------------
// ----------------------------------------------- -------------------
//| Kết thúc tín hiệu (Thoát mua) |
// ----------------------------------------------- -------------------
if (Đặt hàng == SIGNAL_CLOSEBUY ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
OrderC Đóng (OrderTicket (), OrderLots (), Trả giá, Slippage, MediumSeaGreen);
if (SignalMail) SendMail ([Alert Alert], [ Symbol () ] DoubleToStr (Trả giá, Chữ số) Đóng Mua);
if (! EachTickMode) BarCount = Bars;
IsTrade = Sai;
tiếp tục;
}
//Dường cụt
if (UseTrailingStop TrailingStop gt; 0) {
if (Trả giá - OrderOpenprice () gt; Điểm * TrailingStop) {
if (OrderStopLoss () lt; Trả giá - Điểm * TrailingStop) {
OrderModify (Đặt hàng
if (! EachTickMode) BarCount = Bars;
tiếp tục;
}
}
}
} khác {
//Gần
// ----------------------------------------------- -------------------
//| Tín hiệu bắt đầu (Thoát bán) |
// ----------------------------------------------- -------------------
// ----------------------------------------------- -------------------
//| Kết thúc tín hiệu (Thoát bán) |
// ----------------------------------------------- -------------------
if (Đặt hàng == SIGNAL_CLOSESELL ((EachTickMode! TickCheck) |
OrderC Đóng (OrderTicket (), OrderLots (), Hỏi, Slippage, DarkOrange);
if (SignalMail) SendMail ([Alert Alert], [ Symbol () ] DoubleToStr (Hỏi, Chữ số) Đóng Bán);
if (! EachTickMode) BarCount = Bars;
IsTrade = Sai;
tiếp tục;
}
//Dường cụt
if (UseTrailingStop TrailingStop gt; 0) {
if ((OrderOpenprice () - Hỏi) gt; (Điểm * TrailingStop)) {
if ((OrderStopLoss () gt; (Hỏi Điểm * TrailingStop)) |
OrderModify (Đặt hàng
if (! EachTickMode) BarCount = Bars;
tiếp tục;
}
}
}
}
}
}
// ----------------------------------------------- -------------------
//| Tín hiệu bắt đầu (Entry) |
// ----------------------------------------------- -------------------
if (Mua1_1 gt; Mua1_2 Mua2_1 lt; Mua2_2 Mua3_1 lt; Mua3_2) Đặt hàng = SIGNAL_BUY;
if (Sell1_1 lt; Sell1_2 Sell2_1 gt; Sell2_2 Sell3_1 gt; Sell3_2) Đặt hàng = SIGNAL_SELL;
// ----------------------------------------------- -------------------
//| Kết thúc tín hiệu |
// ----------------------------------------------- -------------------
//Mua
if (Đặt hàng == SIGNAL_BUY ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
if (! IsTrade) {
//Kiểm tra lề miễn phí
if (AccountFreeMargin () lt; (1 * Rất nhiều)) {
In (Chúng tôi không có tiền. Ký quỹ miễn phí =, AccountFreeMargin ());
trả về (0);
}
if (UseStopLoss) StopLossLevel = Hỏi - StopLoss * Điểm; khác StopLossLevel = 0,0;
if (UseTakeProfit) TakeProfitLevel = Hỏi TakeProfit * Điểm; khác TakeProfitLevel = 0,0;
Vé = Đặt hàng
if (Vé gt; 0) {
if (OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
In (đơn đặt hàng MUA đã mở :, OrderOpenprice ());
if (SignalMail) SendMail ([Cảnh báo tín hiệu], [ Biểu tượng () ] DoubleToStr (Hỏi, Chữ số) Mở mua);
} khác {
In (Lỗi khi mở lệnh MUA :, GetLastError ());
}
}
if (EachTickMode) TickCheck = True;
if (! EachTickMode) BarCount = Bars;
trả về (0);
}
}
//Bán
if (Đặt hàng == SIGNAL_SELL ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
if (! IsTrade) {
//Kiểm tra lề miễn phí
if (AccountFreeMargin () lt; (1 * Rất nhiều)) {
In (Chúng tôi không có tiền. Ký quỹ miễn phí =, AccountFreeMargin ());
trả về (0);
}
if (UseStopLoss) StopLossLevel = Trả giá StopLoss * Điểm; khác StopLossLevel = 0,0;
if (UseTakeProfit) TakeProfitLevel = Trả giá - TakeProfit * Điểm; khác TakeProfitLevel = 0,0;
Ticket = OrderSend (Symbol (), OP_SELL, CompateLots (UseMM, lotsPer1000, Rất nhiều), Trả giá, Slippage, StopLossLevel, TakeProfitLevel, Sell (# MagicNumber ), MagicNumber, 0, DeepPink);
if (Vé gt; 0) {
if (OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
In (đơn đặt hàng đã mở :, OrderOpenprice ());
if (SignalMail) SendMail ([Cảnh báo tín hiệu], [ Biểu tượng () ] DoubleToStr (Trả giá, Chữ số) Mở bán);
} khác {
In (Lỗi khi mở lệnh BÁN:, GetLastError ());
}
}
if (EachTickMode) TickCheck = True;
if (! EachTickMode) BarCount = Bars;
trả về (0);
}
}
if (! EachTickMode) BarCount = Bars;
trả về (0);
}
// ----------------------------------------------- -------------------
#define LOTS_PRECISION 1
double CompateLots (bool useMM, double lotPer1000, double lot)
{
if (! useMM) return (lot);
return (NormalizeDouble (AccountBalance ()1000 * lotPer1000, LOTS_PRECISION));
}
.
https://www.forexibroker.com/crypto-...te-orders.html
https://www.forexibroker.com/crypto-...dealer-ea.html
https://www.forexibroker.com/forex-m...os-system.html
https://www.forexibroker.com/crypto-...de-copier.html