King EA
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «king ea .mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
King EA — торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник анализирует состояние индикатора RSI на заданном таймфрейме и периоде для формирования торговых сигналов на покупку и продажу. Он поддерживает автоматическое управление позициями с использованием стоп-лосса и тейк-профита, а также позволяет ограничивать время нахождения сделок на рынке.
Советник работает в заданном торговом окне, определяемом часами начала и окончания сессии. При активированном режиме управления рисками размер лота пересчитывается на основе свободного маржи счёта с возможностью задания процента от маржи. Также реализована защита от повторного открытия сделок одного направления и сброс состояний при возвращении индикатора в нейтральную зону.
Каждая открытая позиция идентифицируется заданным магическим номером, что позволяет советнику отслеживать и управлять только своими ордерами. Максимальное время удержания позиции настраивается отдельно для сделок на покупку и продажу, после чего позиция закрывается автоматически.
Настройки программы
| Настройка | Описание |
|---|---|
| Magic | Магический номер — Идентификатор ордеров советника для отслеживания и управления только своими позициями на текущем символе |
| Lots | Размер лота — Базовый размер лота для открытия сделок |
| SL | Стоп-лосс — Расстояние стоп-лосса в пунктах от цены входа |
| TP | Тейк-профит — Расстояние тейк-профита в пунктах от цены входа |
| Start | Начало торговой сессии — Час начала разрешённого окна торговли по серверному времени |
| End | Окончание торговой сессии — Час окончания разрешённого окна торговли по серверному времени |
| RSI_BUY | Порог RSI для покупки — Значение индикатора RSI, ниже которого рассматривается сигнал на покупку |
| RSI_SELL | Порог RSI для продажи — Значение индикатора RSI, выше которого рассматривается сигнал на продажу |
| RSI_PERIOD | Период RSI — Период расчёта индикатора RSI |
| RSI_TF | Таймфрейм RSI — Таймфрейм, на котором рассчитывается индикатор RSI |
| MM | Управление рисками — Включает автоматический пересчёт размера лота на основе свободного маржи |
| LotsPercent | Процент от маржи — Процент свободного маржи, используемый для расчёта размера лота при активном управлении рисками |
| MaxOpenTime_BUY | Максимальное время позиции BUY — Максимальное время удержания позиции на покупку в часах перед автоматическим закрытием |
| MaxOpenTime_SELL | Максимальное время позиции SELL — Максимальное время удержания позиции на продажу в часах перед автоматическим закрытием |
Поиск по коду файла
extern int Magic = 1110;
extern double Lots = 1.0;
extern int SL = 25;
extern int TP = 5;
extern int Start = 21;
extern int End = 6;
extern double RSI_BUY = 30;
extern double RSI_SELL = 70;
extern int RSI_PERIOD = 10;
extern int RSI_TF = 1;
extern bool MM = false;
extern int LotsPercent = 10;
extern int MaxOpenTime_BUY = 10;
extern int MaxOpenTime_SELL = 10;
int MaxLot = 100;
double MinLot = 0.01;
double RSI_BUY_Zera = 40;
double RSI_SELL_Zera = 60;
bool Compra = true;
bool Venda = true;
int i,tmp,ordtotal,closeprice,cnt,total;
int isMgNum(int magic)
{
ordtotal = OrdersTotal();
for ( i = 0; i < ordtotal; i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if ((OrderMagicNumber() == magic) && (OrderSymbol() == Symbol())) return(1);
}
}
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
double free;
tmp = (TimeCurrent()-OrderOpenTime())/36000.0;
if (AccountFreeMargin() < free * 150.0) return(0);
if (MM)
{
if (LotsPercent > 0)
Lots = NormalizeDouble(MathCeil(AccountFreeMargin() / 1000.0 * LotsPercent) / 10.0,1);
else
Lots = Lots;
}
if (Lots < MinLot) Lots = MinLot;
if (Lots > MaxLot) Lots = MaxLot;
double IN;
double RSI_1 = iRSI(NULL, RSI_TF, RSI_PERIOD, PRICE_CLOSE, 0);
double RSI_2 = iRSI(NULL, RSI_TF, RSI_PERIOD, PRICE_CLOSE, 1);
Comment("Trading hours: ",Start," to ",End,"\n","Trading is disabled");
if ((Start < End) && ((TimeHour(TimeCurrent()) < Start ) || (TimeHour(TimeCurrent()) >= End))) return(0);
else
if ((Start > End) && ((TimeHour(TimeCurrent()) < Start ) && (TimeHour(TimeCurrent()) >= End))) return(0);
else
Comment("Trading hours: ",Start," to ",End,"\n","Trading is enabled");
IN = NormaliПоказано первые 50% кода (символов: 2694)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.