adeline_ea full.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «adeline_ea full.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Торговый советник для платформы MetaTrader 4, предназначенный для автоматизации торговых операций. Программа анализирует ценовые данные с использованием технических индикаторов и на основе полученных сигналов управляет открытием и закрытием позиций.
Советник поддерживает стандартные механизмы управления рисками: стоп-лосс, тейк-профит и трейлинг-стоп. Все параметры настроены через пользовательские переменные, что позволяет гибко настраивать торговые параметры под конкретные условия.
Доступна функция email-уведомлений о ключевых торговых событиях. Советник фильтрует ордера по магическому числу, что позволяет использовать его одновременно с другими экспертами на одном счёте.
Настройки программы
| Настройка | Описание |
|---|---|
| MagicNumber | MagicNumber — Идентификатор магического числа для фильтрации ордеров советника |
| SignalMail | SignalMail — Включает или отключает отправку email-уведомлений о торговых событиях |
| Lots | Lots — Объём лота для открытия позиции |
| Slippage | Slippage — Допустимое проскальзывание цены в пунктах |
| UseStopLoss | UseStopLoss — Включает или отключает использование стоп-лосса |
| StopLoss | StopLoss — Расстояние стоп-лосса в пунктах от цены входа |
| UseTakeProfit | UseTakeProfit — Включает или отключает использование тейк-профита |
| TakeProfit | TakeProfit — Расстояние тейк-профита в пунктах от цены входа |
| UseTrailingStop | UseTrailingStop — Включает или отключает трейлинг-стоп |
| TrailingStop | TrailingStop — Расстояние трейлинг-стопа в пунктах от цены входа |
Поиск по коду файла
#define SIGNAL_NONE 0
#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
extern int MagicNumber = 12345;
extern bool SignalMail = False;
extern double Lots = 1.0;
extern int Slippage = 3;
extern bool UseStopLoss = True;
extern int StopLoss = 30;
extern bool UseTakeProfit = False;
extern int TakeProfit = 0;
extern bool UseTrailingStop = True;
extern int TrailingStop = 30;
int P = 1;
int Order = SIGNAL_NONE;
int Total, Ticket, Ticket2;
double StopLossLevel, TakeProfitLevel, StopLevel;
double sma10_1, sma10_2, sma40_1, sma40_2;
int init() {
// код доступен только после оплаты
}
int deinit() {
return(0);
}
int start() {
// код доступен только после оплаты
}
Total = OrdersTotal();
Order = SIGNAL_NONE;
sma10_1 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 1); // c
sma10_2 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 2); // b
sma40_1 = iMA(NULL, 0, 40, 0, MODE_SMA, PRICE_CLOSE, 1); // d
sma40_2 = iMA(NULL, 0, 40, 0, MODE_SMA, PRICE_CLOSE, 2); // a
StopLevel = (MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD)) / P; // Defining minimum StopLevel
if (StopLoss < StopLevel) StopLoss = StopLevel;
if (TakeProfit < StopLevel) TakeProfit = StopLevel;
bool IsTrade = False;
for (int i = 0; i < Total; i ++) {
Ticket2 = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
IsTrade = True;
if(OrderType() == OP_BUY) {
/* ADELINE EXIT RULES:
Exit the long trade when SMA(10) crosses SMA(40) from top
Exit the short trade when SMA(10) crosses SMA(40) from bottom
30 pips hard stop (30pips from initial entry price)
Trailing stop of 30 pips
*/
if(sma10_2 > sma40_2 && sma40_1 >= sma10_1) Order = SIGNAL_CLOSEBUY; // Rule to EXIT a Long trade
if (Order == SIGNAL_CLOSEBUY) {
Ticket2 = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
IsTrade = False;
continue;
}
if(UseTrailingStop && TrailingStop > 0) {
if(Bid - OrderOpenPrice() > P * Point * TrailingStop) {
if(OrderStopLoss() < Bid - P * Point * TrailingStop) {
Ticket2 = OrderModify(OrderTicket(), OrderOpenPrice(), Bid - P * Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
continue;
}
}
}
} else {
if (sma40_2 > sma10_2 && sma10_1 >= sma40_1) Order = SIGNAL_CLOSESELL; // Rule to EXIT a Short trade
if (Order == SIGNAL_CLOSESELL) {
Ticket2 = OrderClose(OrderTicket(), OrderLots(Показано первые 50% кода (символов: 4246)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.