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

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 и перейдите к оплате.

Стоимость полного кода
321,40₽ ≈ $3.93