EA HOKKYDJONG
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ea-hokkydjong.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
EA HOKKYDJONG — это торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник предназначен для автоматического управления открытыми позициями и размещения новых торговых ордеров на текущем инструменте.
Программа отслеживает состояние активных позиций с заданным магическим номером, вычисляет средневзвешенную цену входа и при достижении заданного расстояния от цены открывает новые сделки в противоположном направлении. Доступна фильтрация по часам торгов (от StartTrade до EndTrade) и режим многократного открытия позиций с ограничением количества циклов.
Советник поддерживает два режима расчёта лотов: фиксированный и мультипликаторный, а также позволяет задавать стоп-лосс и тейк-профит в пунктах. При торговле ордера отправляются с механизмом повторных попыток при возникновении ошибок торгового контекста. Интерфейс включает информационную панель с данными об аккаунте и текущей прибыльности.
Авторские права: © 2014, Ngapak Boyz. Контакт: Facebook-страница djong.liongfoi.
Настройки программы
| Настройка | Описание |
|---|---|
| EA_Name | Имя советника — Имя торгового советника, отображаемое в информационной панели на графике. |
| Use_TradeAgain | Подсказка повторной торговли — Подсказка: описывает поведение повторной торговли при завершении цикла. |
| TradeAgain | Повторная торговля — Переключатель: TRUE — советник продолжает торговлю по завершении цикла, FALSE — торговля останавливается. |
| Use_Loop | Подсказка циклов — Подсказка: описывает режим многократного открытия позиций с ограничением количества циклов. |
| Loop | Количество циклов — Максимальное количество циклов (лап) повторного открытия позиций в рамках одного торгового сеанса. |
| StartTrade | Час начала торгов — Час начала торгового окна (в часах серверного времени), начиная с которого разрешено открытие новых позиций. |
| EndTrade | Час окончания торгов — Час окончания торгового окна (в часах серверного времени), в пределах которого разрешено открытие новых позиций. |
| Use_DbLots | Подсказка режима лотов — Подсказка: описывает режимы расчёта лотов — 1 для мультипликаторного, 2 для фиксированного. |
| DbLots | Режим лотов — Режим расчёта лотов: 1 — мультипликаторный (размер лота увеличивается по степени Multiplier), 2 — фиксированный (с корректировкой при убыточных сделках). |
| Lots | Размер лота — Базовый размер лота, используемый при фиксированном режиме или как начальное значение при мультипликаторном режиме. |
| SL | Стоп-лосс — Стоп-лосс в пунктах, задаваемый при открытии и модификации ордеров. |
| TP | Тейк-профит — Тейк-профит в пунктах, задаваемый при открытии и модификации ордеров. |
| Distance | Расстояние открытия — Расстояние в пунктах от средневзвешенной цены входа, при достижении которого открывается новая позиция. |
| Multiplier | Мультипликатор лота — Мультипликатор, применяемый для увеличения размера лота при каждом новом уровне в мультипликаторном режиме. |
| MaxLevel | Максимальный уровень позиций — Максимальное количество одновременно открытых уровней (позиций), при котором возможно открытие новых сделок. |
| LotsDecimal | Десятичные знаки лота — Количество десятичных знаков для нормализации размера лота при мультипликаторном расчёте. |
| MagicNumber | Магический номер — Магический номер, используемый для идентификации ордеров, принадлежащих данному советнику. |
| EA_Comment | Комментарий ордера — Текстовый комментарий, добавляемый к каждому размещённому ордеру для идентификации советника. |
| MoneyPerLot | Сумма на лот — Множитель, используемый при расчёте суммы ребейта на основе истории закрытых ордеров. |
Поиск по коду файла
extern string EA_Name = "EA HOKKYDJONG";
extern string Use_TradeAgain = "If => TRUE,EA will trade again,If => FALSE => EA will Off";
extern bool TradeAgain = TRUE;
extern string Use_Loop = "Example = 10,EA will trader for 10 Laps";
extern int Loop = 10000;
int Gi_108;
extern int StartTrade = 0;
extern int EndTrade = 24;
extern string Use_DbLots = "If = 1-> Use Multiplier Lot, If = 2-> Use Fixed Lot";
extern int DbLots = 1;
extern double Lots = 0.01;
extern double SL = 0.0;
extern double TP = 4.0;
extern double Distance = 3.0;
extern double Multiplier = 1.6;
extern int MaxLevel = 20;
double Gd_176 = 3.0;
extern double LotsDecimal = 2.0;
extern int MagicNumber = 163991;
extern string EA_Comment = "ea_hokkydjong";
double Gd_unused_204 = 0.0;
double G_price_212;
double G_price_220;
double G_bid_228;
double G_ask_236;
double Gd_244;
double Gd_252;
bool Gi_260;
datetime G_time_264 = 0;
int Gi_268 = 0;
double Gd_272;
int G_pos_280 = 0;
int Gi_284;
double Gd_288 = 0.0;
bool Gi_296 = FALSE;
bool Gi_300 = FALSE;
bool Gi_304 = FALSE;
int Gi_308;
bool Gi_312 = FALSE;
double Gd_316;
int Gi_324 = 65535;
int Gi_328 = 65535;
int Gi_332 = 16776960;
double Gd_336;
extern double MoneyPerLot = 1.7;
int init() {
// код доступен только после оплаты
}
int deinit() {
ObjectsDeleteAll();
return (0);
}
int start() {
// код доступен только после оплаты
}
double f0_4(int A_cmd_0) {
double lots_4;
int datetime_12;
switch (DbLots) {
case 0:
lots_4 = Lots;
break;
case 1:
lots_4 = NormalizeDouble(Lots * MathPow(Multiplier, Gi_268), LotsDecimal);
break;
case 2:
datetime_12 = 0;
lots_4 = Lots;
for (int pos_20 = OrdersHistoryTotal() - 1; pos_20 >= 0; pos_20--) {
if (OrderSelect(pos_20, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
if (datetime_12 < OrderCloseTime()) {
datetime_12 = OrderCloseTime();
if (OrderProfit() < 0.0) {
lots_4 = NormalizeDouble(OrderLots() * Multiplier, LotsDecimal);
continue;
}
lots_4 = Lots;
}
}
} else return (-3);
}
}
if (AccountFreeMarginCheck(Symbol(), A_cmd_0, lots_4) <= 0.0) return (-1);
if (GetLastError() == 134/* NOT_ENOUGH_MONEY */) return (-2);
return (lots_4);
}
int f0_12() {
int count_0 = 0;
for (int pos_4 = OrdersTotal() - 1; pos_4 >= 0; pos_4--) {
if (OrderSelect(pos_4, SELECT_BY_POS, MODE_TRADES))
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
if (OrderType() == OP_SELL || OrderType() == OP_BUY) count_0++;
}
return (count_0);
}
int f0_5(int Ai_0, double A_lots_4, double A_price_12, int A_slippage_20, double Ad_24, int Ai_unused_32, int Ai_36, string A_comment_40, int A_magic_48, int A_datetime_52, color A_color_56) {
int ticket_60 = 0Показано первые 50% кода (символов: 12959)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.