PairTrader_Ind v.2
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «pairtrader_ind v2.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
PairTrader_Ind v.2 — это пользовательский индикатор для MetaTrader 4, предназначенный для анализа ценовых парных отношений между двумя валютными парами. Индикатор рассчитывает разницу между значениями MACD двух символов и отображает её в отдельном окне в виде двух линий и гистограмм распространения.
Индикатор сравнивает динамику цен двух активов, фиксируя точки разворота и рассчитывая спред между ними в пунктах. На основе сравнения значений буферов формируются текстовые метки с рекомендациями Buy/Sell для каждого символа и текущее значение спреда.
Встроенная функция расчёта лотов позволяет адаптировать объём позиции второго символа к первому по нескольким режимам: фиксированный, пропорциональный открытой цене или волатильности ATR. Уровни Delta используются для визуализации зон распространения.
Индикатор работает на каждом тике, пересчитывая буферы и обновляя информационные метки на графике. Он не выполняет реальных торговых операций и предназначен исключительно для аналитического отображения данных.
Настройки программы
| Настройка | Описание |
|---|---|
| ?????????? ?????????? ?1 (Symbol_1) | Символ 1 — Название первого торгового символа для сравнения. |
| ?????????? ?????????? ?2 (Symbol_2) | Символ 2 — Название второго торгового символа для сравнения. |
| true - ????????????? ?????????? (Revers) | Инверсия — Переключатель инверсии: true — инвертировать направление второго символа, false — оставить без инверсии. |
| ?????? ??????? ?? (Fast_MA) | Быстрая МА — Период быстрой скользящей средней, используемой в расчёте MACD для обоих символов. |
| ?????? ????????? ?? (Slow_MA) | Медленная МА — Период медленной скользящей средней, используемой в расчёте MACD для обоих символов. |
| ????? ??????? ?? (MA_Method) | Метод МА — Метод усреднения: 0 — простая (SMA), 1 — экспоненциальная (EMA), 2 — сглаженная (SMMA), 3 — линейно-взвешенная (LWMA). |
| ????????? ????: (MA_Price) | Цена МА — Тип цены для усреднения: 0 — Close, 1 — Open, 2 — High, 3 — Low, 4 — Median, 5 — Typical, 6 — Weighted. |
| ?????? ????????? ? ??????? (Delta) | Дельта — Шаг уровней распространения. Определяет расстояние между горизонтальными линиями уровня, отображаемыми в отдельном окне индикатора. |
| ??????? ??? (Lot) | Лот — Базовый объём позиции, используемый при расчёте лотов для второго символа. |
| ????? ??????? ??????? ??? ???????? (VOL_Mode) | Режим объёма — Режим расчёта лотов: 1 — фиксированный, 2 — пропорционально открытой цене, 3 — пропорционально волатильности ATR. |
| ?????? ?????????? ATR ??? ??????? ??????? ???????? (PeriodATR) | Период ATR — Период усреднённого истинного диапазона (ATR), используемый при расчёте лотов в режиме волатильности. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Blue
#property indicator_color4 Red
extern string Symbol_1 = "EURUSD"; // ?????????? ?????????? ?1
extern string Symbol_2 = "GBPUSD"; // ?????????? ?????????? ?2
extern bool Revers = false; // true - ????????????? ??????????
extern int Fast_MA = 8; // ?????? ??????? ??
extern int Slow_MA = 21; // ?????? ????????? ??
extern int MA_Method = 2; // ????? ??????? ??
extern int MA_Price = 6; // ????????? ????:
extern int Delta = 20; // ?????? ????????? ? ???????
extern double Lot = 0.1; // ??????? ???
extern int VOL_Mode = 2; // ????? ??????? ??????? ??? ????????
extern int PeriodATR = 144; // ?????? ?????????? ATR ??? ??????? ??????? ????????
double Spread_Buf[],Buf_Up[],Buf_Dw[],Symbol1_Buf[],Symbol2_Buf[];
double CurrentPoint1, CurrentPoint2, ZeroClose1, ZeroClose2;
string Text_1,Text_2,Text_3;
double Lots_1, Lots_2;
double kVol1, kVol2;
int init()
{
// код доступен только после оплаты
}
double MACD(string symbol, int i)
{
double Vol = (iMA(symbol,0,Fast_MA,0,MA_Method,MA_Price,i)-
iMA(symbol,0,Slow_MA,0,MA_Method,MA_Price,i)) / MarketInfo(symbol, MODE_POINT);
return (Vol);
}
int start()
{
// код доступен только после оплаты
}
int i, Counted_bars;
CurrentPoint1 = 0;
CurrentPoint2 = 0;
kVol1=MarketInfo(Symbol_1, MODE_TICKVALUE)/MarketInfo(Symbol_1, MODE_TICKSIZE);
kVol2=MarketInfo(Symbol_2, MODE_TICKVALUE)/MarketInfo(Symbol_2, MODE_TICKSIZE);
Counted_bars=IndicatorCounted();
i=Bars-Counted_bars-1;
while(i>=0)
{
Symbol1_Buf[i] = MACD (Symbol_1, iBarShift(Symbol_1, 0, Time[i], FALSE));
if(Revers) Symbol2_Buf[i] = -1*MACD (Symbol_2, iBarShift(Symbol_2, 0, Time[i], FALSE));
else Symbol2_Buf[i] = MACD (Symbol_2, iBarShift(Symbol_2, 0, Time[i], FALSE));
if((Symbol1_Buf[i+1]>Symbol2_Buf[i+1] && Symbol1_Buf[i+2]<=Symbol2_Buf[i+2]) ||
(Symbol1_Buf[i+1]<Symbol2_Buf[i+1] && Symbol1_Buf[i+2]>=Symbol2_Buf[i+2]))
{
CurrentPoint1 = 0;
CurrentPoint2 = 0;
ZeroClose1 = iClose(Symbol_1,Period(),iBПоказано первые 50% кода (символов: 4908)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.