EA HOKKYDJONG
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ea_price_action_6059604912218576074.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торговый советник для платформы MetaTrader 4, разработанный Mario Jemic. Советник ориентирован на торговлю методом Price Action и выполняется в рамках MQL4. Основная логика работы основана на анализе ценовых закрытий на часовом таймфрейме и открытии сделок с последующим управлением позициями.
Советник поддерживает два режима управления объёмами: мультипликаторный и фиксированный. В мультипликаторном режиме размер лота увеличивается в зависимости от количества открытых уровней. Имеется фильтр по времени торговли, позволяющий задать часы начала и окончания работы. Также реализован механизм повторных торгов с ограничением количества циклов.
В ходе работы советник отслеживает текущие позиции, рассчитывает среднюю цену входа и выставляет модификации ордеров с учётом стоп-лосса и тейк-профита. На графике отображается информационная панель с данными об аккаунте, балансе, эквити и спреде. Торговые операции выполняются через стандартный API OrderSend с обработкой ошибок и повторными попытками отправки.
Настройки программы
| Настройка | Описание |
|---|---|
| EA_Name | Отображаемое имя советника на графике |
| Use_TradeAgain | Подсказка: включение или отключение повторной торговли |
| TradeAgain | Включить или выключить повторную торговлю |
| Use_Loop | Подсказка: задаёт количество торговых циклов |
| Loop | Максимальное количество торговых циклов повтора |
| StartTrade | Час начала торговой сессии (в часах) |
| EndTrade | Час окончания торговой сессии (в часах) |
| Use_DbLots | Подсказка: выбор режима расчёта лотов |
| DbLots | Режим расчёта лотов: 1 — использовать мультипликатор, 2 — использовать фиксированный лот |
| Lots | Базовый размер лота для открытия позиции |
| SL | Стоп-лосс в пунктах от средней цены входа |
| TP | Тейк-профит в пунктах от средней цены входа |
| Distance | Расстояние в пунктах для условия открытия позиции |
| Multiplier | Множитель для увеличения размера лота в мультипликаторном режиме |
| MaxLevel | Максимальное количество уровней открытых позиций |
| LotsDecimal | Количество десятичных знаков для нормализации размера лота |
| MagicNumber | Магический номер для идентификации ордеров советника |
| EA_Comment | Комментарий, присваиваемый к каждой сделке |
| MoneyPerLot | Сумма на лот для расчёта вознаграждения |
Поиск по коду файла
#property version "1.0"
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Показано первые 50% кода (символов: 12980)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.