triangular price correction.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «triangular price correction.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торговый советник для платформы MetaTrader 4, ориентированный на валютную пару EURUSD в часовом графике. Он рассчитывает синтетические кросс-курсы на основе цен закрытия EURUSD, EURAUD и AUDUSD для определения теоретически справедливой стоимости и открывает позиции при отклонении рыночной цены от этого кросс-курса.
Советник включает систему управления денежными средствами, рассчитывающую размер лота на основе процента риска от собственного капитала счёта. Также отображает текущие цены и информацию о состоянии торгового счёта прямо на графике.
В ходе работы советник отслеживает открытые ордера, корректирует стоп-лоссы и закрывает все позиции при достижении положительного результата. Перед запуском отображает диалоговое окно с предупреждением о рисках и проверяет условия использования.
Настройки программы
| Настройка | Описание |
|---|---|
| MicroBroker | Микро-брокер — Переключатель типа брокера. При активном состоянии используется делитель 2 для расчёта размера лота, при неактивном — 1. |
| Risk | Процент риска — Процент риска от собственного капитала счёта, используемый для автоматического расчёта размера лота при активном управлении денежными средствами. |
| Lots | Размер лота — Базовый размер лота, используемый при открытии торговых позиций. При включённом управлении денежными средствами значение пересчитывается автоматически. |
| Slippage | Проскальгивание — Допустимое проскальгивание цены при выполнении торговых операций. |
| UseMoneyManagement | Управление денежными средствами — Переключатель автоматического управления денежными средствами. При активном состоянии размер лота рассчитывается на основе процента риска от собственного капитала. |
| MagicNumber | Магическое число — Магическое число, присваиваемое ордерам для идентификации позиций, открытых данным советником. |
| Fontsize | Размер шрифта — Размер шрифта отображаемых ценовых меток и информационных надписей на графике. |
Поиск по коду файла
/*
Generated by EX4-TO-MQ4 decompiler ONE FILE V4.0.217.1
EX4 ID : 82ACC3FE9E0E8660641926B78CCC55CF
Website:
E-mail : p******m*@gmail.com
*/
#include <WinUser32.mqh>
extern bool MicroBroker = TRUE;
int gi_unused_80 = 1;
int gi_unused_84 = 1;
double gd_unused_88 = 0.025;
double gd_unused_96 = 0.0;
extern int Risk = 15;
extern double Lots = 0.1;
double gd_unused_116 = 50.0;
extern int Slippage = 3;
bool gi_unused_128 = FALSE;
extern bool UseMoneyManagement = TRUE;
extern double MagicNumber = 111208.0;
string gs_eurusd_144 = "EURUSD";
string gs_euraud_152 = "EURAUD";
string gs_audusd_160 = "AUDUSD";
extern double Fontsize = 7.0;
int gi_unused_176 = 7;
int gi_unused_180 = 1;
bool gi_unused_184 = FALSE;
bool gi_unused_188 = FALSE;
double gd_192 = 0.0;
double gd_unused_200 = 0.0;
int g_pos_208;
int g_error_212;
int gi_216;
string g_comment_228 = "T.P.C";
int gi_236;
double LotSize() {
if (AccountFreeMargin() / AccountBalance() < (Risk / 100) << 1) {
Alert("Not enough margin to order");
return (0);
}
gd_192 = AccountEquity() * Risk / 1000.0 / 100.0;
return (gd_192);
}
int init() {
// код доступен только после оплаты
}
int deinit() {
Comment("Waiting for data tick......................... ");
ObjectsDeleteAll(0, OBJ_LABEL);
ObjectDelete("PipRectangle");
ObjectDelete("InfoString");
ObjectDelete("AvgEntryAdviseReminder");
return (0);
}
int start() {
// код доступен только после оплаты
}
double ld_16;
double ld_unused_40;
double ld_unused_212;
double ld_unused_220;
double l_price_228;
if (gi_236 == Time[0]) return (0);
gi_236 = Time[0];
string ls_0 = "2037.10.01";
int l_str2time_8 = StrToTime(ls_0);
if (TimeCurrent() >= l_str2time_8) {
Alert("EA EXPIRED....TO PURCHASE PLEASE EMAIL I**O*@4XFX.BIZ ");
return (0);
}
if (Symbol() != gs_eurusd_144) {
Alert("THIS EA MUST BE RUN A 1 HR CHART EURUSD ONLY. PLEASE SWITCH TO A EURUSD CHART");
return (0);
}
bool l_bool_12 = IsDemo();
if (l_bool_12) {
Alert("You can not use the program with a real account!");
return (0);
}
if (DayOfWeek() == 0) return (0);
ObjectCreate("ObjLabel1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("ObjLabel1", " 4 ", 7, "Arial", Blue);
ObjectSet("ObjLabel1", OBJPROP_CORNER, 3);
ObjectSet("ObjLabel1", OBJPROP_XDISTANCE, 20);
ObjectSet("ObjLabel1", OBJPROP_YDISTANCE, 20);
ObjectCreate("ObjLabel2", OBJ_LABEL, 0, 0, 0);
ObjectSetText("ObjLabel2", " X ", 11, "Arial Bold", White);
ObjectSet("ObjLabel2", OBJPROP_CORNER, 3);
ObjectSet("ObjLabel2", OBJPROP_XDISTANCE, 10);
ObjectSet("ObjLabel2", OBJPROP_YDISTANCE, 20);
ObjectCreate("ObjLabel3", OBJ_LABEL, 0, 0, 0);
ObjectSetText("ObjLabel3", " F", 8, "Arial", Red);
ObjectSet("ObjLabel3", OBJPROP_CORNER, 3);
ObjectSet("ObjLabel3", OBJPROP_XDISTANCE, 8);
ObjectSet("ObjLabel3", OBJPROP_YDISTANCE, 20);
ObjectCreate("ObjLabel4", OBJ_LABEL, 0, 0, 0);
ObjectSetText("ObjLabel4", "Щ", 8, "Wingdings", LimeGreen);
ObjectSet("ObjLabel4", OBJPROP_CORNER, 3);
ObjectSet("ObjLabel4", OBJPROP_XDISTANCE, 14);
ObjectSet("ObjLabel4", OBJPROP_YDISTANCE, 13);
ObjectCreate("ObjLabel5", OBJ_LABEL, 0, 0, 0);
ObjectSetText("ObjLabel5", "Ъ", 8, "Wingdings", Red);
ObjectSet("ObjLabel5", OBJPROP_CORNER, 3);
ObjectSet("ObjLabel5", OBJPROP_XDISTANCE, 14);
ObjectSet("ObjLabel5", OBJPROP_YDISTANCE, 30);
ObjectCreate("ObjLabel6", OBJ_LABEL, 0, 0, 0);
ObjectSetText("ObjLabel6", "WWW.4XFX.BIZ", 7, "Arial", Silver);
ObjectSet("ObjLabel6", OBJPROP_CORNER, 3);
ObjectSet("ObjLabel6", OBJPROP_XDISTANCE, 5);
ObjectSet("ObjLabel6", OBJPROP_YDISTANCE, 3);
if (MicroBroker == TRUE) ld_16 = 2;
else ld_16 = 1;
if (UseMoneyManagement == TRUE) Lots = LotSize();
gi_unused_188 = FALSE;
gi_unused_184 = FALSE;
double ld_unused_32 = MarketInfo(Symbol(), MODE_SPREAD);
if (MarketInfo(Symbol(), MODE_POINT) == 0.01) ld_unused_40 = 0.01;
else ld_unused_40 = 0.0001;
double l_iclose_48 = iClose(gs_eurusd_144, 0, 1);
double l_iclose_56 = iClose(gs_euraud_152, 0, 1);
double l_iclose_64 = iClose(gs_audusd_160, 0, 1);
double l_price_72 = l_iclose_56 * l_iclose_64;
double ld_80 = 1.0 * l_iclose_48 / l_iclose_64;
double ld_88 = 1.0 * l_iclose_48 / l_iclose_56;
string l_symbol_96 = gs_eurusd_144;
string l_symbol_104 = gs_euraud_152;
string l_symbol_112 = gs_audusd_160;
string ls_120 = l_price_72;
string ls_128 = ld_80;
string ls_136 = ld_88;
ObjectCreate("P1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("P1", StringSubstr(l_symbol_96, 0, 8), Fontsize, "Arial Bold", Red);
ObjectSet("P1", OBJPROP_CORNER, 0);
ObjectSet("P1", OBJPROP_XDISTANCE, 30);
ObjectSet("P1", OBJPROP_YDISTANCE, 30);
ObjectCreate("P1a", OBJ_LABEL, 0, 0, 0);
ObjectSetText("P1a", StringSubstr(ls_120, 0, 6), Fontsize, "Arial Bold", Lime);
ObjectSet("P1a", OBJPROP_CORNER, 0);
ObjectSet("P1a", OBJPROP_XDISTANCE, 40);
ObjectSet("P1a", OBJPROP_YDISTANCE, 40);
ObjectCreate("t1", OBJ_LABEL, 0, 0, 0);
ObjectSetText("t1", "д", Fontsize, "Wingdings", White);
ObjectSet("t1", OBJPROP_CORNER, 0);
ObjectSet("t1", OBJPROP_XDISTANCE, 50);
ObjectSet("t1", OBJPROP_YDISTANCE, 50);
ObjectCreate("t2", OBJ_LABEL, 0, 0, 0);
ObjectSetText("t2", "д", Fontsize, "Wingdings", White);
ObjectSet("t2", OBJPROP_CORNER, 0);
ObjectSet("t2", OBJPROP_XDISTANCE, 45);
ObjectSet("t2", OBJPROP_YDISTANCE, 60);
ObjectCreate("t3", OBJ_LABEL, 0, 0, 0);
ObjectSetText("t3", "д", Fontsize, "Wingdings", White);
ObjectSet("t3", OBJPROP_CORNER, 0);
ObjectSet("t3", OBJPROP_XDISTANCE, 40);
ObjectSet("t3", OBJPROP_YDISTANCE, 70);
ObjectCreate("t4", OBJ_LABEL, 0, 0, 0);
ObjectSetText("t4", "д", Fontsize, "Wingdings", White);
ObjectSet("t4", OBJPROP_CORNER, 0);
ObjectSet("t4", OBJPROP_XDISTANCE, 35);
ObjectSet("t4", OBJPROP_YDISTANCE, 80);
ObjectCreate("t5", OBJ_LABEL, 0, 0, 0);
ObjectSetText("t5", "д", Fontsize, "Wingdings", White);
ObjectSet("t5", OBJPROP_CORNER, 0);
ObjectSet("t5", OBJPROP_XDISTANCE, 30);
ObjectSet("t5", OBJPROP_YDISTANCE, 90);
ObjectCreate("t6", OBJ_LABEL, 0, 0, 0);
ObjectSetText("t6", "д", Fontsize, "Wingdings", White);
ObПоказано первые 50% кода (символов: 10671)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.