Каталог файлов форума

Список вложений в сообщениях, оставленных на этой конференции.

Все файлы форума: 1233

Добавлено: Владимир Валерьевич » 23 ноя 2017, 22:42

Тема: Re: FractalsMTF - отображение фракталов старшего таймфрейма на младшем

Текст сообщения:

Одно время пользовался пользовался вот таким макаром:
на старшим ТФ расчитывал инд-р и сохранял в файле

Код: Выделить всё

function Initialize()
//индикатор НЕ формируется на текущем баре а вычисляется на предыдущем
{IndicatorName = "FrChImp";
PriceStudy = true; AddInput("Input", Inputs.Candle);
AddSeries("UpMd", DrawAs.Custom, Color.Gray);   AddSeries("LwMd", DrawAs.Custom, Color.Gray);   
AddParameter("FileName", 0);   
}
function Evaluate()
{
   
// если есть фрактал вниз
if ( (Input.Low[-3]>Input.Low[-1]) &&  (Input.Low[-2]>Input.Low[-1]) ) LwMd[-1]=Input.Low[-1];   
// если есть фрактал вверх
if ( (Input.High[-3]<Input.High[-1]) &&  (Input.High[-2]<Input.High[-1]) ) UpMd[-1]=Input.High[-1];   

LwMd[0]=LwMd[-1]; UpMd[0]=UpMd[-1];
UpMd.DrawLine(Color.Brown, Line.Dot, 1); LwMd.DrawLine(Color.Teal, Line.Dot, 1);

//if ( MaxIndex != LastBarIndex)
//{
string fn="a"; if (FileName!=0) fn=@"D:\ADirect\Buf\"+Convert.ToString(FileName)+"B.txt";
string path = fn;
using (System.IO.StreamWriter sw = System.IO.File.CreateText(path))
   {sw.WriteLine(UpMd);sw.WriteLine(LwMd);
   sw.Close(); sw.Dispose();      
   }
//LastBarIndex = CurrentIndex; //запоминаем индекс текущего бара
//}
}


на младшем ТФ считывал значения и выводил на график

Код: Выделить всё

function Initialize()
{
// Область определения параметров индикатора

// Обязательные параметры:
   IndicatorName = "FrChExp";   // Задайте название индикатора и сохраните с данным именем
   PriceStudy = true;   // Рисовать в области цены (true – да, false – нет)
   AddInput("Input", Inputs.Candle);   // Input - входной ряд (Inputs.Price) или свечи (Inputs.Candle)
   
AddSeries("P1", DrawAs.Custom, Color.Gray); AddSeries("P2", DrawAs.Custom, Color.Gray);
AddGlobalVariable("LastBarIndex", Types.Int, 0);
AddParameter("FileName", 11);
}
function Evaluate()
{ string fn="a"; if (FileName!=0) fn=@"D:\ADirect\Buf\"+Convert.ToString(FileName)+"B.txt";
string path = fn;
      using (System.IO.StreamReader sr = System.IO.File.OpenText(path))
      {   string s = "";
            s = sr.ReadLine(); P1=Convert.ToDouble(s);       s = sr.ReadLine(); P2=Convert.ToDouble(s);
         sr.Close(); sr.Dispose();
      }
 P1.DrawLine(Color.Green,Line.DashSmall, 1); P2.DrawLine(Color.Red, Line.DashSmall, 1);
}


Выглядело это так:
111.jpg