1. Момент точного совпадения двух машек существует только в непрерывном времени, которого в реальном трейдинге нет, т.к. тут оно измеряется дискретно, по мере поступления тиков. Так что у тебя шанс поймать такой момент ничтожно мал. Старайся ловить не точный момент воображаемого равенства, а временную область реального пересечения, т.е. условие должно быть типа ( ma1(1) - ma2(1) ) * ( ma1(0) - ma2(0) ) < 0.
2. Все сравнения чисел типа double рекомендуется осуществлять после их нормализации функцией NormalizeDouble() - примерно по этой же причине. Тема избитая, с бородой, поищи по имени этой функции здесь.
Пол дня бьюсь над элементарным,уже нет сил,может быть мне кто нибудь подскажет почему данный кусок кода не выписывает в журнале "rovny" когда в коментах значение двух машек совпадают
int start()
{
double ma_13_0 = iMA(Symbol(),0,13,0,MODE_SMA,PRICE_CLOSE,0);
double ma_26_0 = iMA(Symbol(),0,26,0,MODE_SMA,PRICE_CLOSE,0);
ma_13_0=NormalizeDouble(ma_13_0,4);
ma_26_0=NormalizeDouble(ma_26_0,4);
Comment("13 ma = ",ma_13_0,"\n",
"26 ma = ",ma_26_0,
);
if(ma_13_0 == ma_26_0)
Print("rovny");
return(0);
}
1. Момент точного совпадения двух машек существует только в непрерывном времени, которого в реальном трейдинге нет, т.к. тут оно измеряется дискретно, по мере поступления тиков. Так что у тебя шанс поймать такой момент ничтожно мал. Старайся ловить не точный момент воображаемого равенства, а временную область реального пересечения, т.е. условие должно быть типа ( ma1(1) - ma2(1) ) * ( ma1(0) - ma2(0) ) < 0.
2. Все сравнения чисел типа double рекомендуется осуществлять после их нормализации функцией NormalizeDouble() - примерно по этой же причине. Тема избитая, с бородой, поищи по имени этой функции здесь.
ясно,спасибо

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пол дня бьюсь над элементарным,уже нет сил,может быть мне кто нибудь подскажет почему данный кусок кода не выписывает в журнале "rovny" когда в коментах значение двух машек совпадают
int start()
{
double ma_13_0 = iMA(Symbol(),0,13,0,MODE_SMA,PRICE_CLOSE,0);
double ma_26_0 = iMA(Symbol(),0,26,0,MODE_SMA,PRICE_CLOSE,0);
NormalizeDouble(ma_13_0,4);
NormalizeDouble(ma_26_0,4);
Comment("13 ma = ",ma_13_0,"\n",
"26 ma = ",ma_26_0,
);
if(ma_13_0 == ma_26_0)
Print("rovny");
return(0);
}