H1 = close + (high-low)*1.1 /12
H2 = close + (high-low)*1.1 /6
H3 = close + (high-low)*1.1 /4
H4 = close + (high-low)*1.1 /2
H5 = (high/low)*close
L1 = close - (high-low)*1.1 /12
L2 = close - (high-low)*1.1 /6
L3 = close - (high-low)*1.1 /4
L4 = close - (high-low)*1.1 /2
L5 = close - (H5 - close)
На основании данных уровней часто строится простая торговая система, которая говорит, что движение цены внутри уровне H3 и L3 подтверждает боковую тенденцию, а выход за пределы H4 и L4 сигнализирует о возможном начале локального тренда.
Автор: Nick Scott
Первоисточник: http://www.camarillaequation.com/
Пример:
Исходный текст:
Код: Выделить всё
function Initialize()
{
IndicatorName = "LevelCamarilla";
PriceStudy = true;
AddInput("Input", Inputs.Candle);
AddParameter("TF", 100, 5);
AddSeries("Cl", DrawAs.Line, Color.Blue, false);
// Global
AddGlobalVariable("Min", Types.Double, 0.0);
AddGlobalVariable("Max", Types.Double, 0.0);
AddGlobalVariable("Hi", Types.Double, 0.0);
AddGlobalVariable("Lo", Types.Double, 0.0);
// Resistance
AddLevel(0, Color.LightGreen, LineStyles.Dot, 1, "Cl");
AddLevel(0, Color.LightGreen, LineStyles.Dot, 1, "Cl");
AddLevel(0, Color.LightGreen, LineStyles.DashBig, 1, "Cl");
AddLevel(0, Color.LightGreen, LineStyles.Dot, 1, "Cl");
// Suuport
AddLevel(0, Color.Coral, LineStyles.Dot, 1, "Cl");
AddLevel(0, Color.Coral, LineStyles.Dot, 1, "Cl");
AddLevel(0, Color.Coral, LineStyles.DashBig, 1, "Cl");
AddLevel(0, Color.Coral, LineStyles.Dot, 1, "Cl");
}
function Evaluate()
{
// AlfaDirect. 2015. OX
// LevelCamarilla - уровни Камара только для текущего дня (8 уровней)
// Нельзя использовать для тестирования
if (CurrentIndex < 1)
{
Cl = Input.Close[0];
Hi = Input.High[0];
Lo = Input.Low[0];
Max = Input.High[0];
Min = Input.Low[0];
}
else if (BarTime() == AsTime(10, 0, 0))
{
Cl = Input.Close[-1];
Hi = Max;
Lo = Min;
Max = Input.High[0];
Min = Input.Low[0];
}
else
{
Cl = Cl[-1] ;
if (Input.High[0] > Max )
Max = Input.High[0];
if (Input.Low[0] < Min )
Min = Input.Low[0];
}
if (CurrentIndex == MaxIndex)
{
Levels[0].Level = Cl[0]+(Hi-Lo)*1.1/12;
Levels[1].Level = Cl[0]+(Hi-Lo)*1.1/6;
Levels[2].Level = Cl[0]+(Hi-Lo)*1.1/4;
Levels[3].Level = Cl[0]+(Hi-Lo)*1.1/2;
Levels[4].Level = Cl[0]-(Hi-Lo)*1.1/12;
Levels[5].Level = Cl[0]-(Hi-Lo)*1.1/6;
Levels[6].Level = Cl[0]-(Hi-Lo)*1.1/4;
Levels[7].Level = Cl[0]-(Hi-Lo)*1.1/2;
}
}