simple_ma_cross_ea.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «simple_ma_cross_ea.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот исходный файл представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник предназначен для автоматической торговли на основе пересечения двух скользящих средних. Он анализирует ценовые данные, рассчитывает быструю и медленную скользящие средние и принимает решения о покупке или продаже при их пересечении. Также советник управляет открытыми позициями, закрывая их при появлении противоположного сигнала.
Советник использует стандартные торговые функции MetaTrader 4 для открытия и закрытия ордеров, а также для установки уровней стоп-лосс и тейк-профит. Он поддерживает настройку магического номера для идентификации своих ордеров, учет типа брокера (ECN/STP) и отображение информации о текущей прибыли на графике. Все параметры вынесены во входные переменные, что позволяет гибко настраивать стратегию без изменения кода.
Важно отметить, что советник не содержит встроенных механизмов защиты от проскальзывания или прочих рыночных рисков, и его эффективность зависит от правильности выбранных параметров скользящих средних и условий рынка. Исходный код не содержит гарантий прибыльности или каких-либо обещаний результатов.
Настройки программы
| Настройка | Описание |
|---|---|
| Magic number to use for the EA (MagicNumber) | Магический номер — Уникальный идентификатор (магический номер) для ордеров, открываемых советником. |
| Is your broker ECN/STP type of broker? (EcnBroker) | ECN-брокер — Указывает, является ли брокер ECN/STP. При значении true ордера открываются без стоп-лосс и тейк-профит, которые затем устанавливаются отдельно. |
| Lot size to use for trading (LotSize) | Размер лота — Размер лота для торговых операций. |
| Slipage to use when opening new orders (Slippage) | Проскальзывание — Максимально допустимое проскальзывание в пунктах при открытии ордеров. |
| Initial stop loss (in pips) (StopLoss) | Стоп-лосс — Начальный уровень стоп-лосс в пунктах. Если значение 0, стоп-лосс не устанавливается. |
| Initial take profit (in pips) (TakeProfit) | Тейк-профит — Начальный уровень тейк-профит в пунктах. Если значение 0, тейк-профит не устанавливается. |
| . (dummy1) | Пустой параметр 1 — Пустой строковый параметр, не используемый в логике советника. |
| Settings for indicators (dummy2) | Пустой параметр 2 — Пустой строковый параметр, служащий заголовком для группы настроек индикаторов. |
| Bar to test (0, for still opened, 1 for first closed, and so on) (BarToUse) | Бар для расчета — Номер бара для расчета сигнала: 0 — текущий незакрытый бар, 1 — первый закрытый бар и так далее. |
| Fast ma period (Ma1Period) | Период быстрой MA — Период быстрой скользящей средней. |
| Fast ma price (Ma1Price) | Цена быстрой MA — Тип цены, используемый для расчета быстрой скользящей средней (например, Close, Open). |
| Fast ma method (Ma1Method) | Метод быстрой MA — Метод сглаживания для быстрой скользящей средней (например, SMA, EMA). |
| Slow ma period (Ma2Period) | Период медленной MA — Период медленной скользящей средней. |
| Slow ma price (Ma2Price) | Цена медленной MA — Тип цены, используемый для расчета медленной скользящей средней. |
| Slow ma method (Ma2Method) | Метод медленной MA — Метод сглаживания для медленной скользящей средней. |
| . (dummy3) | Пустой параметр 3 — Пустой строковый параметр, не используемый в логике советника. |
| General settings (dummy4) | Пустой параметр 4 — Пустой строковый параметр, служащий заголовком для группы общих настроек. |
| Dislay info (DisplayInfo) | Отображать информацию — Включает или отключает вывод информации о текущей прибыли на графике. |
Поиск по коду файла
#property strict
extern int MagicNumber = 123456; // Magic number to use for the EA
extern bool EcnBroker = false; // Is your broker ECN/STP type of broker?
extern double LotSize = 0.1; // Lot size to use for trading
extern int Slippage = 3; // Slipage to use when opening new orders
extern double StopLoss = 100; // Initial stop loss (in pips)
extern double TakeProfit = 100; // Initial take profit (in pips)
extern string dummy1 = ""; // .
extern string dummy2 = ""; // Settings for indicators
extern int BarToUse = 1; // Bar to test (0, for still opened, 1 for first closed, and so on)
extern int Ma1Period = 12; // Fast ma period
extern ENUM_APPLIED_PRICE Ma1Price = PRICE_CLOSE; // Fast ma price
extern ENUM_MA_METHOD Ma1Method = MODE_SMA; // Fast ma method
extern int Ma2Period = 26; // Slow ma period
extern ENUM_APPLIED_PRICE Ma2Price = PRICE_CLOSE; // Slow ma price
extern ENUM_MA_METHOD Ma2Method = MODE_SMA; // Slow ma method
extern string dummy3 = ""; // .
extern string dummy4 = ""; // General settings
extern bool DisplayInfo = true; // Dislay info
bool dummyResult;
int init() {
// код доступен только после оплаты
}
int deinit() { return(0); }
#define _doNothing 0
#define _doBuy 1
#define _doSell 2
int start()
{
// код доступен только после оплаты
}
int doWhat = _doNothing;
double diffc = iMA(NULL,0,Ma1Period,0,Ma1Method,Ma1Price,BarToUse) -iMA(NULL,0,Ma2Period,0,Ma2Method,Ma2Price,BarToUse);
double diffp = iMA(NULL,0,Ma1Period,0,Ma1Method,Ma1Price,BarToUse+1)-iMA(NULL,0,Ma2Period,0,Ma2Method,Ma2Price,BarToUse+1);
if ((diffc*diffp)<0)
if (diffc>0)
doWhat = _doBuy;
else doWhat = _doSell;
if (doWhat==_doNothing && !DisplayInfo) return(0);
int openedBuys = 0;
int openedSells = 0;
double currentProfit = 0;
for (int i = OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderMagicNumber() != MagicПоказано первые 50% кода (символов: 3214)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.