что-то типа
for ( int i = -1; i > -50; i -- ) { if(Ref(C,i)....) }
???
что такое МS 8 не знаю, точнее помочь не могу ;)
komposter спасибо, но это не работает (((((
А МS 8 - MetaStock 8 ))))
Помогите, очень надо!!!!!
А МS 8 - MetaStock 8 ))))
Помогите, очень надо!!!!!
komposter спасибо, но это не работает (((((
в смысле, конструкции for нет в языке? Если есть, чуть-чуть доделать, и будет работать, как миленькая ;)А МS 8 - MetaStock 8 ))))
не пользуюсь =)
Господа помогите…
Мне нужно написать формулу в МS 8
Вот её кусок:
If(C>O,((C-O)*2),0)
Мне нужно написать формулу в МS 8
Вот её кусок:
If(C>O,((C-O)*2),0)
Ты заранее ограничил круг тех кто тебе может помочь, ведь здесь знакомых с MQL гораздо больше чем тех кто знаком, и с МТ4, и с MS8. Хотя бы разъяснил что означают второй и третий параметр в условии (те что после запятых), а также назначение функции Ref (O,C я так понимаю значения опен клоз? а далее индексы баров?). Что касается второй части вопроса - то явно использование цикла тебе поможет.
наверняка как в фокс про, ексцеле если условие выполняется действие после первой запятой иначе - после второй? если правильно то будет так (приведенный код можно использовать в скрипте или советнике, для индикатора нужно будет цикл описать немного по-другому)
int cb; // от курент бар int Range; // период за который ведется расчет объявление переменной (допустим tmp) ; for(cb=0;cb<Range;cb++) { If( Ref(C,-1)>Ref(O,-1) ) { tmp=((Ref(C,-1) - Ref(O,-1))*2); } else { tmp=0; } }
если нужно хранить все 50 значений , и они будут потом использоаться , то их нужно либо в массив, либо в буфер (тоже массив), либо использовать 50 переменных, имена которых будут генерироваться и содержать индекс. Впрочем komposter написал тебе тоже самое, а я только "разжевал".
PS. если предположение насчет O,C верно, то вместо них будет так:
(C,-1) -> Close[1] (в коде вместо конкретной цифры ставишь cb) , соответственно
(O,-1) -> Open[1] ( - || -) , а с Ref придется уточнять иначе я никак ;) успехов
Ничего не понял, но всё равно всем спасибо))))))))
Попробую объяснить по другому))
Смысл формулы:
Рассматриваем дневную Японскую свеч.
If [Если] (C [закрытие] > O [открытие],[то](( C [закрытие] - O [открытие])*2),[в противном случае] 0[ничего не делать])
а,
Ref(O,-1) – цена открытия предыдущего дня, Ref(O,-2) – цена открытия два дня назад, Ref(O,-50) – цена открытия пятьдесят дней назад)))))))
Ref(С,-1) - цена закрытия предыдущего дня, и тд.))))
А в MetaStock 8 нет For :(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
Вот так!!
Попробую объяснить по другому))
Смысл формулы:
Рассматриваем дневную Японскую свеч.
If [Если] (C [закрытие] > O [открытие],[то](( C [закрытие] - O [открытие])*2),[в противном случае] 0[ничего не делать])
а,
Ref(O,-1) – цена открытия предыдущего дня, Ref(O,-2) – цена открытия два дня назад, Ref(O,-50) – цена открытия пятьдесят дней назад)))))))
Ref(С,-1) - цена закрытия предыдущего дня, и тд.))))
А в MetaStock 8 нет For :(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
Вот так!!
А в MetaStock 8 нет For :(
а while есть?) или какой-нить другой оператор цикла?И ещё не совсем понятно, что значит "ничего не делаем". А в первом случае - что делаем? Кроме подсчёта какого-то значения (C-O)*2)?
Хотя, это, наверное, специфика языка =)
Попробуй на других форумах, где есть специалисты по метастоку, а то мы тут и с МКЛ4 разобраться до конца не можем =)))
int cb; // от курент бар int Range; // период за который ведется расчет double tmp ; for(cb=0;cb<Range;cb++) { If( Close[cb]>Open[cb] ) { tmp=((Close[cb]- Open[cb] )*2); } else { tmp=0; } }
теперь осталось выяснить где это будет использоваться
И ещё не совсем понятно, что значит "ничего не делаем". А в первом случае - что делаем? Кроме подсчёта какого-то значения (C-O)*2)?
Наверняка если в эксперте, то оставляем все без изменений, а если в индикаторе, то емпти валуе пишем (предположения в моих постах оказались верными)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Мне нужно написать формулу в МS 8
Вот её кусок:
If(C>O,((C-O)*2),0)
А теперь как сделать так чтоб она считала, например за 50 дней???
А то вариант:
If(Ref(C,-1)>Ref(O,-1),((Ref(C,-1) - Ref(O,-1))*2),0)
If(Ref(C,-2)>Ref(O,-2),((Ref(C,-2) - Ref(O,-2))*2),0)
If(Ref(C,-3)>Ref(O,-3),((Ref(C,-3) - Ref(O,-3))*2),0)
………………………………………………..
………………………………………………..
If(Ref(C,-50)>Ref(O,-50),((Ref(C,-50) - Ref(O,-50))*2),0)
Слишком длинный, неудобный и места не хватает((((((
Заранее огромное спасибо!!