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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.