MASYUK V3
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ea masyuk v3_5341427908642636607.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник MASYUK V3 — торговый эксперт для платформы MetaTrader 4, который анализирует ценовые данные с помощью индикаторов Parabolic SAR (iSAR) и скользящей средней (iMA) для определения точек входа в сделки. При формировании сигнала советник открывает позиции BUY или SELL с заданными параметрами лота и тейк-профита.
Советник реализует систему увеличения размера позиции по мультипликатору: объём лота растёт в зависимости от количества уже открытых сделок. Также предусмотрены ограничения по торговым дням недели и времени, задаваемые пользователем, что позволяет контролировать период активной торговли.
Для предотвращения одновременного открытия нескольких позиций используется механизм глобальных переменных. Советник также отслеживает открытые ордера и при необходимости корректирует уровни тейк-профита. На графике отображаются основные показатели счёта: эквити, свободный маржинальный капитал, просадка и итоговый прибыль/убыток.
Настройки программы
| Настройка | Описание |
|---|---|
| MagicNo | Магическое число — Идентификатор магического числа для фильтрации ордеров, принадлежащих данному советнику. |
| Lots | Размер лота — Начальный размер лота для открытия позиции. |
| Pips | Пункты для открытия — Расстояние в пунктах, при превышении которого в пользу советника открывается дополнительная позиция. |
| TakeProfit | Тейк-профит — Значение тейк-профита в пунктах для открытой позиции. |
| Multiplier | Множитель лота — Множитель для увеличения размера лота при каждой последующей сделке. |
| MaxTrades | Максимальное количество сделок — Максимальное допустимое количество одновременно открытых сделок с данным магическим числом. |
| Pengurusan_Hari | Управление днями — Текстовый параметр, описывающий режим управления торговыми днями. |
| Jumlah_Hari_Trade | Количество торговых дней — Количество дней в неделю, в течение которых разрешена торговля (от 0 до 5). |
| Pengurusan_Masa | Управление временем — Текстовый параметр, описывающий режим управления временем торговой сессии. |
| Waktu_Tamat | Время окончания торговли — Час серверного времени, до которого разрешена торговля в последний торговый день недели. |
| slippage | Проскальзывание — Допустимое проскальзывание цены при исполнении ордера в пунктах. |
| Step | Шаг SAR — Шаг (значение ускорения) для индикатора Parabolic SAR. |
| Max | Максимум SAR — Максимальное значение параметра для индикатора Parabolic SAR. |
Поиск по коду файла
extern int MagicNo = 130883;
extern double Lots = 0.01;
extern int Pips = 30;
extern double TakeProfit = 45.0;
extern double Multiplier = 1.799;
extern int MaxTrades = 10;
extern string Pengurusan_Hari = "Hari Off EA - Jumlah hari berforex";
extern int Jumlah_Hari_Trade = 5;
extern string Pengurusan_Masa = "Waktu Off EA hari terakhir - Ikut jam server";
extern int Waktu_Tamat = 23;
extern int slippage = 3;
double g_lots_140;
int g_period_148 = 7;
int gi_152 = 0;
int g_ma_method_156 = MODE_LWMA;
int g_applied_price_160 = PRICE_WEIGHTED;
int gi_unused_164 = 100;
extern double Step = 0.02;
extern double Max = 0.2;
int gi_184;
int deinit() {
return (0);
}
int init() {
// код доступен только после оплаты
}
void OpenBuy() {
int l_ticket_0;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", TimeCurrent());
l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_140, Ask, slippage, 0, Ask + TakeProfit * Point, "Buy?", MagicNo, 0, Blue);
GlobalVariableDel("InTrade");
}
}
void OpenSell() {
int l_ticket_0;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", TimeCurrent());
l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_140, Bid, slippage, 0, Bid - TakeProfit * Point, "Sell?", MagicNo, 0, Red);
GlobalVariableDel("InTrade");
}
}
void ManageBuy() {
int l_datetime_0 = 0;
double l_ord_open_price_4 = 0;
double l_ord_lots_12 = 0;
double l_ord_takeprofit_20 = 0;
int l_cmd_28 = -1;
int l_ticket_32 = 0;
int l_pos_36 = 0;
for (l_pos_36 = 0; l_pos_36 < OrdersTotal(); l_pos_36++) {
OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber() != MagicNo || OrderType() != OP_BUY) continue;
if (OrderOpenTime() > l_datetime_0) {
l_datetime_0 = OrderOpenTime();
l_ord_open_price_4 = OrderOpenPrice();
l_cmd_28 = OrderType();
l_ticket_32 = OrderTicket();
l_ord_takeprofit_20 = OrderTakeProfit();
}
if (OrderLots() > l_ord_lots_12) l_ord_lots_12 = OrderLots();
}
double l_isar_40 = iSAR(NULL, 0, Step, Max, 0);
double l_ima_48 = iMA(NULL, 0, g_period_148, gi_152, g_ma_method_156, g_applied_price_160, 0);
int li_56 = MathRound(MathLog(l_ord_lots_12 / Lots) / MathLog(Multiplier)) + 1.0;
if (li_56 < 0) li_56 = 0;
g_lots_140 = NormalizeDouble(Lots * MathPow(Multiplier, li_56), gi_184);
if ((li_56 == 0 && l_isar_40 < l_ima_48 && DayOfWeek() < Jumlah_Hari_Trade) || (li_56 == 0 && l_isar_40 < l_ima_48 && DayOfWeek() == Jumlah_Hari_Trade && Hour() <= Waktu_Tamat)) OpenBuy();
if (l_ord_open_price_4 - Ask > Pips * Point && li_56 < MaxTrades) {
OpenBuy();
return;
}
for (l_pos_36 = 0; l_pos_36 < OrdersTotal(); l_pos_36++) {
OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES);
if (OrПоказано первые 50% кода (символов: 4566)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.