fx_3ma_arrow22.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fx_3ma_arrow22.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
fx_3ma_arrow22 — это пользовательский индикатор для MetaTrader 5, отображаемый в отдельном окне. Он рассчитывает сглаженную осцилляционную величину на основе относительного положения цены в диапазоне High-Low за заданный период, применяет к ней преобразование Фишера, а затем вычисляет две скользящие средние от полученной последовательности.
Индикатор отображает осциллятор в виде отдельных линий положительных и отрицательных значений, а также объединённой линии, и рисует две линии скользящих средних. На основании условий пересечения нуля и пороговых значений на выбранной линии индикатор формирует стрелки сигналов вверх и вниз.
При включении соответствующей настройки индикатор создаёт текстовые метки с обозначениями покупки, продажи и выхода на графике. Доступен режим ускоренного расчёта, ограничивающий обрабатываемое количество баров. Все входные параметры настраиваются через панель свойств индикатора.
Настройки программы
| Настройка | Описание |
|---|---|
| period | Период расчёта диапазона High-Low для формирования осцилляционной величины. |
| price | Тип цены, используемой при расчёте: 0 — (H+L)/2, 1 — Open, 2 — Close, 3 — High, 4 — Low, 5 — (H+L+C)/3, 6 — (O+H+L+C)/4, 7 — (O+C)/2. |
| Mode_Fast | Переключатель ускоренного режима. При включении расчёт ограничивается последними 100 барами вместо всех доступных. |
| Signals | Переключатель отображения текстовых меток с сигналами покупки, продажи и выхода на графике. |
| MA1period | Период первой скользящей средней, рассчитываемой от преобразованной осцилляционной линии. |
| TypeHelp | Описательная строка с допустимыми типами первой скользящей средней: SMA — 0, EMA — 1, SMMA — 2, LWMA — 3. |
| TypeHelp2 | Описательная строка с рекомендуемыми настройками типов скользящих средних. |
| TypeMA1 | Тип первой скользящей средней: 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA. |
| TypeMA2 | Тип второй скользящей средней: 0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA. |
| SignalBar | Смещение по барам от текущего бара, начиная с которого рассчитываются стрелки сигналов. Значение 0 означает расчёт со всех баров, больше 0 — с указанным смещением. |
| NumLine | Выбор линии для отображения сигналов-стрелок: 1 — объединённая линия осциллятора, 2 — первая скользящая средняя, 3 — вторая скользящая средняя. |
| widthSimbol | Размер (толщина) стрелочных символов сигналов на графике. |
| indexSymbolUp | Код стрелочного символа, используемого для отображения сигнала покупки (направление вверх). |
| indexSymbolDn | Код стрелочного символа, используемого для отображения сигнала продажи (направление вниз). |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1 Black
#property indicator_color2 Black
#property indicator_color3 Blue
#property indicator_color4 Yellow
#property indicator_color5 Lime
double buffer1[];
double buffer2[];
double buffer3[];
double MA1buffer[];
double MA2buffer[];
double MA_sUP[];
double MA_sDN[];
extern int period=10;
extern int price=0; // 0 or other = (H+L)/2
extern bool Mode_Fast= False;
extern bool Signals= False;
extern int MA1period=9, MA2period=45;
extern string TypeHelp = "SMA- 0, EMA - 1, SMMA - 2, LWMA- 3";
extern string TypeHelp2 = "John Hyden settings TypeMA1=0, TypeMA2=3";
extern int TypeMA1=0;
extern int TypeMA2=3;
extern int SignalBar = 1; //???????? ??????? ?? ????. 0 - ?? ???????? ????, > 0 - ?? ????????.
extern int NumLine = 1; //????? ????? ?? ?????????
extern int widthSimbol = 1; //??????? ???????
extern int indexSymbolUp = 233; //241 //??? ??????? buy
extern int indexSymbolDn = 234; //242 //??? ??????? sell
int init()
{
// код доступен только после оплаты
}
int deinit()
{
int i;
double tmp;
for (i=0;i>Bars;i++)
{
ObjectDelete("SELL SIGNAL: "+DoubleToStr(i,0));
ObjectDelete("BUY SIGNAL: "+DoubleToStr(i,0));
ObjectDelete("EXIT: "+DoubleToStr(i,0));
}
return(0);
}
double Value=0,Value1=0,Value2=0,Fish=0,Fish1=0,Fish2=0;
int buy=0,sell=0;
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int i;
int barras;
double _price;
double tmp;
double MinL=0;
double MaxH=0;
double Threshold=1.2;
if(counted_bars>0) counted_bars--;
barras = Bars-counted_bars;
if (Mode_Fast)
barras = 100;
i = 0;
while(i<barras)
{
MaxH = High[Highest(NULL,0,MODE_HIGH,period,i)];
MinL = Low[Lowest(NULL,0,MODE_LOW,period,i)];
switch (price)
{
case 1: _price = Open[i]; break;
case 2: _price = Close[i]; break;
case 3: _price = High[i]; break;
case 4: _price = Low[i]; break;
case 5: _price = (High[i]+Low[i]+Close[i])/3; Показано первые 50% кода (символов: 4055)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.