fast profit hft@lifeindreamsworld_6255515370069694589.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fast profit hft@lifeindreamsworld_6255515370069694589.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой советник (Expert Advisor) для платформы MetaTrader 4, написанный на языке MQL4. Он предназначен для автоматической обработки ценовых данных, управления торговыми позициями и использования стандартных торговых API платформы.
Советник поддерживает выбор одного из трёх типов технических индикаторов для анализа рыночной ситуации, автоматически рассчитывает размеры лотов на основе заданного риска и баланса счёта, а также управляет открытыми ордерами с помощью функций модификации и закрытия. Встроена фильтрация по спреду и дню недели.
Система способна открывать отложенные ордера (Buy Stop / Sell Stop), применять трейлинг-стоп, корректировать уровни стоп-лосса и тейк-профита, а также отображать текущую информацию об аккаунте в виде комментария на графике. Все параметры торговли настраиваются пользователем.
Настройки программы
| Настройка | Описание |
|---|---|
| Magic | Magic — Магический номер ордера для идентификации позиций, управляемых советником. |
| NameEA | NameEA — Отображаемое имя советника, используемое в комментариях к ордерам. |
| TakeProfit | TakeProfit — Значение тейк-профита в пунктах для новых ордеров. |
| StopLoss | StopLoss — Значение стоп-лосса в пунктах для новых ордеров. |
| Periode | Periode — Период расчёта технического индикатора (по умолчанию подстраивается под таймфрейм). |
| Shift | Shift — Сдвиг (бар) для расчёта значения технического индикатора. |
| ShiftCandle | ShiftCandle — Сдвиг (бар) для определения максимума и минимума свечи при анализе ценовых данных. |
| Risk | Risk — Процент риска от баланса счёта, используемый для автоматического расчёта размера лота. |
| Max_Spread | Max_Spread — Максимально допустимый спред для открытия и управления ордерами. |
| Trailing_Stop | Trailing_Stop — Переключатель включения/отключения функции трейлинг-стоп для управляемых позиций. |
Поиск по коду файла
bool KonfirmasiBreak = FALSE;
string KetIndi = "1=MA,2=BB,3=Envelopes";
int Indikator = 3;
bool Gi_108 = FALSE;
bool Gi_112 = FALSE;
bool Gi_116 = TRUE;
bool Gi_120 = FALSE;
extern int Magic = 1245986;
extern string NameEA = "FAST HFT EA";
double BatasCandle = 10.0;
double Gd_144 = 18.0;
double JarakStop = 3.0;
extern double TakeProfit = 75.0;
extern double StopLoss = 225.0;
bool SLKetat = TRUE;
extern int Periode = 0;
extern int Shift = 0;
extern int ShiftCandle = 0;
double G_marginrequired_192;
double G_lotstep_200;
string Gs_unused_208 = "MM";
double LotTetap = 0.0;
double Gd_224 = 0.1;
bool Gi_232 = TRUE;
double Gd_236 = 0.01;
double Gd_244 = 100.0;
extern double Risk = 10.0;
string Gs_unused_260 = "Spread Max";
bool HapusKetikaMelar = FALSE;
extern double Max_Spread = 200.0;
double Gd_280 = 10.0;
string Gs_unused_288 = "Factor Scalping";
double Gd_296;
double Gd_304 = 0.4;
double Gd_312 = 0.3333333333;
double Gd_320 = 0.0;
string Gs_unused_328 = "SL / TP / Trailing";
double ClosePersen = 0.0;
double InitModal = 0.0;
double Gd_352 = 0.0;
double Gd_360 = 0.0;
double NilaiTrailing = 2.0;
extern bool Trailing_Stop = TRUE;
string Gs_unused_380 = "Filter Day";
bool JumatLibur = FALSE;
bool SeninLibur = FALSE;
bool Gi_396;
int Gi_400;
int G_pos_404;
bool Gi_412 = TRUE;
string Gs_dummy_416;
int G_digits_424 = 0;
double G_point_428 = 0.0;
int G_slippage_436 = 0;
double Gda_unused_440[30];
double Gda_unused_444[30];
int Gia_unused_448[30];
double Gd_unused_452 = 1.0;
bool Gi_480 = TRUE;
double Gd_484 = 2.0;
double Gd_492 = 0.0;
int Gi_500 = 0;
datetime G_time_504 = 0;
int G_count_508 = 0;
double Gda_512[30];
int Gi_516 = 0;
bool Gi_520 = TRUE;
double Gd_524 = 0.5;
double Gd_532 = 1.0;
double Gd_540 = 4.0;
bool Gi_548 = TRUE;
double Gd_552 = 0.5;
double Gd_560 = 1.0;
double Gd_568 = 4.0;
bool Gi_576 = FALSE;
string Gs_dummy_580;
string Gs_588;
int Gia_596[] = {0};
int Gia_600[] = {0};
double Gd_608 = 3.0;
double Gd_616 = 3.0;
double Gd_624 = 6.0;
double Gd_632 = 9.0;
double Gd_640 = 12.0;
double Gd_648 = 15.0;
double Gd_656 = 18.0;
double Gd_664 = 21.0;
double Gd_672 = 25.0;
double Gd_680;
double Gd_688;
double Gd_696;
double Gd_704;
int init() {
// код доступен только после оплаты
}
int start() {
// код доступен только после оплаты
}
void f0_6(int A_timeframe_0) {
int ticket_4;
int Li_8;
double price_12;
double price_20;
bool Li_28;
double Ld_32;
bool Li_40;
double Ld_44;
double Ld_52;
double Ld_60;
int datetime_84;
int Li_88;
double Ld_92;
double order_stoploss_100;
double order_takeprofit_108;
double Ld_116;
int Li_124;
int Li_128;
bool Li_132;
if (G_time_504 < Time[0]) {
G_time_504 = Time[0];
G_count_508 = 0;
} else G_count_508++;
double ihigh_140 = iHigh(Symbol(), A_timeframe_0, ShiftCandle);
double ilow_148 = iLow(Symbol(), A_timeframe_0, ShiftCandle);
if (Indikator == 1) {
Gd_696 = iMA(NULL, A_timeframe_0, Periode, 0, MODE_LWMA, PRICE_LOW, Shift);
Gd_688 = iMA(NULL, A_timeframe_0, Periode, 0, MODE_LWMA, PRICE_HIGH, Shift);
}
if (Indikator == 2) {
Gd_688 = iBands(Symbol(), A_timeframe_0, Periode, 1.5, 0, PRICE_OPEN, MODE_UPPER, Shift);
Gd_696 = iBands(Symbol(), A_timeframe_0, Periode, 1.5, 0, PRICE_OPEN, MODE_LOWER, Shift);
}
if (Indikator == 3) {
Gd_688 = iEnvelopes(Symbol(), A_timeframe_0, Periode, MODE_LWMA, 0, PRICE_OPEN, 0.07, MODE_UPPER, Shift);
Gd_696 = iEnvelopes(Symbol(), A_timeframe_0, Periode, MODE_LWMA, 0, PRICE_OPEN, 0.07, MODE_LOWER, Shift);
}
int Li_136 = 0;
double Ld_156 = Gd_688 - Gd_696;
bool Li_164 = Bid >= Gd_696 + Ld_156 / 2.0;
if (!Gi_480) {
for (G_pos_404 = OrdersTotal() - 1; G_pos_404 >= 0; G_pos_404--) {
OrderSelect(G_pos_404, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderCloseTime() != 0 && OrderClosePrice() != OrderOpenPrice() && OrderProfit() != 0.0 && OrderComment() != "Liquid Parsial" && StringFind(OrderComment(),
"[sl]from #") == -1 && StringFind(OrderComment(), "[tp]from #") == -1) {
Gi_480 = TRUE;
Ld_32 = MathAbs(OrderProfit() / (OrderClosePrice() - OrderOpenPrice()));
Gd_484 = Ld_32 / OrderLots() / MarketInfo(Symbol(), MODE_LOTSIZE);
Gd_492 = (-OrderCommission()) / Ld_32;
Print("Komisi : " + f0_8(Gd_492));
break;
}
}
}
if (!Gi_480) {
for (G_pos_404 = OrdersHistoryTotal() - 1; G_pos_404 >= 0; G_pos_404--) {
OrderSelect(G_pos_404, SELECT_BY_POS, MODE_HISTORY);
if (OrderSymbol() == Symbol() && OrderCloseTime() != 0 && OrderClosePrice() != OrderOpenPrice() && OrderProfit() != 0.0 && OrderComment() != "Liquid Parsial" && StringFind(OrderComment(),
"[SL] dari #") == -1 && StringFind(OrderComment(), "[TP] dari #") == -1) {
Gi_480 = TRUE;
Ld_32 = MathAbs(OrderProfit() / (OrderClosePrice() - OrderOpenPrice()));
Gd_484 = Ld_32 / OrderLots() / MarketInfo(Symbol(), MODE_LOTSIZE);
Gd_492 = (-OrderCommission()) / Ld_32;
Print("Komisi : " + f0_8(Gd_492));
break;
}
}
}
double Ld_168 = MarketInfo(Symbol(), MODE_STOPLEVEL) * G_point_428;
double Ld_176 = Ask - Bid;
double Ld_184 = 0.5;
if (Ld_184 < Ld_168 - Gd_704 / 2.0) {
Li_40 = Gi_548;
Ld_44 = Gd_540 * Gd_704;
Ld_184 = Gd_532 * Gd_704;
Ld_52 = Gd_524 * Gd_704;
} else {
if (!Gi_116) {
Li_40 = Gi_576;
Ld_44 = Gd_568 * Gd_704;
Ld_184 = Gd_560 * Gd_704;
Ld_52 = Gd_552 * Gd_704;
} else {
Li_40 = Gi_412;
Ld_44 = NilaiTrailing * Gd_704;
Ld_184 = Gd_360 * Gd_704;
Ld_52 = Gd_352 * Gd_704;
}
}
Ld_44 = MathMax(Ld_44, Ld_168);
if (Li_40) Ld_184 = MathMax(Ld_184, Ld_168);
ArrayCopy(Gda_512, Gda_512, 0, 1, 29);
Gda_512[29] = Ld_176;
if (Gi_516 < 30) Gi_516++;
double Ld_192 = 0;
G_pos_404 = 29;
for (int count_200 = 0; count_200 < Gi_516; count_200++) {
Ld_192 += Gda_512[G_pos_404];
G_pos_404--;
}
double Ld_204 = Ld_192 / Gi_516;
if ((!Gi_480) && Ld_204 < 1.5 * Gd_704) Gd_492 = 1.5 * Gd_704 - Ld_204;
double Ld_212 = f0_1(Ask + Gd_492);
double Ld_220 = f0_1(Bid - Gd_492);
double Ld_228 = Ld_204 + Gd_492;
double Ld_236 = ihigh_140 - ilow_148;
string Ls_244 = Gi_116 + "-" + Gi_120 + "-0";
double Ld_68 = Gd_144 * Gd_704;
double Ld_76 = BatasCandle * Gd_704;
if (KonfirmasiBreak == TRUE) {
if (Ld_236 > Ld_76) {
if (Bid < Gd_696) Li_136 = -1;
else
if (Bid > Gd_688) Li_136 = 1;
}
} else {
if (Ld_236 > Ld_76) {
if (Bid < Gd_688) Li_136 = -1;
else
if (Bid > Gd_696) Li_136 = 1;
}
}
if (Gd_320 == 0.0) Ld_60 = Gd_312 * Ld_68;
else Ld_60 = Gd_320 * Gd_704;
Ld_60 = MathMax(Ld_168, Ld_60);
if (Bid == 0.0 || MarketInfo(Symbol(), MODE_LOTSIZE) == 0.0) Ld_60 = 0;
double Ld_252 = Ld_60 + Ld_204 + Gd_492;
if (Gi_520) datetime_84 = TimeCurrent() + 60.0 * MathMax(10 * A_timeframe_0, 60);
else datetime_84 = 0;
if (MarketInfo(Symbol(), MODE_LOTSTEP) == 0.0) Li_88 = 5;
else Li_88 = f0_2(0.1, MarketInfo(Symbol(), MODE_LOTSTEP));
if (Gi_232) {
if (Risk < 0.01 || Risk > 100.0) {
Comment("GALAT -- Cek Nilai Risk.");
return;
}
if (AccountBalance() <= 0.0) {
Comment("GALAT -- Balance Akun adalah " + DoubleToStr(MathRound(AccountBalance()), 0));
return;
}
if (Ld_60 != 0.0) {
if (LotTetap == 0.0) {
G_lotstep_200 = MarketInfo(Symbol(), MODE_LOTSTEP);
G_marginrequired_192 = MarketInfo(Symbol(), MODE_MARGINREQUIRED);
Gd_280 = MathMax(AccountBalance(), Gd_280);
Ld_92 = MathMin(AccountFreeMaПоказано первые 50% кода (символов: 13190)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.