DuettoFX
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «duettofx.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, рассчитывающий и отображающий значения RSI для двух выбранных инструментов и их взаимное соотношение. Построен в отдельном окне с восемью буферами отрисовки. Включает текстовую информационную панель с данными о корреляции, среднедневном диапазоне, размере лотов, уровнях входа и прибыли в пунктах, а также визуальные маркеры пересечений RSI двух инструментов.
Настройки программы
| Настройка | Описание |
|---|---|
| period | Период — Количество баров для расчёта RSI |
| instrument_1 | Первый инструмент — Символ первой валютной пары для анализа |
| instrument_2 | Второй инструмент — Символ второй валютной пары для анализа |
| smoothing | Сглаживание — Количество усреднений значений RSI |
| first_pair_lot | Размер лота первой пары — Размер лота для первого инструмента, используемый в расчётах |
| show_spread | Показать спред — Отображение линии разницы RSI двух инструментов |
| show_spread_ma | Показать MA спреда — Отображение скользящей средней линии разницы RSI |
| MA_period | Период MA — Период скользящей средней для сглаживания спреда |
| MA_mode | Режим MA — Тип скользящей средней (режим применения цены) |
| show_text_interface | Показать текстовый интерфейс — Отображение текстовой информационной панели на графике |
| show_crosses | Показать пересечения — Отображение вертикальных линий на точках пересечения RSI |
| bar | Смещение бара — Смещение бара для определения момента пересечения |
| show_labels | Показать метки — Отображение текстовых меток с текущими значениями RSI |
| text_size | Размер текста — Размер шрифта для текстовых меток и интерфейса |
| text_font | Шрифт текста — Название шрифта для текстовых меток и интерфейса |
Поиск по коду файла
/*
Generated by EX4-TO-MQ4 decompiler LITE V4.0.427.3 [-]
Website:
E-mail : p******m*@gmail.com
*/
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1 C'0x40,0x00,0x00'
#property indicator_color2 Black
#property indicator_color3 C'0x00,0x40,0x00'
#property indicator_color4 Black
#property indicator_color5 White
#property indicator_color6 White
#property indicator_color7 Yellow
#property indicator_color8 Yellow
#property indicator_width1 17
#property indicator_level1 50.0
#property indicator_width2 17
#property indicator_level2 60.0
#property indicator_width3 17
#property indicator_level3 40.0
#property indicator_width4 17
#property indicator_level4 70.0
#property indicator_width5 2
#property indicator_level5 30.0
#property indicator_width6 1
#property indicator_level6 55.0
#property indicator_width7 2
#property indicator_level7 45.0
extern int period = 120;
extern string instrument_1 = "EURUSD";
extern string instrument_2 = "USDCHF";
extern int smoothing = 2;
extern double first_pair_lot = 1.0;
extern bool show_spread = TRUE;
extern bool show_spread_ma = FALSE;
extern int MA_period = 24;
extern int MA_mode = 2;
extern bool show_text_interface = TRUE;
extern bool show_crosses = TRUE;
extern int bar = 1;
extern bool show_labels = TRUE;
extern int text_size = 10;
extern string text_font = "Segoe UI";
double gda_152[];
double gda_156[];
double gda_160[];
double gda_164[];
double gda_168[];
double gda_172[];
double gda_176[];
double gda_180[];
int gi_184;
double gd_188;
int gi_196;
string gs_200;
int gi_208;
int gi_212;
double gd_216;
double gd_224;
double gd_232;
double gd_240;
double gd_248;
double gd_256;
double gd_264;
double gd_272;
double gd_280;
int gi_288 = Blue;
string gs_duettofx_292 = "DuettoFX";
bool gi_300 = FALSE;
int init() {
// код доступен только после оплаты
}
int deinit() {
ObjectsDeleteAll();
Comment("");
return (0);
}
int start() {
// код доступен только после оплаты
}
double ld_12;
string ls_20;
string ls_28;
int li_36;
int li_40;
gi_196 = WindowFind(gs_duettofx_292);
int li_4 = IndicatorCounted();
if (Bars <= period) return (0);
if (li_4 < 1) {
for (int li_0 = 1; li_0 <= period; li_0++) {
gda_152[Bars - li_0] = 0.0;
gda_156[Bars - li_0] = 0.0;
gda_160[Bars - li_0] = 0.0;
gda_164[Bars - li_0] = 0.0;
gda_168[Bars - li_0] = 0.0;
gda_172[Bars - li_0] = 0.0;
gda_176[Bars - li_0] = 0.0;
gda_180[Bars - li_0] = 0.0;
}
}
li_0 = Bars - period - 1;
if (li_4 >= period) li_0 = Bars - li_4 - 1;
while (li_0 >= 0) {
gda_168[li_0] = 0;
gda_172[li_0] = 0;
for (int li_8 = 0; li_8 < smoothing; li_8++) {
gda_168[li_0] += iRSI(instrument_1, 0, period, PRICE_CLOSE, li_0 + li_8);
gda_172[li_0] += iRSI(instrument_2, 0, period, PRICE_CLOSE, li_0 + li_8);
}
gda_168[li_0] = gda_168[li_0] / smoothing;
gda_172[li_0] = gda_172[li_0] / smoothing;
gda_176[li_0] = gda_168[li_0] - gda_172[li_0] + 50.0;
ld_12 = gda_168[li_0] - gda_172[li_0];
if (ld_12 > 0.0) {
gda_156[li_0] = gda_168[li_0];
gda_164[li_0] = gda_172[li_0];
gda_152[li_0] = EMPTY_VALUE;
gda_160[li_0] = EMPTY_VALUE;
} else {
gda_156[li_0] = EMPTY_VALUE;
gda_164[li_0] = EMPTY_VALUE;
gda_152[li_0] = gda_172[li_0];
gda_160[li_0] = gda_168[li_0];
}
if (gda_168[li_0 + 1 + bar] < gda_172[li_0 + 1 + bar] && gda_168[li_0 + bar] > gda_172[li_0 + bar]) {
ls_20 = gs_duettofx_292 + instrument_1 + instrument_2 + "BUY" + ((Time[li_0 + bar]));
if (show_crosses) {
ObjectCreate(ls_20, OBJ_VLINE, 0, Time[li_0 + bar], 0);
ObjectSet(ls_20, OBJPROP_BACK, TRUE);
ObjectSet(ls_20, OBJPROP_TIME1, Time[li_0 + bar]);
ObjectSet(ls_20, OBJPROP_COLOR, Green);
ObjectSet(ls_20, OBJPROP_STYLE, STYLE_DOT);
}
gi_208 = iTime(Symbol(), 0, li_0 + bar);
}
if (gda_168[li_0 + 1 + bar] > gda_172[li_0 + 1 + bar] && gda_168[li_0 + bar] < gda_172[li_0 + bar]) {
ls_28 = gs_duettofx_292 + instrument_1 + instrument_2 + "SELL" + ((Time[li_0 + bar]));
if (show_crosses) {
ObjectCreate(ls_28, OBJ_VLINE, 0, Time[li_0 + bar], 0);
ObjectSet(ls_28, OBJPROP_BACK, TRUE);
ObjectSet(ls_28, OBJPROP_TIME1, Time[li_0 + bar]);
ObjectSet(ls_28, OBJPROP_COLOR, Maroon);
ObjectSet(ls_28, OBJPROP_STYLE, STYLE_DOT);
}
gi_212 = iTime(Symbol(), 0, li_0 + bar);
}
li_0--;
}
li_0 = Bars - period - 1;
if (li_4 >= period) li_0 = Bars - li_4 - 1;
while (li_0 >= 0) {
gda_180[li_0] = iMAOnArray(gda_176, 0, MA_period, 0, MA_mode, li_0);
li_0--;
}
if (show_text_interface) {
if (gi_208 > gi_212) {
gd_224 = iClose(instrument_1, 0, iBaПоказано первые 50% кода (символов: 8725)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.