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