Доработка ботов (советников, индикаторов) vol. 2

Genry_05

Отдыхает
Уважаемые программисты !!!! Кто поможет переписать под МТ4 несколько кодов? ...это первый... Буду очень признателен!

#// This source code is subject to the terms of the Mozilla Public License 2.0
#// © fluxchart
#indicator("Bollinger Bands (Nadaraya Smoothed) | Flux Charts", overlay =
# Converted and mod by Sam4Cok@Samer800 - 11/2023
input src = hlc3;
input SmoothingFactor = 6.0; # "Smoothing Factor"
input BollingerMovAvgType = AverageType.SIMPLE;
input short_period = 20; # "Period"
input short_stdev = 3.0; # "Deviation"
input med_period = 75; # "Period"
input med_stdev = 4.0; # "Deviation"
input long_period = 100; # " Period"
input long_stdev = 4.25; # "Deviation"
input showSignals = yes; # "Labels"
input signalLookback = 3;
input plotsLines = yes; # "Plot Lines"
input showBand1 = yes; # "Level 1 Bands"
input showBand2 = yes; # "Level 2 Bands"

def na = Double.NaN;
def n_first = short_period;
def n_second = med_period;
def n_third = long_period;
DefineGlobalColor("up", CreateColor(41, 98, 255));
DefineGlobalColor("dn", CreateColor(233, 30, 99));
DefineGlobalColor("up1", CreateColor(0, 18, 68));
DefineGlobalColor("dn1", CreateColor(54, 5, 22));
DefineGlobalColor("up2", CreateColor(0, 38, 144));
DefineGlobalColor("dn2", CreateColor(100, 10, 41));

#bollingers(n, factor = 3) =>
script bollingers {
input src = hlc3;
input len = 20;
input factor = 3;
input MovAvg = AverageType.SIMPLE;
def Avg = MovingAverage(MovAvg, src, len);
def dev = factor * StDev(src, len);
def bolu = Avg + dev;
def bold = Avg - dev;
plot up = bolu;
plot dn = bold;
}
script nadaraya {
input src = hlc3;
input h = 6;
input n = 500;
def bar = AbsValue(BarNumber());
def den = 2 * Sqr(h);
def gk_sum = if Bar == 0 then
fold i = 0 to n with p do
p + Exp(- Sqr(i) / den) else gk_sum[1];
def smoothed = fold j = 0 to n with q do
q + src[j] * Exp(- Sqr(j) / den) / gk_sum;
plot out = smoothed;
}
def BOLU_FIRST = bollingers(src, n_first, short_stdev, BollingerMovAvgType).up;
def BOLD_FIRST = bollingers(src, n_first, short_stdev, BollingerMovAvgType).dn;

def BOLU_SECOND = bollingers(src, n_second, short_stdev, BollingerMovAvgType).up;
def BOLD_SECOND = bollingers(src, n_second, short_stdev, BollingerMovAvgType).dn;

def BOLU_THIRD = bollingers(src, n_third, med_stdev, BollingerMovAvgType).up;
def BOLD_THIRD = bollingers(src, n_third, med_stdev, BollingerMovAvgType).dn;

def BOLU_FOURTH = bollingers(src, n_third, long_stdev, BollingerMovAvgType).up;
def BOLD_FOURTH = bollingers(src, n_third, long_stdev, BollingerMovAvgType).dn;

def pivot_high = high < Highest(src, signalLookback);
def pivot_low = low > Lowest (src, signalLookback);

def n = 500;

def smoothed_bolu_1 = nadaraya(BOLU_FIRST, SmoothingFactor, n);
def smoothed_bold_1 = nadaraya(BOLD_FIRST, SmoothingFactor, n);

def smoothed_bolu_2 = nadaraya(BOLU_SECOND, SmoothingFactor, n);
def smoothed_bold_2 = nadaraya(BOLD_SECOND, SmoothingFactor, n);

def smoothed_bolu_3 = nadaraya(BOLU_THIRD, SmoothingFactor, n);
def smoothed_bold_3 = nadaraya(BOLD_THIRD, SmoothingFactor, n);

def smoothed_bolu_4 = nadaraya(BOLU_FOURTH, SmoothingFactor, n);
def smoothed_bold_4 = nadaraya(BOLD_FOURTH, SmoothingFactor, n);

def BOLU_FIRST_PLOT = smoothed_bolu_1;
def BOLD_FIRST_PLOT = smoothed_bold_1;

def BOLU_SECOND_PLOT = smoothed_bolu_2;
def BOLD_SECOND_PLOT = smoothed_bold_2;

def BOLU_THIRD_PLOT = smoothed_bolu_3;
def BOLD_THIRD_PLOT = smoothed_bold_3;

def BOLU_FOURTH_PLOT = smoothed_bolu_4;
def BOLD_FOURTH_PLOT = smoothed_bold_4;

plot bearLine = if plotsLines then BOLU_FIRST_PLOT else na;
plot bullLine = if plotsLines then BOLD_FIRST_PLOT else na;
bearLine.SetLineWeight(2);
bullLine.SetLineWeight(2);
bearLine.SetDefaultColor(GlobalColor("dn"));
bullLine.SetDefaultColor(GlobalColor("up"));

AddCloud(if showBand1 then BOLU_FIRST_PLOT else na, BOLU_SECOND_PLOT, GlobalColor("dn1"), GlobalColor("dn1"), yes);
AddCloud(if showBand1 then BOLD_FIRST_PLOT else na, BOLD_SECOND_PLOT, GlobalColor("up1"), GlobalColor("up1"), yes);
AddCloud(if showBand2 then BOLU_SECOND_PLOT else na, BOLU_THIRD_PLOT, GlobalColor("dn2"), GlobalColor("dn2"));
AddCloud(if showBand2 then BOLD_SECOND_PLOT else na, BOLD_THIRD_PLOT, GlobalColor("up2"), GlobalColor("up2"));

def upper_band_test = pivot_high and src crosses BOLU_FIRST_PLOT;
def lower_band_test = pivot_low and src crosses BOLD_FIRST_PLOT;
def cntUp = if upper_band_test then 0 else cntUp[1] + 1;
def cntDn = if lower_band_test then 0 else cntDn[1] + 1;

AddChartBubble(showSignals and cntUp == 2, high, "S", Color.RED);
AddChartBubble(showSignals and cntDn == 2, low, "B", Color.GREEN, no);

#-- END of CODE
Так Младен еще в 21 году сделал эту машку и в 4 и в 5 мукле...
1701655268248.png
в TW эта BB выглядит так
1701655432824.png
 

Вложения

Последнее редактирование:

DeD66

Местный знаток
Так Младен еще в 21 году сделал эту машку и в 4 и в 5 мукле...
Посмотреть вложение 528697
в TW эта BB выглядит так
Посмотреть вложение 528698
Огромная благодарность !!!! Genry_05, можно попросить на этот код взглянуть.....сможете помочь с переделкой под МТ4 ? Буду очень признателен! Понимаю что работа не бесплатная наверняка...
 

Вложения

aladdin1982

Новичок форума
goog morning every one
can programmers add VWAP to this indicator please
i wish you great day AND thank you in advance
 

Вложения

Genry_05

Отдыхает
Огромная благодарность !!!! Genry_05, можно попросить на этот код взглянуть.....сможете помочь с переделкой под МТ4 ? Буду очень признателен! Понимаю что работа не бесплатная наверняка...
рад помочь. но закончил я с программированием года 3 назад:unsure:
торговать мешает...
свои старые коды меняю иногда. а чтобы снова влезать ... ни-ни
 

nikolaiads

Активный участник
Коллеги ! Доброго времени суток. Помогите приладить к индюку волшебную кнопку БАБЛО, :) в смысле кнопку МТФ :rolleyes:.
 

Вложения

<< Khaos >>

Новичок форума
Господа программисты, помогите пожалуйста переделать визуальный сигнал индикатора (если это вообще возможно).

Суть в том что индюк дает визуальный сигнал на уже закрытой свече, а хотелось бы что бы давал на опене следующей свече (без перерисовки разумеется).

Саму формулу/функцию менять не надо, с ней всё ок, просто сместить визуально точку.

Если еще и алерт добавите буду крайне благодарен!


Screenshot_ADX Crossing.png
 

Вложения

sergik116

Местный житель
Господа программисты, помогите пожалуйста переделать визуальный сигнал индикатора (если это вообще возможно).

Суть в том что индюк дает визуальный сигнал на уже закрытой свече, а хотелось бы что бы давал на опене следующей свече (без перерисовки разумеется).

Саму формулу/функцию менять не надо, с ней всё ок, просто сместить визуально точку.

Если еще и алерт добавите буду крайне благодарен!


Посмотреть вложение 528855
Поищи тут на форуме есть куча разных вариаций этого индюка.
 

MakarFX

Элитный участник
Господа программисты, помогите пожалуйста переделать визуальный сигнал индикатора (если это вообще возможно).

Суть в том что индюк дает визуальный сигнал на уже закрытой свече, а хотелось бы что бы давал на опене следующей свече (без перерисовки разумеется).

Саму формулу/функцию менять не надо, с ней всё ок, просто сместить визуально точку.

Если еще и алерт добавите буду крайне благодарен!


Посмотреть вложение 528855
 

Вложения

Sapper

......
Господа программисты, помогите пожалуйста переделать визуальный сигнал индикатора (если это вообще возможно).

Суть в том что индюк дает визуальный сигнал на уже закрытой свече, а хотелось бы что бы давал на опене следующей свече (без перерисовки разумеется).

Саму формулу/функцию менять не надо, с ней всё ок, просто сместить визуально точку.

Если еще и алерт добавите буду крайне благодарен!


Посмотреть вложение 528855
Эти посмотрите. Тот же самый автор, только модификация. Есть алерт и точка (стрелка) на следующей свече.
 

Вложения

stef30003

Новичок форума
может есть у кого такой соыетник,
скрин только кнопри убрать поставить ордера
поделитесь если есть
 

Вложения

  • Screenshot_3.png
    Screenshot_3.png
    225 КБ · Просмотры: 92

MERFY

Местный знаток
Добрый вечер!

Необходимо задать для индикатора список инструментов, по которым он будет проводить анализ и выдавать алерт.

Алерт внедрил с другого индикатора, работает но только по текущему инструменту.
Нужно чтобы анализировал список инструментов с заданым таймреймом и выдавал аллерт по тому, на котором возникла сигнальная стрелка.
 

Вложения

Nobodys Hero

Активный участник
Эти посмотрите. Тот же самый автор, только модификация. Есть алерт и точка (стрелка) на следующей свече.
Раз пошла такая пьянка, то вот Вам еще один от всем известного автора ...
 

Вложения

jhndoo

Активный участник
Зачем вам, ребятки, это нужно? ADX никогда не заходит с начала свечи, всегда запаздывает больше чем наполовину.
Вопрос: зачем, какой смысл?
 

<< Khaos >>

Новичок форума
Зачем вам, ребятки, это нужно? ADX никогда не заходит с начала свечи, всегда запаздывает больше чем наполовину.
Вопрос: зачем, какой смысл?
Да есть такое, там все дело в принципе формирования сигнала, линии +DI/-DI могут то сходится то расходится. Но как доп сигнал для доливок на M5-M15 по направлению тренда на старших ТФ вполне подходит.
Есть идеи где взять индюк с сигналами на 1 тике опена? Вообще в природе встречали такие?
 

Посмотрели (723) Посмотреть

Отслеживают (1809) Посмотреть

Верх