thebull_lvl3macross.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «thebull_lvl3macross.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный исходник представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник размещает отложенные ордера (BUYSTOP и SELLSTOP) на основе разницы значений двух пользовательских индикаторов и осуществляет модификацию стоп-лоссов и тейк-профитов для активных позиций.
Программа включает фильтрацию по среднему спреду — при превышении заданного порога вход в сделку блокируется. Также реализованы временные ограничения на торговлю и автоматический расчёт размера лота с учётом баланса, кредитного плеча и лимитов брокера.
Советник поддерживает управление рисками через систему стоп-лоссов и тейк-профитов, включая возможность трейлинг-стопа для открытых позиций. Настройки включают параметры лотов, уровней стопов и тейков, а также временные рамки и разделители для организации панели параметров.
Настройки программы
| Настройка | Описание |
|---|---|
| strSystemTrade_1 | Разделитель параметров 1 — Текстовый разделитель для группировки параметров в панели настроек. |
| isAuto_Trade | Автоматическая торговля — Переключатель автоматической торговли (включено/выключено). |
| strSystemTrade_2 | Разделитель параметров 2 — Текстовый разделитель для группировки параметров в панели настроек. |
| Default_Money | Начальная сумма (для расчёта лотов) — Начальная сумма для расчёта размера лота при автоматическом управлении. |
| MaxTP_psnt | Максимальный тейк-профит (пункты) — Максимальный допустимый тейк-профит в пунктах. |
| MaxSL_psnt | Максимальный стоп-лосс (пункты) — Максимальный допустимый стоп-лосс в пунктах. |
| strSystemTrade_3 | Разделитель параметров 3 — Текстовый разделитель для группировки параметров в панели настроек. |
| isLots_Auto | Автоматический расчёт лотов — Переключатель автоматического расчёта размера лота. |
| CalcLots_of_Optimize | Параметр расчёта лотов — Числовой параметр, используемый при автоматическом расчёте размера лота. |
| Lots | Размер лота — Фиксированный размер лота при отключённом автоматическом расчёте. |
| strSystemTrade_31 | Разделитель параметров 31 — Текстовый разделитель для группировки параметров в панели настроек. |
| MaxEnter_Step | Максимальный шаг входа — Максимальное количество шагов входа в позицию. |
| Double_Lots | Множитель лота — Множитель лота, применяемый при определённых условиях входа. |
| Pending_stop_gap | Отступ для отложенных ордеров — Целочисленный параметр, задающий отступ для размещения отложенных ордеров. |
| strSystemTrade_4 | Разделитель параметров 4 — Текстовый разделитель для группировки параметров в панели настроек. |
| AutoStop_tp | Автоматический тейк-профит (пункты) — Максимальный автоматический тейк-профит в пунктах. |
| AutoStop_sl | Автоматический стоп-лосс (пункты) — Максимальный автоматический стоп-лосс в пунктах для управления рисками. |
| TrailingStop_tp | Тейк-профит трейлинг-стопа (пункты) — Уровень тейк-профита для трейлинг-стопа в пунктах. |
| TrailingStop_sl | Стоп-лосс трейлинг-стопа (пункты) — Уровень стоп-лосса для трейлинг-стопа в пунктах. |
| isTrailingStop | Включение трейлинг-стопа — Переключатель включения/выключения трейлинг-стопа. |
| TrailingStop_step | Шаг трейлинг-стопа — Шаг фиксации прибыли для трейлинг-стопа. |
| isSystem_StopProf | Системный стоп по прибыли — Переключатель системной остановки по прибыли. |
| isSystem_StopLoss | Системный стоп по убытку — Переключатель системной остановки по убытку. |
| strSystemTrade_23 | Разделитель параметров 23 — Текстовый разделитель для группировки параметров в панели настроек. |
| isAlam_Enter | Уведомление при входе — Переключатель уведомлений при входе в сделку. |
| StartTime | Время начала торговли — Время начала торговой сессии в формате строки (например, HH:MM). |
| EndTime | Время окончания торговли — Время окончания торговой сессии в формате строки (например, HH:MM). |
Поиск по коду файла
extern string strSystemTrade_1="****************************************";
extern bool isAuto_Trade=false;
extern string strSystemTrade_2="****************************************";
extern double Default_Money=10000.0;
extern double MaxTP_psnt=100000.0;
extern double MaxSL_psnt=0.0;
extern string strSystemTrade_3="****************************************";
extern bool isLots_Auto=true;
extern double CalcLots_of_Optimize=20000.0;
extern double Lots=0.1;
extern string strSystemTrade_31="----------------------------------------";
extern int MaxEnter_Step=3;
extern double Double_Lots=1.7;
extern int Pending_stop_gap=34;
extern string strSystemTrade_4="****************************************";
extern double AutoStop_tp=16.0;
extern double AutoStop_sl=0.0;
extern double TrailingStop_tp=12.0;
extern double TrailingStop_sl=0.0;
extern bool isTrailingStop=true;
extern double TrailingStop_step=2.0;
extern bool isSystem_StopProf=true;
extern bool isSystem_StopLoss=true;
extern string strSystemTrade_23="****************************************";
extern bool isAlam_Enter=false;
extern string StartTime="09:35";
extern string EndTime="17:54";
int Zddfi_184 = 140;
string Zddf_comment_192 = "";
double Zddfd_200 = 100000.0;
double Zddfd_208 = 0.1;
double Zddf_pips_216 = 10000.0;
int Zddf_ma_method_224 = MODE_LWMA;
int Zddfi_228 = 0;
int Zddfi_232 = 0;
int Zddfi_236 = 23;
int Zddfi_240 = 59;
int Zddfi_244 = 0;
double Zddf_pips_248 = 0.0;
int Zddf_digits_256 = 0;
double Zddf_point_260 = 0.0;
int Zddfi_268;
double Zddfd_272;
double Zddfd_280;
double Zddfd_288;
int MagicNumber;
int StopLoss;
string ErrorDescription;
double Zddfd_296;
double Zddfd_304;
double Zddfd_312;
double Zddfd_320;
int Zddf_slippage_328 = 3;
bool Zddfi_332;
double Zddfd_336;
double Zddfda_344[30];
int Zddfi_348 = 0;
string Zddfs_dummy_352;
string Zddfs_unused_360 = "";
string Zddfs_unused_368 = "";
string Zddfs_unused_404 = "000,000,000";
string Zddfs_unused_412 = "000,000,255";
int Zddfi_432 = 40;
double Zddf_timeframe_436 = 240.0;
bool Zddfi_444 = TRUE;
int Zddfi_unused_448 = 6908265;
int TrailingStop = 2;
string TrailingStart = "-2";
int Buffer = 2;
int MaxSpread = 2;
bool MoneyManagement = TRUE;
double Risk = 5.0;
int Activation_Code = 0;
int OP_TRD = 1;
double ThaBull = 22.0;
double TrailingStep = 0.3;
double Lock = 0.3;
double MinLots = 0.01;
double MAX_LOT = 0.01;
bool UseMM = TRUE;
double Spread = 0.8;
string Zddf_name_452 = "SpreadIndikatorObj";
double Zddfd_unused_460;
int Zddfi_unused_468 = 255;
int Zddfi_unused_472 = 11119017;
int Zddfi_unused_476 = 8388352;
bool Zddfi_unused_480 = TRUE;
double Zddf_ihigh_484;
double Zddf_ilow_492;
double Zddfd_500;
int Zddf_datetime_508;
int init() {
// код доступен только после оплаты
}
int deinit() {
if (!IsTesting()) {
for (int Ewfi_0 = 1; Ewfi_0 <= Zddfi_432; Ewfi_0++) ObjectDelete("Padding_rect" + Ewfi_0);
for (int count_4 = 0; count_4 < 10; count_4++) {
ObjectDelete("BD" + count_4);
ObjectDelete("SD" + count_4);
}
ObjectDelete("time");
ObjectDelete(Zddf_name_452);
}
Comment("");
ObjectDelete("B3LLogo");
ObjectDelete("B3LCopy");
ObjectDelete("FiboUp");
ObjectDelete("FiboDn");
ObjectDelete("FiboIn");
return (0);
}
int start() {
// код доступен только после оплаты
}
int error_0;
string Ewfs_4;
int ticket_12;
double price_16;
bool bool_24;
double Ewfd_28;
double Ewfd_36;
double price_44;
double Ewfd_52;
int Ewfi_60;
int cmd_64;
double Ewfd_68;
double Ewfd_76;
double ihigh_84 = iHigh(NULL, 0, 0);
double ilow_92 = iLow(NULL, 0, 0);
double ivalue_100 = iCustom(Symbol(),Period(),"Indicator1",0,0);
double ivalue_108 = iCustom(Symbol(),Period(),"Indicator2",0,0);
double Ewfd_116 = ivalue_100 - ivalue_108;
if (!Zddfi_332) {
for (int pos_124 = OrdersHistoryTotal() - 1; pos_124 >= 0; pos_124--) {
if (OrderSelect(pos_124, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderProfit() != 0.0) {
if (OrderClosePrice() != OrderOpenPrice()) {
if (OrderSymbol() == Symbol()) {
Zddfi_332 = TRUE;
Ewfd_52 = MathAbs(OrderProfit() / (OrderClosePrice() - OrderOpenPrice()));
Zddfd_336 = (-OrderCommission()) / Ewfd_52;
break;
}
}
}
}
}
}
int ima_100;
int ima_108;
double Ewfd_128 = Ask - Bid;
ArrayCopy(Zddfda_344, Zddfda_344, 0, 1, 29);
Zddfda_344[29] = Ewfd_128;
if (Zddfi_348 < 30) Zddfi_348++;
double Ewfd_136 = 0;
pos_124 = 29;
for (int count_144 = 0; count_144 < Zddfi_348; count_144++) {
Ewfd_136 += Zddfda_344[pos_124];
pos_124--;
}
double Ewfd_148 = Ewfd_136 / Zddfi_348;
double Ewfd_156 = NormalizeDouble(Ask + Zddfd_336, Zddf_digits_256);
double Ewfd_164 = NormalizeDouble(Bid - Zddfd_336, Zddf_digits_256);
double Ewfd_172 = NormalizeDouble(Ewfd_148 + Zddfd_336, Zddf_digits_256 + 1);
double Ewfd_180 = ihigh_84 - ilow_92;
if (Ewfd_180 > Zddfd_320) {
if (Bid < ima_100) Ewfi_60 = -1;
else
if (Bid > ima_108) Ewfi_60 = 1;
}
int count_188 = 0;
for (pos_124 = 0; pos_124 < OrdersTotal(); pos_124++) {
if (OrderSelect(pos_124, SELECT_BY_POS, MODE_TRADES)) {
if (OrderMagicNumber() == MagicNumber) {
cmd_64 = OrderType();
if (cmd_64 == OP_BUYLIMIT || cmd_64 == OP_SELLLIMIT) continue;
if (OrderSymbol() == Symbol()) {
count_188++;
switПоказано первые 50% кода (символов: 11203)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.