Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Так лучше!
Есть несколько стилей, и не надо изобретать свой. Хотя чтот значит не надо - можете делать как захочется.
Но то что вы привели это не СИ. Это помесь Си++ и C#. Тоже ... не очень. Я за такое увольнял после третьего предупреждения. :)
Читать же не привычно. Поэтому и стиль важен. Если каждый будет по своему писать то это уже не технология, я жуть.
Помница был даже пример кода на си который работал но выглядел как брикет абратодабры. Несколько раз искал его в инете, но так и не нащел. Но код смотрелся очень прикольно. :)
Добрый день а подскажите мне пожалуйста как написать в метатрейдере вот такое:
задаю
предел i=100 количество баров учавствующих в расчете где 100 это самая свежая свечка!
А=0.2 коэффициент для расчетов
Q(i)=среднее значение между (B(i),C(i))
B(3)= (clouse(1)+clouse(2)+clouse(3))/3
B(i)(от 4 - до 100) = B(i-1)+A*(clouse(i)- B(i-1)) --//т.е. В(4)=В(3)+0.2*(цена закрытия 4го бара из 100 выбранных - В(3)) т.е. кроме 3го все остальные считаются по этой формуле, далее i добавляет 1 вплоть до 100
С(98)= (clouse(100)+clouse(99)+clouse(98))/3
С(100-i)(от 4 до 100) = C(99-i)+A*(clouse(98-i)-C(99-i)) --// т.е. С(97)=С(98)+0.2*(clouse(9)-С(98)) тоже самое только наоборот - 100я свечка 99 и 98 усредняются и используются для расчета С(98) а дальше i добавляет 1 вплоть до 100 и ряд убывает вплоть до 0.
Затем то что получилось надо усреднить, но для того что бы данные усреднять их должно быть хотя бы 2 шт, (но не для екселя, я там считал), а у нас в прямом отсчете В начинается с 3го числа а С с 98, значит Q (1,2) равно С(1,2), а Q (99,100) равно В(99,100). Ряд чисел clouse(3-98), это есть среднее (В()+С())/2 .
Я не шарю в языке си так что прошу помочь, напишите пожалуйста ваши соображения по этому поводу, я не знаю как реагирует си на то что его просят усреднить массив в котором 1го слагаемого нет... ну а остальное до ума доведу, хотябы отдельно формулы помогите эти составить правильно В(3) и С(98) не обязательно должны быть названны этой переменной, думаю конфликт будет как вам удобно так и напишите пожалуйста, буду признателен!
прикрепляю снимок из екселя с формулами так они выгладят, выделен ряд i, B, С, Q...
Добрый день а подскажите мне пожалуйста как написать в метатрейдере вот такое:
задаю
предел i=100 количество баров учавствующих в расчете где 100 это самая свежая свечка!
А=0.2 коэффициент для расчетов
Q(i)=среднее значение между (B(i),C(i))
B(3)= (clouse(1)+clouse(2)+clouse(3))/3
B(i)(от 4 - до 100) = B(i-1)+A*(clouse(i)- B(i-1)) --//т.е. В(4)=В(3)+0.2*(цена закрытия 4го бара из 100 выбранных - В(3)) т.е. кроме 3го все остальные считаются по этой формуле, далее i добавляет 1 вплоть до 100
С(98)= (clouse(100)+clouse(99)+clouse(98))/3
С(100-i)(от 4 до 100) = C(99-i)+A*(clouse(98-i)-C(99-i)) --// т.е. С(97)=С(98)+0.2*(clouse(9)-С(98)) тоже самое только наоборот - 100я свечка 99 и 98 усредняются и используются для расчета С(98) а дальше i добавляет 1 вплоть до 100 и ряд убывает вплоть до 0.
Затем то что получилось надо усреднить, но для того что бы данные усреднять их должно быть хотя бы 2 шт, (но не для екселя, я там считал), а у нас в прямом отсчете В начинается с 3го числа а С с 98, значит Q (1,2) равно С(1,2), а Q (99,100) равно В(99,100). Ряд чисел clouse(3-98), это есть среднее (В()+С())/2 .
Я не шарю в языке си так что прошу помочь, напишите пожалуйста ваши соображения по этому поводу, я не знаю как реагирует си на то что его просят усреднить массив в котором 1го слагаемого нет... ну а остальное до ума доведу, хотябы отдельно формулы помогите эти составить правильно В(3) и С(98) не обязательно должны быть названны этой переменной, думаю конфликт будет как вам удобно так и напишите пожалуйста, буду признателен!
прикрепляю снимок из екселя с формулами так они выгладят, выделен ряд i, B, С, Q...
Самая свежая свеча с индексом 0.
Самая свежая свеча с индексом 0.
Спасибо, хороший совет, хорошее начало - но прошу помощи немного по более... на базе математики понимаю немного, но вот логику с++ незнаю как оно устроено
Посмотри функцию CopyClose. Если объявить массив и скопировать туда необходимые значения, можно обрабатывать этот массив по правилам математики.
хорошо попробую, спасибо, а зачем пишут в в коде i++ это типо шаг изменения i добавляется 2каждый раз??
Не 2, а всего 1
i++ равнозначно i = i+1 равнозначно i += 1
Почитай документацию, просто как справочник, много интересного, что можно использовать в работе, можно найти там.
Подскажите пожалуйста - я переделал один из имеющихся индикаторов:
1.почему он у меня не выводит на экран ничего?
2. 0 это самая свежая свеча, а как задать самую старую автоматически чтобы он брал, вообще я пытался ограничиться 100 свечек по этому в коде у меня так и написано массив с операциями над 100 свечами... как сделать так что бы расчет мой выводился на эти 100 свечек начиная с первой? выводится всё кривой линией.
файл прилагаю! Благодарю за сотрудничество!)
потыкав ещё несколько часов я пришел к выводу что у меня не правильно задан и использован дополнительный массив. Я хочу ввести новый амссив, например d[], для чего я ставлю запятую и его добовляю в коде программы:
.
.input int InpMomPeriod=2; // Momentum Period
//--- buffers
double ExtMomBuffer[], d[];
.
.
После чего у меня вообще пропадает вывод на экран графика...
я пытался формулу просто впечатать в алгоритм "Момента" (так называется индикатор который я переделывал) НО мне этого не удается просто по тому, что мне необходим промежуточный массив для вычислений!!! а я его не могу объявить в начале... Помогите люди добрые!!)