Пользовательские индикаторы > FractalsMTF - отображение фракталов старшего таймфрейма на младшем

Дополнительные индикаторы от пользователей Альфа-Директ 4. Готовые решения от пользователей.
Аватара пользователя
Den
Сообщения: 377
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 17 раз
Поблагодарили: 5 раз

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

Непрочитанное сообщение Den » 24 ноя 2017, 16:08

Отлично :D

Аватара пользователя
Den
Сообщения: 377
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 17 раз
Поблагодарили: 5 раз

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

Непрочитанное сообщение Den » 27 ноя 2017, 21:04

Евгений, как ReadData читает из Н1 данные,если там пересечение было 17.11 ?

А на М5 пересечения есть.
Вложения
H1 M5.png

Аватара пользователя
evge
Администратор
Сообщения: 1812
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

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

Непрочитанное сообщение evge » 28 ноя 2017, 07:15

То что у вас графике какая-то средняя (с неизвестными мне параметрами) и то что пишет WriteData (аналогично, мне не известны ваши параметры) - это не обязательно одно и тоже, смотрите что у вас пишет в файлы WriteData.

Я упоминал о том, что если вы меняете параметры для индикаторов в WriteData, то папку DataSlot нужно будет принудительно удалить (лучше после изменения параметров), она автоматически создана будет снова и заполнена уже новыми данными по истории.
никогда такого не было и вот опять

Аватара пользователя
Den
Сообщения: 377
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 17 раз
Поблагодарили: 5 раз

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

Непрочитанное сообщение Den » 28 ноя 2017, 11:00

На М5 ваш индикатор, я его никак не менял, поэтому DataSLot1 удалять не было необходимости.

Евгений, напишите пожалуйста как вставить в WriteData и ReadDataMY.индикатор вместо EMA SMA?

Аватара пользователя
evge
Администратор
Сообщения: 1812
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

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

Непрочитанное сообщение evge » 28 ноя 2017, 11:10

Den писал(а):На М5 ваш индикатор, я его никак не менял, поэтому DataSLot1 удалять не было необходимости.


Ваши картинки не информативны. Только какие-то индикаторы с неизвестными параметрами. WriteData выяснили что не меняли параметры, но неизвестно менялся ли инструмент, ну это мною не проверялось.

Уверен, что если я повторю всё с исполнением своих же рекомендаций, то всё будет нормально.

Den писал(а):Евгений, напишите пожалуйста как вставить в WriteData и ReadDataMY.индикатор вместо EMA SMA?


Точно так же, на видео про EMA и SMA всё показано. Не понимаю в чем сложности?! Как функцию вызова индикатора написать думаю нет необходимости показывать?
никогда такого не было и вот опять

Аватара пользователя
Den
Сообщения: 377
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 17 раз
Поблагодарили: 5 раз

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

Непрочитанное сообщение Den » 28 ноя 2017, 11:38

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

WriteData


так?

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

function Initialize()
{
IndicatorName = "WriteData";   
PriceStudy = true;   
AddInput("I", Inputs.Candle);   
AddParameter("DataSlot", 0);
AddSeries("A");   
}

function Evaluate()
{

// evge 17.11.2017 http://alfadirect4.ru

// передавать в нижестоящий таймфрейм будем для примера SMA и EMA от часового таймфрейма

var lastLVal = MY.индикатор(Input, 0, 0, 0).GetLastValues ("L", 1)[0];
var lastHVal = MY.индикатор(Input, 0, 0, 0).GetLastValues ("H", 1)[0];


if (DataSlot == 0) return;

string Path = @"DataSlot" + (int)DataSlot + "\\";
System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(Path);
if (!dirInfo.Exists) dirInfo.Create();
string Ticker = Input.VirtualSecurity.Split('=')[0];
string FileName = String.Format("{0}-{1}-{2}-{3}-{4}-{5}-{6}",
Ticker, BarDate().Year, BarDate().Month, BarDate().Day, BarTime().Hours, BarTime().Minutes, BarTime().Seconds);

string URL = Path + FileName;

// данная проверка необходима т.к. не будет перезаписи данных, но при смене параметров придётся вручную удалять папку данных
if (System.IO.File.Exists(URL) && CurrentIndex != MaxIndex) return;

ClearFile(URL);
WriteLine(URL, String.Format("{0};{1};{2};{3};{4};{5};{6};{7};{8};{9}", I.Open[0], I.High[0], I.Low[0], I.Close[0], I.Volume[0], I.VolumeBid[0], I.VolumeAsk[0], I.OpenInterest[0], E[0], S[0]));

}



Аватара пользователя
evge
Администратор
Сообщения: 1812
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

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

Непрочитанное сообщение evge » 28 ноя 2017, 12:01

WriteLine(URL, String.Format("{0};{1};{2};{3};{4};{5};{6};{7};{8};{9}", I.Open[0], I.High[0], I.Low[0], I.Close[0], I.Volume[0], I.VolumeBid[0], I.VolumeAsk[0], I.OpenInterest[0], E[0], S[0]));

заменить на

WriteLine(URL, String.Format("{0};{1};{2};{3};{4};{5};{6};{7};{8};{9}", I.Open[0], I.High[0], I.Low[0], I.Close[0], I.Volume[0], I.VolumeBid[0], I.VolumeAsk[0], I.OpenInterest[0], lastLVal, lastHVal));

в видео это было

просто нужно прочитать и понять код,

в этой строке значения бара и доп значения индикаторов записываются в стрку в файл

формат сами себе придумываете и читаете его в ReadData индикаторе
никогда такого не было и вот опять

Аватара пользователя
Den
Сообщения: 377
Зарегистрирован: 09 фев 2016, 15:52
Благодарил (а): 17 раз
Поблагодарили: 5 раз

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

Непрочитанное сообщение Den » 28 ноя 2017, 13:06

Евгений, мы люди сельские, не программисты мы :) В этом индикаторе я чет вообще не разберусь

а в ReadData (читает из минутного ТФ) как его подставить? Просто у меня индикатор стрелки, а не линия

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

function Initialize()
{
IndicatorName = "ReadData_II";
PriceStudy = true;   
AddInput("I", Inputs.Candle);   

AddParameter("DataSlot", 0);

AddSeries("индикатор ?", DrawAs.Line, Color.Blue);   
AddSeries("индикатор ?", DrawAs.Line, Color.Red);   
}

function Evaluate()
{

// evge 17.11.2017 http://alfadirect4.ru

if (DataSlot == 0) return;

string Path = @"DataSlot" + (int)DataSlot + "\\";
System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(Path);
if (!dirInfo.Exists) dirInfo.Create();

// т.к. наш таймфрейм рабочий меньше чем час то передавать в поиск данных мы будем всё до часа, минуты и секунды отбросим, так мы найдем данные от часового таймфрейма

string Ticker = Input.VirtualSecurity.Split('=')[0];
string FileName = String.Format("{0}-{1}-{2}-{3}-{4}-{5}-{6}",
Ticker, BarDate().Year, BarDate().Month, BarDate().Day, BarTime().Hours, BarTime().Minutes, 0, 0);

var URL = Path + FileName;

string S = "";
if (System.IO.File.Exists(URL))
{
System.IO.StreamReader output = new System.IO.StreamReader(URL);
while (!output.EndOfStream) S += output.ReadLine();
output.Close();
}

string[] Bar = S.Split(';');

// бар найден
if (Bar.Count() > 3)
{

// необходимо считать с вышестоящего таймфрейма только EMA и SMA

индикатор ?[0] = double.Parse(Bar[8]); // индикатор ? это 8-ой элемент в списке
индикатор ?[0] = double.Parse(Bar[9]); // индикатор ?  это 9-ой элемент в списке

} // count > 3

}



Аватара пользователя
evge
Администратор
Сообщения: 1812
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

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

Непрочитанное сообщение evge » 28 ноя 2017, 13:31

Ну код не сложный, просто изучить и понять.

Без понимания будут такие вопросы постоянно, а зачем?

Подсказать я могу, но я уже не понимаю что подсказывать, вижу что не понимаете код.
никогда такого не было и вот опять

Аватара пользователя
evge
Администратор
Сообщения: 1812
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 367 раз
Контактная информация:

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

Непрочитанное сообщение evge » 28 ноя 2017, 13:35

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

string Ticker = Input.VirtualSecurity.Split('=')[0];
string FileName = String.Format("{0}-{1}-{2}-{3}-{4}-{5}-{6}",
Ticker, BarDate().Year, BarDate().Month, BarDate().Day, BarTime().Hours, BarTime().Minutes, 0);
никогда такого не было и вот опять


Вернуться в «Пользовательские индикаторы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя