ea scalper fx finish_.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ea scalper fx finish_.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Торговый советник для MetaTrader 4, написанный на MQL4. Советник работает по заданному магическому номеру и символу, управляет собственными ордерами, отображает информационную панель на графике и поддерживает ряд пользовательских настроек. В коде присутствует проверка срока действия: после указанной даты советник выводит предупреждение и прекращает торговлю. Также предусмотрены ограничения по времени работы и по достижению целевого уровня средств на счёте.
Советник открывает рыночные ордера BUY и SELL, использует мартингейл для увеличения объёма последующих сделок, может закрывать позиции по условиям убытка и сопровождать их трейлинг-стопом. Объём сделки рассчитывается с учётом возможного автоувеличения от баланса, а также с проверкой достаточности свободной маржи перед отправкой ордера. При необходимости выполняется закрытие всех ордеров по заданному магическому номеру.
В советнике реализована отрисовка информационных надписей на графике: отображаются данные счёта, текущее время, статус работы и служебные сообщения. Все внешние параметры задаются через входные переменные, что позволяет настраивать поведение без изменения кода. Советник не содержит пользовательских библиотек и использует только встроенные функции MQL4.
Настройки программы
| Настройка | Описание |
|---|---|
| Petunjuk_LanjutTrade | Пояснение к продолжению торговли — Пояснительный текст к параметру продолжения торговли. |
| LanjutTrade | Продолжать торговлю — Разрешает советнику продолжать торговлю после достижения лимита сделок. |
| Petunjuk_Istirahat | Пояснение к паузе — Пояснительный текст к параметру паузы после сделок. |
| Istirahat | Пауза после сделок — Количество сделок, после которого советник приостанавливает торговлю. |
| __JamBeroprasi__ | Пояснение к работе по часам — Пояснительный текст к параметрам торговли по часам. |
| JamTrading | Торговля по часам — Включает торговлю только в заданный интервал часов. |
| MulaiJam | Час начала — Час начала торговли при включённом режиме работы по часам. |
| StopJam | Час окончания — Час окончания торговли при включённом режиме работы по часам. |
| CutLoss | Разрешить закрытие убытка — Разрешает закрытие убыточных ордеров при определённых условиях. |
| Marti | Использовать мартингейл — Включает использование мартингейла для увеличения объёма сделок. |
| Transisi | Режим перехода объёма — Режим расчёта объёма для последующих сделок. |
| LotExponent | Множитель объёма — Множитель объёма для увеличения размера последующих сделок. |
| __Coumpound__ | Пояснение к автообъёму — Пояснительный текст к параметрам автоматического расчёта объёма. |
| Compound | Автоматический объём от баланса — Включает автоматический расчёт объёма сделки от баланса счёта. |
| Pembagi | Делитель для расчёта объёма — Делитель для расчёта объёма сделки от баланса счёта. |
| Lots | Объём сделки — Базовый объём сделки в лотах. |
| LotsDigits | Точность объёма — Количество знаков после запятой при округлении объёма. |
| TakePropit | Тейк-профит — Размер тейк-профита в пунктах. |
| StopLoss | Стоп-лосс — Размер стоп-лосса в пунктах. |
| PipsStep | Шаг в пунктах — Шаг в пунктах для открытия дополнительных ордеров. |
| MaxTrades | Максимум ордеров — Максимальное количество одновременно открытых ордеров советника. |
| __Trailling__ | Пояснение к трейлингу — Пояснительный текст к параметрам трейлинга. |
| PakeTrailing | Использовать трейлинг — Включает автоматическое сопровождение позиций трейлинг-стопом. |
| LockPropit | Уровень прибыли для сопровождения — Уровень прибыли в пунктах, при котором начинается сопровождение позиции. |
| TrailingStop | Трейлинг-стоп — Размер трейлинг-стопа в пунктах. |
| UseEquityStop | Остановка по риску средств — Включает остановку торговли при превышении допустимого риска по средствам. |
| TotalEquityRisk | Риск по средствам — Допустимый процент риска от средств счёта для остановки торговли. |
| __Target_Harian__ | Пояснение к дневной цели — Пояснительный текст к параметрам дневной цели. |
| Target | Целевая остановка — Включает остановку торговли при достижении заданного уровня средств. |
| Akumulasi | Целевой уровень средств — Целевой уровень средств на счёте, при достижении которого советник прекращает торговлю. |
| CloseAll | Закрывать все ордера — Включает закрытие всех ордеров советника по заданному магическому номеру. |
| magic | Магический номер — Магический номер для идентификации ордеров советника. |
| Komentar | Комментарий к ордерам — Текст комментария, добавляемый к ордерам советника. |
Поиск по коду файла
double Gd_unused_76 = 10973132.0;
extern string Petunjuk_LanjutTrade = "Setelah Ea Op Lalu Di ganti False= Ronde Berikut Ea OF";
extern bool LanjutTrade = TRUE;
extern string Petunjuk_Istirahat = "Jika= Di isi= 10.Ea Stop Setelah Take 10 kali";
extern int Istirahat = 100;
int Gi_108;
color G_color_112 = Lime;
int G_color_116 = Gold;
int G_color_120 = White;
int G_color_124 = Blue;
int G_color_128 = Silver;
color G_color_132 = Gold;
int G_color_136 = Red;
int G_color_140 = Gold;
int Gi_unused_144 = 65280;
int G_color_148 = Blue;
int G_color_152 = White;
extern string __JamBeroprasi__ = "Jika True Ea Akan Aktif Sesuai Jadwal";
extern bool JamTrading = FALSE;
extern int MulaiJam = 22;
extern int StopJam = 12;
extern bool CutLoss = FALSE;
extern bool Marti = TRUE;
extern int Transisi = 1;
extern double LotExponent = 1.6;
double G_slippage_196 = 5.0;
extern string __Coumpound__ = "Jika True EA Otamatis Mengubah Lots Nya";
extern bool Compound = FALSE;
extern double Pembagi = 10000.0;
extern double Lots = 0.01;
extern double LotsDigits = 2.0;
extern double TakePropit = 4.0;
extern double StopLoss = 0.0;
extern double PipsStep = 3.0;
extern int MaxTrades = 20;
extern string __Trailling__ = "Jika True EA Otamatis Mengunci StopLoss nya";
extern bool PakeTrailing = FALSE;
extern double LockPropit = 7.0;
extern double TrailingStop = 5.0;
extern bool UseEquityStop = FALSE;
extern double TotalEquityRisk = 20.0;
extern string __Target_Harian__ = "If true, accumulation in capital+target";
extern bool Target = FALSE;
extern double Akumulasi = 100.0;
extern bool CloseAll = FALSE;
extern int magic = 70709;
extern string Komentar = "Scalper_Forex";
double Gd_344 = 0.0;
bool Gi_352 = FALSE;
double G_price_356;
double Gd_364;
double Gd_unused_372;
double Gd_unused_380;
double G_price_388;
double G_bid_396;
double G_ask_404;
double Gd_412;
double Gd_420;
double Gd_428;
bool Gi_436;
int Gi_440 = 0;
int Gi_444;
int Gi_448 = 0;
double Gd_452;
int G_pos_460 = 0;
int Gi_464;
double Gd_468 = 0.0;
bool Gi_476 = FALSE;
bool Gi_480 = FALSE;
bool Gi_484 = FALSE;
int Gi_488;
bool Gi_492 = FALSE;
int G_datetime_496 = 0;
int G_datetime_500 = 0;
double Gd_504;
double Gd_512;
double Gd_520;
int init() {
// код доступен только после оплаты
}
int deinit() {
ObjectsDeleteAll();
return (0);
}
int start() {
// код доступен только после оплаты
}
double f0_10(double Ad_0) {
return (NormalizeDouble(Ad_0, Digits));
}
int f0_2(bool Ai_0 = TRUE) {
int Ai_4 = 0;
for (int pos_8 = OrdersTotal() - 1; pos_8 >= 0; pos_8--) {
if (OrderSelect(pos_8, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == magic) {
if (OrderType() == OP_BUY && Ai_0) {
RefreshRates();
if (!IsTradeContextBusy()) {
if (!OrderClose(OrderTicket(), OrderLots(), f0_10(Bid), 5, CLR_NONE)) {
Print("Error Tutup BUY " + OrderTicket());
Ai_4 = -1;
}
} else {
if (G_datetime_496 == iTime(NULL, 0, 0)) return (-2);
G_datetime_496 = iTime(NULL, 0, 0);
Print("Mesti Tutup BUY " + OrderTicket() + ". Trade Context Sibuk");
return (-2);
}
}
if (OrderType() == OP_SELL && Ai_0) {
RefreshRates();
if (!IsTradeContextBusy()) {
if (!(!OrderClose(OrderTicket(), OrderLots(), f0_10(Ask), 5, CLR_NONE))) continue;
Print("Error Tutup SELL " + OrderTicket());
Ai_4 = -1;
continue;
}
if (G_datetime_500 == iTime(NULL, 0, 0)) return (-2);
G_datetime_500 = iTime(NULL, 0, 0);
Print("Mesti Tutup SELL " + OrderTicket() + ". Trade Context Sibuk");
return (-2);
}
}
}
}
return (Ai_4);
}
double f0_12(int A_cmd_0) {
double lots_4;
int datetime_12;
switch (Transisi) {
case 0:
lots_4 = Lots;
break;
case 1:
lots_4 = NormalizeDouble(Lots * MathPow(LotExponent, Gi_448), LotsDigits);
break;
case 2:
datetime_12 = 0;
lots_4 = Lots;
for (int pos_20 = OrdersHistoryTotal() - 1; pos_20 >= 0; pos_20--) {
if (OrderSelect(pos_20, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == magic) {
if (datetime_12 < OrderCloseTime()) {
datetime_12 = OrderCloseTime();
if (OrderProfit() < 0.0) {
lots_4 = NormalizeDouble(OrderLots() * LotExponent, LotsDigits);
continue;
}
lots_4 = Lots;
}
}
} else return (-3);
}
}
if (AccountFreeMarginCheck(Symbol(), A_cmd_0, lots_4) <= 0.0) return (-1);
if (GetLastError() == 134/* NOT_ENOUGH_MONEY */) return (-2);
return (lots_4);
}
int f0_14() {
int count_0 = 0;
for (int pos_4 = OrdersTotal() - 1; pos_4 >= 0; pos_4--) {
OrderSelect(Показано первые 50% кода (символов: 20512)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.