Стоп-сигнал по крутизне изменения курса - страница 2

 
Andy_Kon писал (а) >>

1. Наш с Вами колега спрашивал "каким-то образом использовать крутизну изменения курса" в советнике.

2. Приведу кусочки кода и з вышеприведённого инд.

while(i >= 0)
{
double upfrac_val = iFractals(NULL, 0, MODE_UPPER, i + 1);

..............

Из него видно - данные берутся из "первого" бара. Смотрим график GBPUSD от 14.08.08:

начало штопора 11:30 ("неместного" времени),

окончание штопора примерно 11:35 = 90 пунктов,

далее полёт нормальный (туда же вниз) ещё более 150 пунктов,

окончание полёта 12:20.

3. Из п.п. 2 напрашивается вопрос: из кода данного инд. когда Вы увидите полёт?

4. Попробую сам ответить на него: когда сработают ВСЕ "стопари".

5. Ещё раз сформулирую. Нам с Вами нужно найти такое решение, которое бы достаточно оперативно работала.


Наверное 13.08? 14.08.08, 11:30 в Европе еще не наступило.

 
Choomazik писал (а) >>

Наверное 13.08? 14.08.08, 11:30 в Европе еще не наступило.

Конечно ДА (извитите был не прав, "зациклило").

 

Вернёмся к нашим "баранам".

1. Если Вы работаете с тиками:

они хранятся (должны) в массиве (сдвиговый регистр).

находится за N последних тиков "высота" - мы получили "крутизну".

2. Если Вы работаете с барами:

периодически находим "высоту" за N последних МИНУТНЫХ баров, делим на их кол-во - мы получили "крутизну".

3. Дополнительно (было замечено 13.08.08) - скачкообразное изменение объёмов.

4. Код сами напишите?

 

2-рая производная из какого-то сглаживающего индикатора? (LSMA напр.)

 
Itso писал (а) >>

2-рая производная из какого-то сглаживающего индикатора? (LSMA напр.)

А зачем нам с Вами что-то "сглаживающее"?

Нам нужно быстро-быстро узнать, как сказал наш коллега "крутизну" и сглаживать её не надо.

Наоборот, чем "острей" она будет, тем лучше для нас.

 

Индикаторчик крутизны


#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Yellow

extern int $width=5; //ширина крутизны

double $line_0[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE, EMPTY, 1);
SetIndexBuffer(0,$line_0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted()-1;
//----
for(int $i=counted_bars;$i>=0;$i--){
$line_0[$i]=(High[iHighest(NULL,PERIOD_M1,MODE_HIGH,$width,$i)]-Low[$i])/($width*Point);
}
//----
return(0);
}


Скриптик крутизны


int start()
{

//----
int $width=5;//ширина крутизны
double $steepness=(High[iHighest(NULL,PERIOD_M1,MODE_HIGH,$width,0)]-Bid)/($width*Point);//крутизна
Alert($steepness);
//----
return(0);

}



Из скриптика берём код и в эксперт:

int $width=5;//ширина крутизны
double $steepness=(High[iHighest(NULL,PERIOD_M1,MODE_HIGH,$width,0)]-Bid)/($width*Point);//крутизна



При желании, можно ещё добавить направление "крутизны".

 

Работа на Н4 предусматривает значительно большие просадки, чем, скажем, Н1. Здесь тогла стоит вопрос в грамотной расстановке Стоп-лосса(а он должен быть обязательно). К тому же можно использовать меньший тайм, допустим М30(М15-это для скальперов и шумовиков). Ввести некоторую переменнную дельта, которая в случае, если за короткий промежуток времени(предположительно менее получаса) цена направленно движется в противоположную сторону открытому ордеру, закрыть этот ордер ранее достижения стоп-лосса. Величину дельта нужно рассчитывать сугубо лично, с учётом дневных волатильностей каждой отдельной пары. Можно воспользоваться таблицей. Её кажись Игорь Ким выкладывал.

Файлы:
 
Спасибо
sayfuji писал (а) >>

Работа на Н4 предусматривает значительно большие просадки, чем, скажем, Н1. Здесь тогла стоит вопрос в грамотной расстановке Стоп-лосса(а он должен быть обязательно). К тому же можно использовать меньший тайм, допустим М30(М15-это для скальперов и шумовиков). Ввести некоторую переменнную дельта, которая в случае, если за короткий промежуток времени(предположительно менее получаса) цена направленно движется в противоположную сторону открытому ордеру, закрыть этот ордер ранее достижения стоп-лосса. Величину дельта нужно рассчитывать сугубо лично, с учётом дневных волатильностей каждой отдельной пары. Можно воспользоваться таблицей. Её кажись Игорь Ким выкладывал.



sayfuji, вы читаете мои мысли :) Andy_Kon, спасибо, наверняка использую ваш код. (Open[1]-Close[1])*Volume[1]*Delta, дельта вычислить оптимизацией. Сидеть тихо определенное количество периодов....
 

Индикатор "крутизны", как вверх, так и вниз:


#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Yellow

extern int $width=5; //ширина крутизны

double $line_0[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

//---- indicators
SetIndexStyle(0,DRAW_LINE, EMPTY, 1);
SetIndexBuffer(0,$line_0);
//----
return(0);

}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{

int counted_bars=IndicatorCounted()-1;
//----
for(int $i=counted_bars;$i>=0;$i--){
double $x=(Low[iLowest(NULL,PERIOD_M1,MODE_LOW,$width,$i)]-High[$i])/($width*Point);
double $y=(High[iHighest(NULL,PERIOD_M1,MODE_HIGH,$width,$i)]-Low[$i])/($width*Point);
if($x>$y) $line_0[$i]=$x;
else $line_0[$i]=$y;
}
//----
return(0);

}

 
Andy_Kon писал (а) >>

1. Наш с Вами коллега спрашивал "каким-то образом использовать крутизну изменения курса" в советнике.

2. Приведу кусочки кода и з вышеприведённого инд.

while(i >= 0)
{

double upfrac_val = iFractals(NULL, 0, MODE_UPPER, i + 1);

..............

Из него видно - данные берутся из "первого" бара. Смотрим график GBPUSD от 14.08.08:

начало штопора 11:30 ("неместного" времени),

окончание штопора примерно 11:35 = 90 пунктов,

далее полёт нормальный (туда же вниз) ещё, более 150 пунктов,

окончание полёта 12:20.

3. Из п.п. 2 напрашивается вопрос: из кода данного инд. когда Вы увидите полёт?

4. Попробую сам ответить на него: когда сработают ВСЕ "стопари".

5. Ещё раз сформулирую. Нам с Вами нужно найти такое решение, которое бы достаточно оперативно работала (на нас, а не на них :-) ) .

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

Причина обращения: