Начинаю программировать в Ами - несколько глупых вопросов

  • Автор темы Morrowind
  • Дата начала

Morrowind

New member
Думаю, вопросов будет много, буду задавать по мере поступления их ко мне в голову:)
Надеюсь, знающие люди помогут.
Всем кто ответит - заранее большое спасибо.
Итак - вопрос 1.
Допустим, хочется написать простейшую систему, базовую так сказать, чтоб понять как, что и почем.
Например, RSI пересекает 30 снизу вверх - покупаем.
70 сверху вниз - продаем.
Ну, на пересечение этих уровней это я могу уже сам.
А вот как сделать, чтобы программа отслеживала пересечение для 30 снизу вверх, а для 70 наоборот, сверху вниз?
Пока выходит только так, что при прохождении уровня 70 в любом направлении поступает сигнал на продажу.
Вопрос 2.
Если немного усложнить, то как реализовать следующую мысль. Продажа происходит только тогда, когда RSI сходил, например, на уровень 75, развернулся и пересек 70, опять же сверху вниз. Ну для 30 наоборот, сходил на 25.

Подозреваю, что это все можно реализовать с помощью массива, возвращающего переменной значения RSI за какой-то период.

Еще раз - заранее спасибо за ответы.
Думаю, в любом случае последуют вопросы и 3 и 4, и дальше. Искренне надеюсь, что ответы на вопросы будут интересны не только мне:)
 

Morrowind

New member
cross(x,y) - х пересекает у снизу вверх
Спасибо, Мех!
А второй вопрос?;)
Можно кстати модернизировать вопрос.
Если RSI пересек 75 вверх, то включается тригер, который начинает отслеживать перечение 70 вниз.
Как сие реализовать?
 

asd

New member
Если RSI пересек 75 вверх, то включается тригер, который начинает отслеживать перечение 70 вниз.
Как сие реализовать?
например подключить условие
highestSince(cross(rsi(...),70),H)>=75
Только наверно вместо H надо RSI(..) подставить.
А ещё можно так: flip(cross(rsi(),75),cross(70,rsi())) - с момента пересечения вверх 75 будет возвращаться 1, а после пересечения 70 вниз - 0.
 

Morrowind

New member
Спасибо вам обоим: )
Дома попробовал, вроде работаем, ща займусь оттачиванием и подгонкой и прогонкой:)
Будут вопросы - еще напишу. Так что просьба не расслабляться:)
Пока писал - возник вопрос.
Как сравнить значение сегодняшнего Close с предыдущим, ну или в общем случае с любым Close за заданный период.
Ну вот например хочу я за 20 дней чтоб мне программа выдала минимальный Close. Это тоже какой то функцией можно или таки через цикл?
Или например если сегодня мы открылись ниже вчерашнего минимума на 0,1%, то сигнал на покупку. Ну сигнал то я сам нарисую, стрелочки уже умею:)

Пока изучаю функции, пытаюсь экспериментировать, их тут оказывается стока, очень интересно - мощный инстрУмент:)
 

mehanizator1

New member
Как сравнить значение сегодняшнего Close с предыдущим, ну или в общем случае с любым Close за заданный период.
Ref()
Ну вот например хочу я за 20 дней чтоб мне программа выдала минимальный Close. Это тоже какой то функцией можно или таки через цикл?
LLV(C,period)
Или например если сегодня мы открылись ниже вчерашнего минимума на 0,1%, то сигнал на покупку. Ну сигнал то я сам нарисую, стрелочки уже умею:)
Sell=O/ref(L,-1)<1.001
 

Morrowind

New member
Как сравнить значение сегодняшнего Close с предыдущим, ну или в общем случае с любым Close за заданный период.
Ref()
Ну вот например хочу я за 20 дней чтоб мне программа выдала минимальный Close. Это тоже какой то функцией можно или таки через цикл?
LLV(C,period)
Или например если сегодня мы открылись ниже вчерашнего минимума на 0,1%, то сигнал на покупку. Ну сигнал то я сам нарисую, стрелочки уже умею:)
Sell=O/ref(L,-1)<1.001
Мех, спасибо большое за быстроту и оперативность. У меня такое ощущение, что ты прям все мои вопросы еще на стадии моего написания получаешь. Шучу:)

хочу уточнить. В формуле "(L,-1)" "-1" - это собсвенно и есть значение чего либо запредыдущий период?
Если да, то я так понимаю его можно рименить и в любом другом случае, если фунция это позволяет. Правильно мыслю?
 

mehanizator1

New member
хочу уточнить. В формуле "(L,-1)" "-1" - это собсвенно и есть значение чего либо запредыдущий период?
Если да, то я так понимаю его можно рименить и в любом другом случае, если фунция это позволяет. Правильно мыслю?
Ref(X,-n) выдает значение массива Х которое было n баров назад
 

mehanizator1

New member
Мех, спасибо большое за быстроту и оперативность. У меня такое ощущение, что ты прям все мои вопросы еще на стадии моего написания получаешь. Шучу:)
У меня чат постоянно открыт, а там появляется сообщение, когда кто-то постит на форуме.
 

Morrowind

New member
хочу уточнить. В формуле "(L,-1)" "-1" - это собсвенно и есть значение чего либо запредыдущий период?
Если да, то я так понимаю его можно рименить и в любом другом случае, если фунция это позволяет. Правильно мыслю?
Ref(X,-n) выдает значение массива Х которое было n баров назад
Понял, значит буду смотреть подряд все функции, там их много, пока все осмыслишь и применишь...:)
 

asd

New member
Или например если сегодня мы открылись ниже вчерашнего минимума на 0,1%, то сигнал на покупку. Ну сигнал то я сам нарисую, стрелочки уже умею:)
Sell=O/ref(L,-1)<1.001
Мех, прикалывашся штоле? :) Ему-жеж покупать :)

Buy=O/ref(L,-1)<0.999
 

Morrowind

New member
Или например если сегодня мы открылись ниже вчерашнего минимума на 0,1%, то сигнал на покупку. Ну сигнал то я сам нарисую, стрелочки уже умею:)
Sell=O/ref(L,-1)<1.001
Мех, прикалывашся штоле? :) Ему-жеж покупать :)

Buy=O/ref(L,-1)<0.999
Ну может человек католическое Рождество отмечал:)
С кем не бывает:)
 

Dimus

New member
Посмотрев на Вас на всех, предпринял очереденую (со счета уже сбился какую) попытку по изучению AmiBroker. Думаю за то что задам свои вопрос в этой ветке никто меня не наругает. Вопрос: Возможно ли на кладывание индикатора с большего с тайма на меньший. Причем возможно ли, что бы это выглядело таким образом. Допустим в Metas при накладывании индикатора с большего на меньший тайм получается что фактически он не учитывает движения индикатора большего периода в нутри этого самого периода (делал через dll Косинского). Реально ли сделать что бы на меньшем тайме индикатор с большего тайма был с учетом изменений его внутри периода?
PS: Если не понятно описал, скажите, попробую выразиться яснее...
 

Dimus

New member
В случае наложения индикатора с 60m на 10 m то получается что индикатор с 60m показывает единое значение на 6-ти десятиминутках, а фактически на протяжении 6-ти десятиминуток этот индикатор изменялся. Вопрос: возможно ли в Ами что бы индикатор большего тайма расчитывался непосредственно на меньших котировках, т.е. на 10m котировках расчитывался индикатор для 60m, а не тупо накладывался на меньший тайм расчитанный на большем тайме?
 
Your email address will not be publicly visible. We will only use it to contact you to confirm your post.
Сверху