Мультитаймфреймовые индикаторы - страница 78

 

Отличные индикаторы

fxbs:
MTF AbsoluteStrength_v1DH - Гистограмма

Привет, fxbs.

Спасибо, что включили MTF Absolute Strength как гистограмму. Эти индикаторы - отличная работа Igorad.

Я хотел бы прокомментировать некоторые улучшения для представления индикатора как гистограммы. Может быть это существует, может быть нет, я знаю, что это бесплатная версия Igorad.

Я говорю о том, чтобы улучшить индикаторы, если бы они могли включить на нулевую линию точки, которые отмечают состояние, которое мы можем видеть в линейной версии индикаторов абсолютной силы.

Я прилагаю два рисунка, чтобы попытаться объяснить лучше.

Я буду признателен за ваши комментарии или комментарии любого члена Совета.

Еще раз спасибо.

Cattus

Я хочу воспользоваться этим постом, чтобы поздравить newdigital и всех старших членов, потому что это отличный сайт (TSD), благодаря вашей отличной работе.

Файлы:
 
wowa:
Новая картинка

Вова, у тебя есть шаблон для поста #785? И как вы торгуете?

 

Банзай! не хочешь попробовать DinoZoRSI - MTF?

 

"FanSimple_8" - 7(9)TFs - MTF!

https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-please-post-here/page11#comment_189197

Файлы:
fan_simple8.gif  11 kb
 

Эргодичный CCI от Fx Sniper

Привет всем,

Мне нравится эта тема, некоторые интересные MTF.

Я постоянно использую триггер ECCI от FX Sniper, а в ATM открыто несколько ТФ для определения времени сделок. Это единственный индикатор, который работает для меня круглый год.

Я взглянул на систему HAS и заметил, что HAMA преобразуются в маленькие коробочки на различных ТФ.

Возможно ли это сделать с ECCI от FX Sniper?

Это был бы убийственный индикатор, если бы мы могли видеть все позиции на различных ТФ одновременно. Все, что мне нужно знать, это триггер Long или Short. Например, зеленый для длинной позиции и красный для короткой на 1m-Monthly.

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

Для моей системы очень важно наблюдение за ценой, а Heiken Ashi мешает этому, и он слишком медленный для FX рынка. К тому же вы пропускаете сетапы, которые приносят большие пипсы.

И сохраните окно осциллятора, так как оно является важной частью моей системы.

Я с нетерпением жду ваших предложений.

 

Необходима помощь в проверке кода

Не мог бы кто-нибудь любезно помочь мне проверить код?

Я уже несколько раз обращался с просьбой помочь преобразовать RMI индикатор в MTF. Однако никто, похоже, не заинтересовался. Поэтому я попытался сделать преобразование в MTF на основе кода, сделанного для RSI.

После компиляции я получаю сообщение об ошибке из-за несбалансированной круглой скобки. Я пытался добавить скобку в ту часть, где, как мне казалось, был дисбаланс в расстановке скобок.

Я даже пробовал удалять скобки, которые, как мне казалось, не имели партнера. По-прежнему не удается найти ошибку.

Я прикрепляю код ниже и фактические индикаторы снова.

КОД:

//+------------------------------------------------------------------+

//| MTF_ RMI.mq4 |

//| Copyright ?2006, DaVinciProject |

//| Торговое программное обеспечение Forex: Торговая платформа MetaTrader 4 | //| Торговая платформа Forex: MetaTrader 4

//+------------------------------------------------------------------+

#property copyright "Copyright ?2006, DaVinciProject"

#property link "http://www.metaquotes.net"

#property indicator_separate_window

#property indicator_minimum 0

#property indicator_maximum 100

#property indicator_buffers 1

#property indicator_color1 DodgerBlue

#property indicator_level1 15

#property indicator_level2 85

//---- входные параметры

/*************************************************************************

PERIOD_M1 1

ПЕРИОД_М5 5

PERIOD_M15 15

PERIOD_M30 30

PERIOD_H1 60

PERIOD_H4 240

PERIOD_D1 1440

ПЕРИОД_W1 10080

ПЕРИОД_МН1 43200

Вы должны использовать числовое значение таймфрейма, который вы хотите использовать

когда вы устанавливаете значение TimeFrame' с помощью входов индикатора.

**************************************************************************/

extern int TimeFrame=60;

extern int RMIPeriod=5;

extern int Shift=5;

//---- буферы

double RMIBuffer[];

double PosBuffer[];

double NegBuffer[];

//+------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+------------------------------------------------------------------+

int init()

{

//---- индикаторы

string short_name;

//---- 2 дополнительных буфера используются для подсчета.

IndicatorBuffers(3);

SetIndexBuffer(1,PosBuffer);

SetIndexBuffer(2,NegBuffer);

//---- линия индикатора

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,RMIBuffer);

//---- имя для DataWindow и метки подокна индикатора

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Текущий таймфрейм";

}

IndicatorShortName("RMI ("+RMIPeriod+") "+TimeFrameStr);

}

//----

return(0);

}

//+------------------------------------------------------------------+

//| RMI - Relative Momentum Index | Индекс относительного момента.

//+------------------------------------------------------------------+

int start()

{

int i,counted_bars=IndicatorCounted();

double rel,negative,positive;

//----

if(Bars<=RMIPeriod) return(0);

//---- начальный ноль

if(counted_bars<1)

for(i=1;i<=RMIPeriod;i++) RMIBuffer=0.0;

//----

i=Bars-RMIPeriod-1;

if(counted_bars>=RMIPeriod) i=Bars-counted_bars-1;

while(i>=0)

{

double sumn=0.0, sump=0.0;

if(i==Bars-RMIPeriod-1)

{

int k=Bars-2;

//---- первоначальное накопление

while(k>=i)

{

rel=Close[k]-Close[k+Shift];

if(rel>0) sump+=rel;

else sumn-=rel;

k--;

}

positive=sump/RMIPeriod;

отрицательный=сумн/РМИПериод;

}

else

{

//---- простая скользящая средняя

rel=Close-Close;

if(rel>0) sump=rel;

else sumn=-rel;

positive=(PosBuffer*(RMIPeriod-1)+sump)/RMIPeriod;

negative=(NegBuffer*(RMIPeriod-1)+sumn)/RMIPeriod;

}

PosBuffer=положительный;

NegBuffer=отрицательный;

if(negative==0.0) RMIBuffer=0.0;

else RMIBuffer=100.0*positive/(positive+negative);

i--;

}

//----

return(0);

}

//+------------------------------------------------------------------+

//| MTF RMI |

//+------------------------------------------------------------------+

int start()

{

datetime TimeArray[];

int i,shift,limit,y=0,counted_bars=IndicatorCounted();

// Накладываем определенный таймфрейм на текущий таймфрейм

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit=Bars-counted_bars;

for(i=0,y=0;i<limit;i++)

{

if (Time<TimeArray[y]) y++;

/***********************************************************

Добавьте свой основной цикл индикатора ниже. Вы можете ссылаться на существующий

индикатор с помощью его iName или iCustom.

Правило 1: Добавьте внешние входы выше для всех необходимых значений.

Правило 2: Используйте 'TimeFrame' для таймфрейма индикатора

Правило 3: Используйте 'y' для значения сдвига индикатора.

**********************************************************/

ExtMapBuffer1=iRMI(NULL,TimeFrame,RMIPeriod,PRICE_CLOSE,y); //iStochastic(NULL,TimeFrame,KPeriod,DPeriod,Slowing,MAMethod,PriceField,0,y);

//ExtMapBuffer2=iStochastic(NULL,TimeFrame,KPeriod,DPeriod,Slowing,MAMethod,PriceField,1,y);

}

//

return(0);

}

//+------------------------------------------------------------------+

Файлы:
rmi.mq4  4 kb
 

Удалите"}" сразу после

IndicatorShortName("RMI ("+RMIPeriod+") "+TimeFrameStr); строка

 

привет

Привет, правый каттус, было бы очень хорошо иметь эту Абсолютную Гистограмму С. с точками, которые вы предлагаете.

Кто-нибудь может это сделать?

 

MTF AbsoluteStrength_v1DH - гистограмма

AbsoluteStrength - нить

nonlagtools https://www.mql5.com/en/forum/general

файлы обновлены 20070715

 

Некоторые ошибки

fxbs:
MTF_AbsoluteStrength_v1DHs.mq4; желтые точки - нет торговой зоны

___ не отдельный инд; нужно вызвать

AbsoluteStrength_v1DH.mq4 (ниже, то же, что и в посте 783)

AbsoluteStrength_v1.1.mq4 (предыдущее сообщение)

AbsoluteStrength: thread -nonlagtools https://www.mql5.com/en/forum/general

Привет fxbs.

Во-первых, большое спасибо за быструю и отличную помощь.

Во-вторых, приношу свои извинения за то, что не объяснил все случаи.

Я не кодер, но в любом случае, я работал, чтобы сделать другой индикатор (боковые бары) с вашей первой идеи "MTF_AbsoluteStrength_sBar.mq4". Я добавил другие случаи (прилагаю индикатор MTF_AbsoluteStrength_sBar3.mq4). У меня были те же результаты, что и у вас в последнем индикаторе "MTF_AbsoluteStrength_v1DHs.mq4 ", я говорю о предупреждающих областях, но основная проблема в том, что ваши и мои результаты неверны.

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

Случаи, которые я вижу при использовании Absolute Strenght, следующие:

if(SmthBulls>SigBulls && SmthBears<=SigBears) TrendUpStrong=ASbarLevel;

if(SmthBulls>SigBulls && SmthBears>SigBears && ((SmthBulls-SigBulls)>(SmthBears-SigBears)))) TrendUp=ASbarLevel;

if(SmthBulls>SigBulls && SmthBears>SigBears && ((SmthBulls-SigBulls)<(SmthBears-SigBears)))) TrendDown=ASbarLevel;

if(SmthBullsSigBears) TrendDownStrong=ASbarLevel;

if(SmthBulls<=SigBulls && SmthBears<=SigBears) NoDirection=ASbarLevel;

if(SmthBulls>SigBulls && SmthBears>SigBears && ((SmthBulls-SigBulls)==(SmthBears-SigBears)))) Volatile=ASbarLevel;

Не могли бы Вы рассмотреть индикатор MTF_AbsoluteStrength_sBar3.mq4? И я думаю, что если Вы (или другие участники) согласны со всеми случаями, которые я написал, было бы лучше показать это в формате Вашей последней модификации Absolute Strenght (MTF_AbsoluteStrength_v1DHs.mq4).

С уважением.