← К каталогу
Исходный код · ID 2755

ea_price_action by @amazing_owner

ea_price_action by @amazing_owner.mq4
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

ea_price_action by @amazing_owner — торговый советник для MetaTrader 4, написанный на MQL4. Советник работает по символу текущего графика, использует заданный магический номер для идентификации своих ордеров и управляет торговлей в разрешённом временном диапазоне часов. В коде предусмотрены настройки включения повторной торговли и ограничения числа циклов, а также параметры объёма, стоп-лосса, тейк-профита, дистанции и множителя для управления серией ордеров.

Советник открывает рыночные ордера BUY и SELL, а также поддерживает отложенные ордера BUYLIMIT, BUYSTOP, SELLLIMIT и SELLSTOP через функцию отправки ордеров. Для уже открытых позиций выполняется модификация стоп-лосса и тейк-профита с учётом средней цены и заданных значений. Объём следующего ордера рассчитывается в зависимости от выбранного режима: фиксированный лот, умножение на множитель или учёт результата последней закрытой сделки.

В советнике реализована информационная панель на графике, отображающая данные счёта и торговую статистику. Также присутствует проверка доступности торговли и режима тестирования. Все входные параметры задаются через extern-переменные и позволяют настраивать работу советника без изменения кода.

Настройки программы

НастройкаОписание
EA_Name Имя советника — Название советника, отображаемое в информационной панели.
Use_TradeAgain Пояснение к повторной торговле — Пояснение к параметру TradeAgain: TRUE — советник торгует снова, FALSE — советник выключается.
TradeAgain Повторная торговля — Разрешает советнику повторно открывать сделки после завершения цикла.
Use_Loop Пояснение к циклам — Пояснение к параметру Loop: например, 10 означает 10 циклов торговли.
Loop Количество циклов — Максимальное количество повторных торговых циклов.
StartTrade Час начала торговли — Час начала торговли.
EndTrade Час окончания торговли — Час окончания торговли (не включая указанный час).
Use_DbLots Пояснение к режиму лота — Пояснение к параметру DbLots: 1 — использовать множитель лота, 2 — использовать фиксированный лот.
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 и перейдите к оплате.

Стоимость полного кода
1 298₽ ≈ $15.86