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

triplema_crossover_expert.mq4

Похожие материалы по тегам

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

TripleMA Crossover Expert — торговый советник для MetaTrader 4, использующий пересечение трёх скользящих средних (быстрой, средней и медленной) для определения точек входа в сделки. В качестве типов скользящих средних поддерживаются SMA, EMA, SMMA и LWMA, что позволяет гибко настраивать параметры каждой линии.

Советник автоматически открывает ордера BUY и SELL при подтверждении условий пересечения, учитывая дополнительные параметры спреда между линиями. Для управления рисками предусмотрены стоп-лосс, тейк-профит, трейлинг-стоп с несколькими уровнями фиксации прибыли, а также контроль минимального остатка на счёте.

Встроенная система управления лотами позволяет рассчитывать размер позиции на основе процента от эквити или использовать фиксированный размер. Советник отслеживает открытые позиции по текущему символу и обеспечивает их корректное закрытие или модификацию при изменении рыночных условий.

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

НастройкаОписание
Change to false to shutdown money management controls. (MoneyManagement) Система управления денежными средствами — Включение или отключение системы управления денежными средствами. При отключении используется фиксированный размер лота.
Change to whatever percent of equity you wish to risk. (TradeSizePercent) Процент эквити для риска — Процент от текущего эквити, который рекомендуется рисковать при расчёте размера позиции.
standard lot size. (Lots) Стандартный размер лота — Стандартный размер лота для открытия позиции.
0=sma, 1=ema, 2=smma, 3=lwma (FasterMode) Режим быстрой скользящей средней — Режим быстрой скользящей средней: 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA.
FastMAPeriod Период быстрой скользящей средней — Период быстрой скользящей средней, используемой для определения точек входа и выхода.
0=sma, 1=ema, 2=smma, 3=lwma (MiddleMode) Режим средней скользящей средней — Режим средней скользящей средней: 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA.
MiddleMAPeriod Период средней скользящей средней — Период средней скользящей средней, используемой для определения точек входа и выхода.
0=sma, 1=ema, 2=smma, 3=lwma (SlowerMode) Режим медленной скользящей средней — Режим медленной скользящей средней: 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA.
SlowMAPeriod Период медленной скользящей средней — Период медленной скользящей средней, используемой для определения точек входа и выхода.
Fast_MiddleSpread Спред между быстрой и средней скользящими — Спред между быстрой и средней скользящими средними, влияющий на условие входа в сделку.
Middle_SlowSpread Спред между средней и медленной скользящими — Спред между средней и медленной скользящими средними, влияющий на условие входа в сделку.
Signal Смещение сигнальной линии — Смещение сигнальной линии для скользящей средней при расчёте условий пересечения.
Maximum pips willing to lose per position. (StopLoss) Стоп-лосс в пипсах — Максимальное количество пипсов убытка, допустимое по одной позиции.
UseTrailingStop Использование трейлинг-стопа — Включение или отключение функции трейлинг-стопа для открытых позиций.
Type 1 moves stop immediately, Type 2 waits til value of TS is reached (TrailingStopType) Тип трейлинг-стопа — Тип трейлинг-стопа: 1 — перемещение стопа немедленно, 2 — ожидание достижения заданного значения, 3 — многоуровневая фиксация прибыли.
Change to whatever number of pips you wish to trail your position with. (TrailingStop) Расстояние трейлинг-стопа в пипсах — Расстояние в пипсах для трейлинг-стопа после достижения определённого уровня прибыли.
Type 3 first level pip gain (TRStopLevel_1) Первый уровень фиксации прибыли — Первый уровень прироста пипсов для активации фиксации прибыли при использовании трейлинг-стопа типа 3.
Move Stop to Breakeven (TrailingStop1) Стоп-лосс безубытка первого уровня — Значение стоп-лосса для перевода позиции в безубыток при использовании трейлинг-стопа типа 3.
Type 3 second level pip gain (TRStopLevel_2) Второй уровень фиксации прибыли — Второй уровень прироста пипсов для активации фиксации прибыли при использовании трейлинг-стопа типа 3.
Move stop to lock is profit (TrailingStop2) Стоп-лосс фиксации прибыли — Значение стоп-лосса для фиксации прибыли при использовании трейлинг-стопа типа 3.
TRStopLevel_3 Третий уровень трейлинга — Третий уровень прироста пипсов для активации трейлинга при использовании трейлинг-стопа типа 3.
Move stop and trail from there (TrailingStop3) Стоп-лосс и трейлинг третьего уровня — Значение стоп-лосса и расстояние трейлинга после достижения третьего уровня прибыли.
Maximum profit level achieved. (TakeProfit) Тейк-профит в пипсах — Максимальный уровень прибыли в пипсах по одной позиции.
Expert will stop trading if equity level decreases to that level. (Margincutoff) Порог эквити для остановки торговли — Минимальный уровень эквити, ниже которого советник прекращает открытие новых сделок.
MaxLots Максимальный размер лота — Максимально допустимый размер лота при расчёте объёма позиции.
Possible fix for not getting closed (Slippage) Допустимое проскальзывание — Допустимое проскальзывание при открытии и закрытии ордеров.
Получить полный код

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

#include <stdlib.mqh>

#define MAGIC 3333

extern bool AccountIsMini = true;        // Change to true if trading mini account
extern bool MoneyManagement = true;      // Change to false to shutdown money management controls.

extern double TradeSizePercent = 5;      // Change to whatever percent of equity you wish to risk.
extern double Lots = 3;             // standard lot size. 

extern int FasterMode = 0; //0=sma, 1=ema, 2=smma, 3=lwma
extern int FastMAPeriod =   9;
extern int MiddleMode = 0; //0=sma, 1=ema, 2=smma, 3=lwma
extern int MiddleMAPeriod =   14;
extern int SlowerMode = 0; //0=sma, 1=ema, 2=smma, 3=lwma
extern int SlowMAPeriod =   29;
extern int Fast_MiddleSpread=0;
extern int Middle_SlowSpread=0;
extern int Signal=1;

extern double StopLoss = 250;       // Maximum pips willing to lose per position.
extern bool UseTrailingStop = true;
extern int TrailingStopType = 3;        // Type 1 moves stop immediately, Type 2 waits til value of TS is reached
extern double TrailingStop = 40;        // Change to whatever number of pips you wish to trail your position with.
extern double TRStopLevel_1 = 20;       // Type 3  first level pip gain
extern double TrailingStop1 = 20;       // Move Stop to Breakeven
extern double TRStopLevel_2 = 30;       // Type 3 second level pip gain
extern double TrailingStop2 = 20;       // Move stop to lock is profit
extern double TRStopLevel_3 = 50;
extern double TrailingStop3 = 20;       // Move stop and trail from there
extern int TakeProfit = 0;          // Maximum profit level achieved.
extern double Margincutoff = 800;   // Expert will stop trading if equity level decreases to that level.
extern double MaxLots = 100;
extern int Slippage = 10;           // Possible fix for not getting closed    

string setup;
double lotMM;
int TradesInThisSymbol;
double Sl; 
double Tr;
bool OK2Buy, OK2Sell;              // determines if buy or sell trades are allowed
int NumBuys, NumSells;             // Number of buy and sell trades in this Symbol

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

int deinit()
  {
  }

bool CheckExitCondition(string TradeType)
{
   bool YesClose;
   double fMA, mMA;

   YesClose = false;
   fMA = iMA(NULL, 0, FastMAPeriod, 1, FasterMode, PRICE_CLOSE, Signal);
   mMA = iMA(NULL, 0, MiddleMAPeriod, 1, MiddleMode, PRICE_CLOSE, Signal);

   if (TradeType == "BUY" && fMA < mMA) YesClose = true;

   if (TradeType == "SELL" && fMA > mMA) YesClose =true;

   return (YesClose);
}

bool CheckEntryCondition(string TradeType)
{
   bool YesTrade;
   double fMA, mMA, sMA;

   YesTrade = false;
   fMA = iMA(NULL, 0, FastMAPeriod, 1, FasterMode, PRICE_CLOSE, Signal);
   mMA = iMA(NULL, 0, MiddleMAPeriod, 1, MiddleMode, PRICE_CLOSE, Signal);
   sMA = iMA(NULL, 0, SlowMAPeriod, 1, SlowerMode, PRICE_CLOSE, Signal);

   if (TradeType == "BUY" && fMA > (mMA + Fast_MiddleSpread*Point) && mMA > (sMA + Middle_SlowSpread * Point))  YesTrade = true;

   if (TradeType == "SELL" && fMA < (mMA - Fast_MiddleSpread*Point) && mMA < (sMA - Middle_SlowSpread * Point) ) YesTrade = true;

   return (YesTrade);
}

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

   setup="tripleMA_crossover_expert" + Symbol();

   if (CheckValidUserInputs()) return(0);   

     HandleOpenPositions();

     TradesInThisSymbol = CheckOpenPositions();

   if(AccountFreeMargin() < Margincutoff) {
     return(0);}

   if(TradesInThisSymbol > 0) {
     return(0);}

   lotMM = GetLots();

	if(CheckEntryCondition("BUY"))
	{
		if (StopLoss>0) {
		 Sl = Ask-StopLoss*Point;
		} else {
		 Sl=0;
		}
		if (TakeProfit == 0) 
		    Tr = 0;
		else
		    Tr = Ask+TakeProfit*Point;

		OpenBuyOrder();
	}

	if(CheckEntryCondition("SELL"))
	{
		if (StopLoss>0) {
		 Sl = Bid+StopLoss*Point;
		} e

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

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

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

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

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

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

Стоимость полного кода
485,10₽ ≈ $5.93