Robot Forex 2051 Bay Long
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «robot forex 2051mac (rus).mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Робот Forex 2051 Bay Long — торговый советник для платформы MetaTrader 4, предназначенный для автоматического анализа ценовых данных и технических индикаторов с целью генерации торговых сигналов и управления позициями. Советник использует комбинацию индикаторов MACD и скользящей средней для определения направления тренда и потенциальных точек входа и выхода из сделок. Поддерживаются операции как на покупку, так и на продажу.
Настройки программы
| Настройка | Описание |
|---|---|
| MACDOpenLevel | Уровень MACD для открытия — Числовой параметр, участвующий в формировании сигнала на открытие сделки на основе индикатора MACD |
| MACDCloseLevel | Уровень MACD для закрытия — Числовой параметр, участвующий в формировании сигнала на закрытие сделки на основе индикатора MACD |
| MATrendPeriod | Период трендовой скользящей — Числовой параметр, определяющий период расчёта скользящей средней для оценки направления тренда |
Поиск по коду файла
#property show_inputs
#include <stderror.mqh>
#include <stdlib.mqh>
extern string ?????????_????????? = "????????? ?????????"; // Init Parameters
extern int ????? = 12345; // g_magic_208 Magic (????????????????? ????? ????????????? ??????? ????? ?????? - ??? ?? ?? ??????? ?? ???????? ?????? ???????)
extern int ???_????_0_1_2 = 2; // gd_112 Lotdecimal (0=?????????? ???? 1.0; 1=???????? 0.1; 2=????????? 0.01)
extern double ??????????????? = 5.0; // g_slippage_96 Slippage (???????? ?????????? ?????? ??? ??????)
extern string ?????????_???? = "????????? ????"; // Parameters Lot
extern double ??? = 0.01; // Lots Lots (?????? ???? ??? ??????? ??????)
extern bool ?????????_???? = TRUE; // gi_84 UseAdd (???????? ????????? ????)
extern double ?????????_????_???? = 1.08; // gd_88 LotExponent (???????????, ?? ??????? ?????????? ????????? ???)
extern int ???_????????_0_1_2 = 1; // gi_76 MMType (??????? ?????? ????????: 0=????????; 1=??????; 2=????????-?? ???????????? ? ?????? ??????)
extern string ?????????_????? = "????????? ?????"; // Input Parameters
extern int ????????_?????? = 100; // MaxTrades MaxTrades (?????????? ?????????? ?????????? ??????????? ??????)
extern double ???_??????_?????? = 10.0; // g_pips_152 PipStep (???? ?????????? ????? ???? ? ????? ?? 10 ???????, ?? ???????? ????????? ????????? ????? ???????? ??????)
extern string ?????????_?????? = "????????? ??????"; // Output Parameters
extern double ????_???? = 0.0; // g_pips_128 Stoploss (???????? ?????? ?? ?????? ?????? ? ???????)
extern double ????_?????? = 10.0; // g_pips_120 TakeProfit (???????? ?????? ?? ?????? ??????? ? ???????)
extern bool ????????_???? = FALSE; // gi_176 TRUE UseTrailingStop (????????? ????????? ????????? ???????)
extern double C????_????????? = 10.0; // gd_136 StartTrailingPips (????? ????????? ? ???????)
extern double ???_????????? = 10.0; // gd_144 StepTrailingPips (??? ????????? ? ???????)
extern string ???????_????? = "??????? ?????"; // Input Filters
extern bool ?????????_?????? = FALSE; // gi_192 TimeFilter (??? ????????????? ??????? ??????????? ??????? ??????? - ???? ?????? ???????????? ???? ??? ???? ??? ? ??????? ????????????? ???????,- ??????: ??? ???????? ??????? ??????? ????? ?????????????, ????? ????? ??? ??? ?????? ?????????? ???? ??????????? ?????? ?????????????)
extern bool ????????_??_????? = FALSE; // UseHourTrade UseHourTrade (????????? ???????? ?? ?????)
extern int ??????_???????? = 0; // StartHour StartHour (?????? ???????? ?????? ?? ?????)
extern int ??????_???????? = 8; // EndHour EndHour (?????????? ???????? ?????? ?? ?????)
extern string ???????_?????? = "??????? ??????"; // Output Filters
extern bool ?????????_??_???????? = FALSE; // gi_80 UseClose (????????? ???????? ?????? ?? ???????? ????-??? ? ??????)
extern bool ????_??_?????? = FALSE; // gi_164 UseEquityStop (????????? ???????? ?? ????????? ??????? ?? ??????)
extern double ????_??_??????_??????? = 20.0; // gd_168 TotalEquityRisk (???????? ?? ?????? ? %, ??? ???????? ???? ??????)
extern bool ????_??_???????? = FALSE; // gi_180 UseTimeOut (???????????? ???????: ????????? ?????? ???? ??? "?????" ??????? ?????)
extern double ????_??_????????_???? = 0.0; // gd_184 MaxTradeOpenHours (????? ???????? ? ?????: ????? ??????? ????????? ???????? ??????)
extern double MACDOpenLevel=3;
extern double MACDCloseLevel=3;
extern double MATrendPeriod=13;
double g_price_212;
double gd_220;
double gd_unused_228;
double gd_unused_236;
double g_price_244;
double g_bid_252;
double g_ask_260;
double gd_268;
double gd_276;
double gd_284;
bool gi_292;
string gs_296 = "Robot Forex 2051 Bay ";
int g_time_304 = 0;
int gi_308;
int gi_312 = 0;
double gd_316;
int g_pos_324 = 0;
int gi_328;
double gd_332 = 0.0;
bool gi_340 = FALSE;
bool gi_344 = FALSE;
bool gi_348 = FALSE;
int gi_352;
bool gi_356 = FALSE;
int g_datetime_360 = 0;
int g_datetime_364 = 0;
double gd_368;
double gd_376;
int gi_222 = 1;
double gi_1000;
int init() {
// код доступен только после оплаты
}
int deinit() {
return (0);
}
int start() {
// код доступен только после оплаты
}
Display_Info();
double ma;
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious, MaCurrent, MaPrevious;
ObjectCreate ("klc14", OBJ_LABEL, 0, 0, 0);
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);
double l_ord_lots_0;
double l_ord_lots_8;
double l_iclose_16;
double l_iclose_24;
if (????????_??_?????) {
if (!(Hour() >= ??????_???????? && Hour() <= ??????_????????)) {
CloseThisSymbolAll();
Comment("????? ??? ???????? ??? ?? ??????!");
return (0);
}
}
string ls_36 = "false"; // ls_32
string ls_44 = "false"; // ls_40
if (?????????_?????? == FALSE || (?????????_?????? && (??????_???????? > ??????_???????? && (Hour() >= ??????_???????? && Hour() <= ??????_????????)) || (??????_???????? > ??????_???????? && !(Hour() >= ??????_???????? && Hour() <= ??????_????????)))) ls_36 = "true";
if (?????????_?????? && (??????_???????? > ??????_???????? && !(Hour() >= ??????_???????? && Hour() <= ??????_????????)) || (??????_???????? > ??????_???????? && (Hour() >= ??????_???????? && Hour() <= ??????_????????))) ls_44 = "true";
if (????????_????) TrailingAlls(C????_????????? * gi_222, ???_????????? * gi_222, g_price_244); // !
if (????_??_????????) {
if (TimeCurrent() >= gi_308) {
CloseThisSymbolAll();
Print("B?? ?????? ????? ??????? ??-?? ????-????");
}
}
if (g_time_304 == Time[0]) return (0);
g_time_304 = Time[0];
double ld_52 = CalculateProfit(); // ld_48
if (????_??_??????) {
if (ld_52 < 0.0 && MathAbs(ld_52) > ????_??_??????_??????? / 100.0 * AccountEquityHigh()) {
CloseThisSymbolAll();
Print("B?? ?????? ????? ??????? ??-?? ?????????? ??????");
gi_356 = FALSE;
}
}
gi_328 = CountTrades();
if (gi_328 == 0) gi_292 = FALSE;
for (g_pos_324 = OrdersTotal() - 1; g_pos_324 >= 0; g_pos_324--) {
OrderSelect(g_pos_324, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ?????) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ?????) {
if (OrderType() == OP_BUY) {
gi_344 = TRUE;
gi_348 = FALSE;
l_ord_lots_0 = OrderLots();
break;
}
}
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ?????) {
if (OrderType() == OP_SELL) {
gi_344 = FALSE;
gi_348 = TRUE;
l_ord_lots_8 = OrderLots();
break;
}
}
}
if (gi_328 > 0 && gi_328 <= ????????_??????) {
RefreshRates();
gd_268 = FindLastBuyPrice();
gd_276 = FindLastSellPrice();
if (gi_344 && gd_268 - Ask >= ???_??????_?????? * gi_222 * Point) gi_340 = TRUE;
if (gi_348 && Bid - gd_276 >= ???_??????_?????? * gi_222 * Point) gi_340 = TRUE;
}
if (gi_328 < 1) {
gi_348 = FALSE;
gi_344 = FALSE;
gi_340 = TRUE;
gd_220 = AccountEquity();
}
if (gi_340) {
gd_268 = FindLastBuyPrice();
gd_276 = FindLastSellPrice();
if (gi_348) {
if (?????????_??_???????? || ls_44 == "true"
) {
fOrderCloseMarket(0, 1);
gd_316 = NormalizeDouble(?????????_????_???? * l_ord_lots_8, ???_????_0_1_2);
} else gd_316 = fGetLots(OP_SELL);
if (?????????_???? && ls_36 == "true") {
gi_312 = gi_328;
if (gd_316 > 0.0) {
RefreshRates();
gi_352 = OpenPendingOrder(1, gd_316, Bid, ??????????????? * gi_222, Ask, 0, 0, gs_296 + "- " + gi_312, ?????, 0, HotPink);
if (gi_352 < 0) {
Print(" ??????????? ??????: ", ErrorDescription(GetLastError())); // GetLastError()
return (0);
}
gd_276 = FindLastSellPrice();
gi_340 = FALSE;
gi_356 = TRUE;
}
}
} else {
if (gi_344) {
if (?????????_??_???????? || ls_44 == "true"
) {
fOrderCloseMarket(1, 0);
gd_316 = NormalizeDouble(?????????_????_???? * l_ord_lots_0, ???_????_0_1_2);
} else gd_316 = fGetLots(OP_BUY);
if (?????????_???? && ls_36 == "true") {
gi_312 = gi_328;
if (gd_316 > 0.0) {
gi_352 = OpenPendingOrder(0, gd_316, Ask, ??????????????? * gi_222, Bid, 0, 0, gs_296 + "- " + gi_312, ?????, 0, Lime);
if (gi_352 < 0) {
Print(" ??????????? ??????: ", ErrorDescription(GetLastError())); // GetLastError()
return (0);
}
gd_268 = FindLastBuyPrice();
gi_340 = FALSE;
gi_356 = TRUE;
}
}
}
}
}
if (gi_340 && gi_328 < 1) {
l_iclose_16 = iClose(Symbol(), 0, 2);
l_iclose_24 = iClose(Symbol(), 0, 1);
g_bid_252 = Bid;
g_ask_260 = Ask;
if (!gi_348 && !gi_344 && ls_36 == "true") {
gi_312 = gi_328;
if (l_iclose_16 > l_iclose_24) {
gd_316 = fGetLots
(OP_SELL)
;
if (gd_316 > 0.0
&& MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDOpenLevel*Point) && MaCurrent<MaPrevious
) {
gi_352 = OpenPendingOrder(1, gd_316, g_bid_252, ??????????????? * gi_222, g_bid_252, 0, 0, gs_296 + "- " + gi_312, ?????, 0, HotPink);
if (gi_352 < 0) {
Print(gd_316, " ??????????? ??????: ", ErrorDescription(GetLastError())); // GetLastError()
return (0);
}
gd_268 = FindLastBuyPrice();
gi_356 = TRUE;
}
} else {
gd_316 = fGetLots
(OP_BUY)
;
if (gd_316 > 0.0
&& MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious
) {
gi_352 = OpenPendingOrder(0, gd_316, g_ask_260, ??????????????? * gi_222, g_ask_260, 0, 0, gs_296 + "- " + gi_312, ?????, 0, Lime);
if (gi_352 < 0) {
Print(gd_316, " ??????????? ??????: ", ErrorDescription(GetLastError())); // GetLastError()
return (0);
}
gd_276 = FindLastSellPrice();
gi_356 = TRUE;
}
}
}
if (gi_352 > 0) gi_308 = TimeCurrent() + 60.0 * (60.0 * ????_??_????????_????);
gi_340 = FALSE;
}
gi_328 = CountTrades();
g_price_244 = 0;
double ld_60 = 0; // ld_56
for (g_pos_324 = OrdersTotal() - 1; g_pos_324 >= 0; g_pos_324--) {
OrderSelect(g_pos_324, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ?????) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ?????) {
if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
g_price_244 += OrderOpenPrice() * OrderLots();
ld_60 += OrderLots();
}
}
}
if (gi_328 > 0) g_price_244 = NormalizeDouble(g_price_244 / ld_60, Digits);
if (gi_356) {
for (g_pos_324 = OrdersTotal() - 1; g_pos_324 >= 0; g_pos_324--) {
OrderSelect(g_pos_324, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ?????) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ?????) {
if (OrderType() == OP_BUY) {
g_price_212 = g_price_244 + ????_?????? * gi_222 * Point;
gd_unused_228 = g_price_212;
gd_332 = g_price_244 - ????_???? * gi_222 * Point;
gi_292 = TRUE;
}
}
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ?????) {
if (OrderType() == OP_SELL) {
g_price_212 = g_price_244 - ????_?????? * gi_222 * Point;
Показано первые 50% кода (символов: 19143)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.