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

Free EA

audcad ea for mt4 source code by @fundedmillionairess.mq4
Вы автор или правообладатель?

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

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

О программе

Free EA — торговый советник для MetaTrader 4, работающий на принципе сетки отложенных ордеров. Советник размещает buy-stop и sell-stop ордера с управлением лотностью, контролирует общее количество открытых позиций и реализует выход по достижении заданных уровней профита или убытка. Поддерживается ручное закрытие ордеров через кнопки на графике, а также автоматическое завершение работы при выполнении условий выхода.

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

НастройкаОписание
priceGroup Группа лимитов цен — Текстовый разделитель для группы параметров ценовых лимитов
inpOn_top_of_this_price_not_Buy_first_order Запрет покупки первого ордера выше цены — Ценовой уровень, выше которого запрещается открытие первого покупательного ордера
inpOn_under_of_this_price_not_Sell_first_order Запрет продажи первого ордера ниже цены — Ценовой уровень, ниже которого запрещается открытие первого продажного ордера
inpOn_top_of_this_price_not_Buy_order Запрет покупки ордера выше цены — Ценовой уровень, выше которого запрещается размещение дополнительных покупательных ордеров
inpOn_under_of_this_price_not_Sell_order Запрет продажи ордера ниже цены — Ценовой уровень, ниже которого запрещается размещение дополнительных продажных ордеров
switchGroup Группа переключателей стратегии — Текстовый разделитель для группы параметров управления стратегией
Counter-trend Protection (inpCloseBuySell) Защита от контртренда — Включает или отключает функцию принудительного закрытия встречных позиций
lotGroup Группа настроек лотов — Текстовый разделитель для группы параметров управления размером лота
Initial Lot Size (inplot) Начальный размер лота — Размер лота для первого ордера в серии
Max Lot Size (inpMaxlot) Максимальный размер лота — Ограничение максимального допустимого размера лота
Additive Lot Step (inpPlusLot) Добавочный шаг лота — Фиксированное прибавление к лоту при каждом следующем ордере
Martingale Multiplier (inpK_Lot) Мартингейл-множитель — Множитель, применяемый к лоту при увеличении серии ордеров
Max Orders Total (inpTotals) Максимальное количество ордеров — Общий лимит открытых ордеров и позиций на стороне
addGroup Группа настроек сетки — Текстовый разделитель для группы параметров сетки
Floating Loss to Trigger 2nd Params (inpMoney) Плавающий убыток для активации вторых параметров — Порог убытка, при достижении которого активируются дополнительные параметры управления
First Order Distance (inpFirstStep) Расстояние первого ордера — Расстояние в пунктах от текущей цены для размещения первого отложенного ордера
1st Min Grid Distance (inpMinDistance) Минимальное расстояние сетки 1 — Минимальное расстояние в пунктах между ордерами в первой сетке
2nd Min Grid Distance (inpTwoMinDistance) Минимальное расстояние сетки 2 — Минимальное расстояние в пунктах между ордерами во второй сетке
Pending Order Trailing (inpStepTrallOrders) Трейлинг отложенных ордеров — Шаг сдвига стоп-лосса для отложенных ордеров
1st Grid Gap (inpStep) Шаг сетки 1 — Расстояние в пунктах между ордерами в первой сетке
2nd Grid Gap (inpTwoStep) Шаг сетки 2 — Расстояние в пунктах между ордерами во второй сетке
Execution Mode (inpOpenMode) Режим исполнения — Режим открытия ордеров: по новому бару, по таймеру или без задержки
Time Gap between trades (sec) (inpsleep) Пауза между сделками — Задержка в секундах между последовательными торговыми операциями
Max Drawdown Stop (Side) (inpMaxLoss) Максимальный убыток на сторону — Допустимый максимальный убыток на одну торговую сторону перед ограничением
Side Loss Exit Limit (inpMaxLossCloseAll) Лимит выхода по убытку стороны — Порог убытка, при достижении которого происходит принудительный выход по стороне
closeGroup Группа настроек выхода — Текстовый разделитель для группы параметров выхода из позиций
Global Profit TP ($) (inpCloseAll) Общий тейк-профит — Целевой суммарный профит в долларах для закрытия всех ордеров
Accumulate TP Switch (inpProfit) Переключатель накопления тейк-профита — Включает или отключает режим накопления прибыли по сторонам
Side Profit TP ($) (inpStopProfit) Тейк-профит на сторону — Целевая прибыль в долларах для закрытия ордеров по стороне
Hard Stop Loss ($) (inpStopLoss) Жёсткий стоп-лосс — Фиксированный уровень убытка в долларах для принудительного закрытия
Stop after closure (inpOver) Остановка после закрытия — Останавливает работу советника после закрытия всех ордеров
Wait before next cycle (sec) (inpNextTime) Пауза перед следующим циклом — Время ожидания в секундах перед началом нового цикла торговли
Max Allowed Spread (inpMaxSpread) Максимально допустимый спред — Ограничение максимального спреда в пунктах для разрешения торговли
Min Required Leverage (inpLeverage) Минимально требуемое плечо — Минимальное значение плеча счёта, при котором советник разрешает торговлю
Work Timeframe (inpTimeZone) Таймфрейм работы — Таймфрейм, на котором советник отслеживает время и условия торговли
inpEA_StartTime Время начала работы советника — Время начала торговой сессии советника в формате ЧЧ:ММ
inpEA_StopTime Время окончания работы советника — Время окончания торговой сессии советника в формате ЧЧ:ММ
inpLimit_StartTime Время начала лимитной сессии — Начало дополнительного временного окна для торговли в формате ЧЧ:ММ
inpLimit_StopTime Время окончания лимитной сессии — Окончание дополнительного временного окна для торговли в формате ЧЧ:ММ
Получить полный код

Поиск по коду файла

#define EAVersion "8.0"
#define EAName "Free EA"
#define EAMagicNum 2024060501

#property version     EAVersion

#property description "⚠️ PLEASE DO NOT SELL THIS EA!"
#property description "This is a FREE EA. We are sharing it for all members"
#property description "to test and update us about its performance."
#property description "--------------------------------------------"
#property description "Regards: @Anniiii12"
#property description "Channel: "

#property strict

enum opentime
{
   A = 1,               // New Bar Mode
   B = 2,               // Time Interval Mode (Seconds)
   C = 3,               // No Delay Mode
};

enum ENUM_CLOSE_ORDERTYPE      
{
   ENUM_CO_BUY = 0,            // Close Buy
   ENUM_CO_SELL = 1,           // Close Sell
   ENUM_CO_ALL = -100,         // Close All
};

extern string priceGroup =  "======= PRICE LIMITS =======";
extern double inpOn_top_of_this_price_not_Buy_first_order = 0;   
extern double inpOn_under_of_this_price_not_Sell_first_order = 0;
extern double inpOn_top_of_this_price_not_Buy_order = 0;         
extern double inpOn_under_of_this_price_not_Sell_order = 0;      

extern string switchGroup = "======= STRATEGY SWITCH =======";
extern bool inpCloseBuySell = true;       // Counter-trend Protection
extern bool inpHomeopathyCloseAll = true; // Trend Protection
extern bool inpHomeopathy = false;        // Full Lock/Hedge Mode

extern string lotGroup =    "======= LOTS SETTINGS =======";
extern double inplot = 0.01;              // Initial Lot Size
extern double inpMaxlot = 10;             // Max Lot Size
extern double inpPlusLot = 0;             // Additive Lot Step
extern double inpK_Lot = 1.3;             // Martingale Multiplier
extern int    inpTotals = 50;             // Max Orders Total

extern string addGroup =    "======= GRID SETTINGS =======";
extern double inpMoney = 0;               // Floating Loss to Trigger 2nd Params
extern int    inpFirstStep = 30;          // First Order Distance
extern int    inpMinDistance = 60;        // 1st Min Grid Distance
extern int    inpTwoMinDistance = 60;     // 2nd Min Grid Distance
extern int    inpStepTrallOrders = 5;     // Pending Order Trailing
extern int    inpStep = 100;              // 1st Grid Gap
extern int    inpTwoStep = 100;           // 2nd Grid Gap
extern opentime inpOpenMode = 3;          // Execution Mode
extern int    inpsleep = 30;              // Time Gap between trades (sec)
extern double inpMaxLoss = 100000;        // Max Drawdown Stop (Side)
extern double inpMaxLossCloseAll = 50;    // Side Loss Exit Limit

extern string closeGroup =  "======= EXIT SETTINGS =======";
extern double inpCloseAll = 0.5;          // Global Profit TP ($)
extern bool inpProfit = true;             // Accumulate TP Switch
extern double inpStopProfit = 2;          // Side Profit TP ($)
extern double inpStopLoss = 0;            // Hard Stop Loss ($)
extern bool inpOver = false;              // Stop after closure
extern int    inpNextTime = 0;            // Wait before next cycle (sec)
extern int    inpMaxSpread = 32;          // Max Allowed Spread
extern int    inpLeverage = 100;          // Min Required Leverage
extern ENUM_TIMEFRAMES inpTimeZone = 1;   // Work Timeframe
extern string inpEA_StartTime = "00:00";  
extern string inpEA_StopTime = "24:00";   
extern string inpLimit_StartTime = "00:00";
extern string inpLimit_StopTime = "24:00";

int       lotDigits = 2;
bool      allowBuy = true;
bool      allowSell = true;
datetime  nextTradeTime = 0;
bool      isSellExceedBuy = false;
bool      isBuyExceedSell = false;
int       maxSlippage = 0;
int       tradeSlippage = 0;
datetime  kBarTime = 0;
double    maxBuyProfitDifference = 0.0;
double    maxSellProfitDifference = 0.0;

int init()
{
      // код доступен только после оплаты
   }

void deinit(const int reason)
{
   ObjectsDeleteAll(0, -1);
}

void OnTick()
{
      // код доступен только после оплаты
   }
   double sellTotalProfit, buyTotalProfit, buyTotalLots, sellTotalLots;
   int buyCount, sellCount, buyStopCount, sellStopCount, lastBuyStopTicket, lastSellStopTicket;
   double buyHighestPrice, buyLowestPrice, sellHighestPrice, sellLowestPrice, lastBuyStopPrice, lastSellStopPrice;
   double avgBuyPrice, avgSellPrice, tmpPrice, tmpLot;

   if(IsTimeInRange(0)) {
      CreateHLine("HLINE_LONG", inpOn_top_of_this_price_not_Buy_first_order, 0, clrBlue);
      CreateHLine("HLINE_SHORT", inpOn_under_of_this_price_not_Sell_first_order, 0, clrRed);
   } else DelHline();

   CountOrdersInfo(EAMagicNum, buyStopCount, sellStopCount, buyCount, sellCount, buyTotalLots, sellTotalLots, 
                   buyTotalProfit, sellTotalProfit, buyHighestPrice, buyLowestPrice, sellHighestPrice, 
                   sellLowestPrice, avgBuyPrice, avgSellPrice, lastBuyStopTicket, lastSellStopTicket, 
                   lastBuyStopPrice, lastSellStopPrice);

   double TotalProfit = buyTotalProfit + sellTotalProfit;
   isSellExceedBuy = (buyTotalLots > 0 && sellTotalLots / buyTotalLots > 3.0);
   isBuyExceedSell = (sellTotalLots > 0 && buyTotalLots / sellTotalLots > 3.0);

   bool canTrade = AccountLeverage() >= inpLeverage && IsTradeAllowed() && !IsStopped() && (buyCount + sellCount < inpTotals);

   if(!canTrade || !IsTimeInRange(1)) {
      allowBuy = allowSell = false;
      CreateStopLabel("SYSTEM PAUSED / OUTSIDE TRADING HOURS");
   } else {
      allowBuy = allowSell = true;
      CreateStopLabel("");
   }

   bool IsProfitable = (TotalProfit > inpMoney);

Показано первые 50% кода (символов: 9976)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
997,60₽ ≈ $12.19