snake.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «snake.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Snake — это пользовательский индикатор для платформы MetaTrader 5, отображающий аналитическую линию в окне графика. Индикатор рассчитывает взвешенную цену на основе типичной цены с нестандартным коэффициентом (2*Close + High + Low)/4 и применяет алгоритм скользящего сглаживания с настраиваемым полупериодом.
Индикатор использует один буфер для отрисовки линии красным цветом. При расчёте применяется метод линейно взвешенного скользящего среднего (LWMA) для крайней левой точки, а для остальных баров используется рекуррентная формула с поочерёдным сдвигом суммы и весов.
Индикатор требует минимум 150 баров на графике для корректной работы. Параметр полупериода ограничивается минимальным значением 3 при входе меньше 3. Расчёт начинается справа налево с использованием двух вспомогательных функций для первичного и последующего вычисления значений.
Настройки программы
| Настройка | Описание |
|---|---|
| Snake_HalfCycle | Задаёт полупериод индикатора Snake, определяющий глубину сглаживания и количество баров, используемых при расчёте. Допустимые значения — целые числа от 4 и выше; при значении меньше 3 автоматически устанавливается в 3. По умолчанию равно 5. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
extern int Snake_HalfCycle=5; // Snake_HalfCycle = 4...10 or other
double Snake_Buffer[];
double Snake_Sum, Snake_Weight, Snake_Sum_Minus, Snake_Sum_Plus;
int Snake_FullCycle;
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
void Snake(int Pos)
{
int i;
if(Pos<=Snake_HalfCycle+1) Pos=Snake_HalfCycle+2;
Snake_Buffer[Pos]=SnakeFirstCalc(Pos);
Pos--;
while(Pos>=Snake_HalfCycle)
{
Snake_Buffer[Pos]=SnakeNextCalc(Pos);
Pos--;
}
while(Pos>0)
{
Snake_Buffer[Pos]=SnakeFirstCalc(Pos);
Pos--;
}
if(Pos==0)
Snake_Buffer[0]=iMA(NULL,0,Snake_HalfCycle,0,MODE_LWMA,PRICE_TYPICAL,0);
return;
}
double SnakePrice(int Shift)
{
return((2*Close[Shift]+High[Shift]+Low[Shift])/4);
}
double SnakeFirstCaПоказано первые 50% кода (символов: 2277)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.