Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У Вас в примере во всех трёх строчках стоит w1, так и должно быть?
Не, это я ошибся. Прошу прощения.
я пытаюсь понять, какую функцию будет выполнять w0, и предположил, что это какбы шаг в историю, ну как в циклах, если нет, объясните поподробнее...
Представте себе, что вам необходимо рассмотреть текстуру поверхности доски прибитой на крыше дома. Что вы будете делать? Правильно, вы залезете на крышу и внимательно, в близи, всё рассмотрите. Если подобное задание дать нашей НС, то она выполнит задание с присущей только ей ответственностью, она не полезет под самую крышу, а изучит доску вместе со всем домом, на крыше которого эта доска находится!
Вот, что бы исключить не нужной работы НС (а обучение, процесс очень ресурсоёмкий), мы вводим "лишний" вход с фиксированным смещением. Теперь смотрите: НС, в процессе обучения сама подберёт необходимый вес к этому входу (+/-1 или другой), это равносильно тому, что вы приставите к дому лестницу для того, что бы поднятся к интересующей вас доске! Теперь, НС не будет лопатить гору не нужной информации, а просто, лёгким движением займёт с помощью этого входа, удобное (в её понимании) положение, для дальнейшего комфортного обучения.
будет образована уже после открытия сделки, то есть этот вход (w6) не коим образом не может влиять на качество открытой сделки.
Если я правильно понял, то w6 введён для того, чтобы распознать в какую сторону двинулась цена после открытия сделки на отснове анализа предыдущих пяти баров (w1, w2, w3, w4, w5)?
Вход мы осуществляем по результатам анализа пяти сформировавшихся баров. Поэтому, нулевой бар использоваться как входной не будет.
Правильно так:
double w0=1.;
double w1=(High[1]-Low[1])/Point*(Close[1]-Open[1])/Point;
double w2=(High[2]-Low[2])/Point*(Close[2]-Open[2])/Point;
double w3=(High[3]-Low[3])/Point*(Close[3]-Open[3])/Point;
double w4=(High[4]-Low[4])/Point*(Close[4]-Open[4])/Point;
double w5=(High[5]-Low[5])/Point*(Close[5]-Open[5])/Point;
Введём нормировочные коэффициенты для ряда High-Low - HL и для ряда Close-Open - CO. Определим их как стандартное отклонение от соответствующих приращений с окном усреднения, например 100.
double HL=0.;
double CO=0.;
for(i=0;i<100;i++) {
HL=HL+(High[i] -Low[i] )*(High[i] -Low[i] );
CO=CO+(Close[i]-Open[i])*(Close[i]-Open[i]);
}
HL=MathSqrt(HL/100);
CO=MathSqrt(CO/100);
Ведём нормализующую функцию (отображает всю числовую ось в отрезок +/-1):
double th(double x)
{
if(MathAbs(x)<100.)S=(MathExp(x)-MathExp(-x))/(MathExp(x)+MathExp(-x));
else S=MathAbs(x)/x;
return(S);
}
Тогда нормализованные входа для НС будут считаться следующим образом:
double d0=1.;
double d1=th((High[1]-Low[1])/HL*(Close[1]-Open[1])/CO);
double d2=th((High[2]-Low[2])/HL*(Close[2]-Open[2])/CO);
double d3=th((High[3]-Low[3])/HL*(Close[3]-Open[3])/CO);
double d4=th((High[4]-Low[4])/HL*(Close[4]-Open[4])/CO);
double d5=th((High[5]-Low[5])/HL*(Close[5]-Open[5])/CO);
нормализация входа = свеча в пунктах
Neutron, ещё раз спасибо, за такое подробное объяснение.
Я с тем, что ты сейчас написал буду наверное 60 мин. разбираться, так что если не сложно загляни на эту тему через часик.
И ещё у меня есть к тебе предложение, по поводу прикручивания неросети к уже написанному советнику, если тебе интересно, как с тобой связаться, могу скинуть тебе графики с описанием алгоритма советника и описание коэффицентов для неросети.
Я, если честно, не фанат приватного общения. Если нет принципиальных ограничений, то лучше общаться тут. И ещё, я могу потерять интерес к данной теме (просто так, вдруг), поэтому не беру на себя обязательств по её обязательному ведению:-)
Договорились?
Korey, мы будем использовать "тонкую" нормализацию (когда отрезок +/-1 будет заполнен равномерно). Это принципиальный момент.
это тоже равномерно заполняет, но на краях нет загибов, т.е. древний вариант это не полное отображение в отрезок
это тоже равномерно заполняет, но на краях нет загибов, т.е. древний вариант это не полное отображение в отрезок
Да, но нам нужно всё и сразу!
Я, если честно, не фанат приватного общения. Если нет принципиальных ограничений, то лучше общаться тут. И ещё, я могу потерять интерес к данной теме (просто так, вдруг), поэтому не беру на себя обязательств по её обязательному ведению:-)
Договорились?
Договорились.