forex arbitrates @lifeindreamsworld.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «forex arbitrates @lifeindreamsworld.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный код представляет собой торговый советник для платформы MetaTrader 4, written in MQL4. Он анализирует ценовые данные с помощью набора технических индикаторов (SAR, RSI, Stochastic, Momentum, ADX, OsMA) и на основе их сигналов открывает позиции BUY или SELL.
Советник поддерживает фиксированные уровни стоп-лосса и тейк-профита, а также трейлинг-стоп для управления защитой позиций. Встроена система управления рисками, позволяющая автоматически рассчитывать размер лота на основе свободного маржинального баланса.
Также реализована функция email-уведомлений об открытии и закрытии позиций, а также режим обработки каждого тика или только при появлении нового бара. Для идентификации своих ордеров используется магический номер.
Важно: параметр NFA объявлен, но не используется в торговой логике. Все торговые операции выполняются через стандартные функции OrderSend и OrderModify платформы MetaTrader 4.
Настройки программы
| Настройка | Описание |
|---|---|
| TakeProfit | Тейк-профит — Уровень тейк-профита в пунктах для фиксации прибыли по позиции. |
| StopLoss | Стоп-лосс — Уровень стоп-лосса в пунктах для защиты позиции от убытков. |
| UseTrailingStop | Использовать трейлинг-стоп — Переключатель активации функции трейлинг-стопа для динамического перемещения стоп-лосса. |
| TrailingStop | Расстояние трейлинг-стопа — Расстояние трейлинг-стопа в пунктах, определяющее отслеживание позиции при движении в прибыльную сторону. |
| Lots | Размер лота — Фиксированный размер лота для открытия позиции. При включённом управлении рисками значение может быть пересчитано автоматически. |
| MM | Автоматическое управление рисками — Переключатель автоматического расчёта размера лота на основе коэффициента риска и свободного маржинального баланса. |
| Risk | Коэффициент риска — Коэффициент риска, определяющий долю свободного маржинального баланса, используемая для расчёта размера лота при включённом MM. |
| SignalMail | Email-уведомления о сигналах — Переключатель отправки email-уведомлений при открытии и закрытии позиций. |
| EachTickMode | Режим обработки каждого тика — Переключатель режима обработки: при значении TRUE советник обрабатывает каждый тик, при FALSE — только при появлении нового бара. |
| Slippage | Допустимое проскальзывание — Допустимое значение проскальзывания цены при выполнении рыночных ордеров. |
| NFA | Параметр NFA — Логический переключатель. Объявлен в коде, но не используется в текущей версии советника. |
| MagicNumber | Магический номер ордера — Уникальный идентификатор ордеров, используемый советником для отслеживания и управления своими позициями. |
Поиск по коду файла
extern int TakeProfit = 0;
bool gi_80 = TRUE;
extern int StopLoss = 0;
bool gi_88 = TRUE;
extern bool UseTrailingStop = TRUE;
extern int TrailingStop = 0;
bool gi_152 = FALSE;
double gd_156 = 0.0;
double gd_164 = 0.0;
int g_ticket_172 = -1;
double g_point_176;
int ere;
extern double Lots = 1.0;
extern bool MM = TRUE;
extern double Risk = 0.05;
extern bool SignalMail = FALSE;
extern bool EachTickMode = TRUE;
extern int Slippage = 3;
extern bool NFA = FALSE;
extern int MagicNumber = 98098;
bool gi_140 = TRUE;
int g_bars_144;
int gi_unused;
int init() {
// код доступен только после оплаты
}
int deinit() {
return (0);
}
int start() {
// код доступен только после оплаты
}
int l_ticket_0;
double l_price_4;
double l_price_12;
if (Point == 0.00001) g_point_176 = 0.0001;
else {
if (Point == 0.001) g_point_176 = 0.01;
else g_point_176 = Point;
}
int li_20 = 0;
if (EachTickMode && Bars != g_bars_144) gi_152 = FALSE;
int l_ord_total_24 = OrdersTotal();
li_20 = 0;
HideTestIndicators(TRUE);
double l_isar_28 = iSAR(NULL, 0, 0.005, 0.05, 1);
double l_isar_36 = iSAR(NULL, 0, 0.005, 0.05, 0);
double l_irsi_44 = iRSI(NULL, 0, 21, PRICE_CLOSE, 0);
double l_istochastic_52 = iStochastic(NULL, 0, 10, 3, 3, MODE_EMA, 0, MODE_MAIN, 0);
double l_istochastic_60 = iStochastic(NULL, 0, 10, 3, 3, MODE_EMA, 0, MODE_MAIN, 1);
double l_imomentum_68 = iMomentum(NULL, 0, 100, PRICE_OPEN, 0);
double l_iadx_76 = iADX(NULL, 0, 21, PRICE_CLOSE, MODE_MAIN, 0);
double l_iosma_84 = iOsMA(NULL, 0, 90, 99, 88, PRICE_OPEN, 1);
HideTestIndicators(FALSE);
if (g_ticket_172 != -1 && OrderSelect(g_ticket_172, SELECT_BY_TICKET)) {
if (OrderCloseTime() == 0) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
if (OrderType() == OP_BUY) {
if (UseTrailingStop && TrailingStop > 0) {
if (Bid - OrderOpenPrice() > g_point_176 * TrailingStop) {
if (gi_140) {
if (gd_156 < Bid - g_point_176 * TrailingStop) {
gd_156 = Bid - g_point_176 * TrailingStop;
if (!EachTickMode) g_bars_144 = Bars;
}
} else {
if (OrderStopLoss() < Bid - g_point_176 * TrailingStop) {
ere=OrderModify(OrderTicket(), OrderOpenPrice(), Bid - g_point_176 * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
if (!EachTickMode) g_bars_144 = Bars;
}
}
}
}
if (gi_140 && Bid <= gd_156 || Bid >= gd_164) {
if (OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen)) {
gd_156 = 0;
gd_164 = 0;
g_ticket_172 = -1;
}
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
if (!EachTickMode) g_bars_144 = Bars;
}
} else {
if (OrderType() == OP_SELL) {
if (UseTrailingStop && TrailingStop > 0) {
if (OrderOpenPrice() - Ask > g_point_176 * TrailingStop) {
if (gi_140) {
if (gd_156 > Ask + g_point_176 * TrailingStop || gd_156 == 0.0) {
gd_156 = Ask + g_point_176 * TrailingStop;
if (!EachTickMode) g_bars_144 = Bars;
}
} else {
if (OrderStopLoss() > Ask + g_point_176 * TrailingStop || OrderStopLoss() == 0.0) {
ere=OrderModify(OrderTicket(), OrderOpenPrice(), Ask + g_point_176 * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
if (!EachTickMode) g_bars_144 = Bars;
}
}
}
}
if (gi_140 && Bid >= gd_156 || Bid <= gd_164) {
if (OrderПоказано первые 50% кода (символов: 6051)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.