intraday scalper v.1.030.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «intraday scalper v.1.030.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный код представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник размещает отложенные ордера BuyStop и SellStop в определённые часы, ориентируясь на экстремумы цен на часовом графике с заданным смещением в пунктах.
Советник управляет открытыми позициями: поддерживает стоп-лосс, тейк-профит, перенос в безубыток, трейлинг-стоп и корректировку при убытке. Также реализована автоматическая ликвидация позиций в конце торгового дня и в пятницу.
Встроен механизм управления размером лота на основе процента свободного маржи, который можно включать и выключать. Перед размещением ордеров выполняется проверка достаточности свободных средств на счёте.
Настройки программы
| Настройка | Описание |
|---|---|
| Start1 | Час первого размещения — Час размещения первого набора отложенных ордеров. |
| Start2 | Час второго размещения — Час размещения второго набора отложенных ордеров. |
| EOD | Час закрытия дня — Час закрытия всех управляемых позиций в конце торгового дня. |
| FridayClosing | Час закрытия пятницы — Час закрытия позиций в пятницу. |
| FirstSessionOnly | Только первая сессия — Логический переключатель: при активации второй набор ордеров размещается только в первой торговой сессии. |
| Length | Длина периода (баров) — Количество баров на часовом графике, используемых для определения экстремумов цен при расчёте уровней ордеров. |
| Pips | Смещение уровней (пункты) — Смещение уровней отложенных ордеров от экстремумов цен на часовом графике, измеряемое в пунктах. |
| StopLoss | Стоп-лосс (пункты) — Расстояние от уровня ордера до стоп-лосса, измеряемое в пунктах. |
| BreakEven | Безубыток (пункты) — Расстояние от цены открытия до уровня переноса стоп-лосса в безубыток, измеряемое в пунктах. |
| TrailingStop | Трейлинг-стоп (пункты) — Расстояние трейлинг-стопа от стоп-лосса, измеряемое в пунктах. При значении 0 трейлинг-стоп отключён. |
| LossPips | Убыток для модификации (пункты) — Размер убытка в пунктах, при достижении которого позиция модифицируется путём установки стоп-лосса на уровне цены открытия. |
| TakeProfit | Тейк-профит (пункты) — Расстояние от уровня ордера до тейк-профита, измеряемое в пунктах. |
| Lots | Размер лота — Фиксированный размер лота для открытия позиций. |
| MM | Менеджмент капитала — Логический переключатель, включающий или выключающий автоматический расчёт размера лота на основе свободного маржи. |
| LotsPercent | Процент маржи для лота — Процент свободного маржи, используемый при расчёте размера лота в режиме менеджмента капитала. |
Поиск по коду файла
extern int Start1 = 10;
extern int Start2 = 14;
extern int EOD = 24;
extern int FridayClosing = 23;
extern bool FirstSessionOnly = FALSE;
extern int Length = 4;
extern int Pips = 5;
extern int StopLoss = 50;
extern int BreakEven = 30;
extern int TrailingStop = 0;
extern int LossPips = 0;
extern int TakeProfit = 80;
extern double Lots = 0.1;
extern bool MM = TRUE;
extern int LotsPercent = 10;
int gi_140;
int gi_unused_144;
bool gi_148 = TRUE;
double g_stoplevel_152;
double g_spread_160;
double g_maxlot_168;
double g_minlot_176;
double g_lotstep_184;
double setpoint() {
double l_point_0;
if (Digits == 3) l_point_0 = 0.01;
else {
if (Digits == 5) l_point_0 = 0.0001;
else l_point_0 = Point;
}
return (l_point_0);
}
int init() {
// код доступен только после оплаты
}
int start() {
// код доступен только после оплаты
}
double ld_0;
string ls_8;
if (AccountFreeMargin() < 1500.0 * ld_0) return (0);
if (MM) {
if (LotsPercent > 0) Lots = NormalizeDouble(MathCeil(AccountFreeMargin() / 10000.0 * LotsPercent) / 10.0, 1);
else Lots = ld_0;
}
if (gi_148) {
ls_8 = "(c)2006 ????????.?? HTTP://WWW.SCALPER.RU";
Comment(ls_8);
}
if (EOD >= 24) EOD = 0;
if (FridayClosing == 0) FridayClosing = 24;
string ls_16 = "IDS_" + Symbol();
if (Hour() == Start1 && Minute() < 10) SetOrders(ls_16, 1);
if (Hour() == Start2 && Minute() < 10 && !FirstSessionOnly) SetOrders(ls_16, 2);
for (int l_pos_24 = OrdersTotal() - 1; l_pos_24 >= 0; l_pos_24--) {
OrderSelect(l_pos_24, SELECT_BY_POS);
if (OrderComment() == ls_16) {
if (Hour() == EOD || (DayOfWeek() >= 5 && Hour() == FridayClosing - 1 && Minute() >= 50)) {
switch (OrderType()) {
case OP_BUY:
OrderClose(OrderTicket(), OrderLots(), Bid, 3, Red);
break;
case OP_SELL:
OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
break;
default:
OrderDelete(OrderTicket());
}
} else {
if (LossPips > 0) {
if (OrderType() == OP_BUY)
if (OrderOpenPrice() - Bid >= LossPips * setpoint()) OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), OrderOpenPrice(), 0, Green);
if (OrderType() == OP_SELL)
if (Ask - OrderOpenPrice() >= LossPips * setpoПоказано первые 50% кода (символов: 4380)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.