Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Перевод формул Метастока на язык Ами Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
Dudi



Зарегистрирован: 03.02.2010
Сообщения: 25

СообщениеДобавлено: Чт Фев 18, 2010 11:44 pm Ответить с цитатой Вернуться к началу

Есть ли в Ами аналоги Метастоковских
Security() и PREV ?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Чт Фев 18, 2010 11:50 pm Ответить с цитатой Вернуться к началу

Если я не забыл
Security() в Ами Foreign()
А вот Prev нету.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Dudi



Зарегистрирован: 03.02.2010
Сообщения: 25

СообщениеДобавлено: Пт Фев 19, 2010 12:00 am Ответить с цитатой Вернуться к началу

000 писал(а):
А вот Prev нету.


А если Prev нету, то как же поступить в таком случае:
есть индикатор который принимает значение "1" и "-1", а "0" он игнорирует, вот так(в коде Меты):

If( ИНДИКАТОР>= 1, 1, If( ИНДИКАТОР<= -1, -1, PREV ));

т.е. когда индикатор где то посередине (между 1 и -1 ) индикатор вместо возможного "0", возвращает свое последнее значение (1 или -1).

Как такую конструкцию записать в Ами ?
Посмотреть профиль Отправить личное сообщение
настырный



Зарегистрирован: 15.06.2008
Сообщения: 67

СообщениеДобавлено: Пт Фев 19, 2010 6:57 am Ответить с цитатой Вернуться к началу

Я не знаю оператора Prev в Метастоке.
Посмотрите, пожалуйста. И проверьте. Я могу заблуждаться... Wink
Код:

xx = Flip(Ind > 0 ,  Ind < 0);
yy = Flip(Ind <0> 0);
Znachenie = IIf(xx, 1, IIf(yy, -1, 0));


xx = Flip(Ind > 0 , Ind < 0);
yy = Flip(Ind <0> 0);
Znachenie = IIf(xx, 1, IIf(yy, -1, 0));


почему-то форум корежит код. выложил без code...

Во второй строчке, где уу в операторе Flip условия надо поменять местами, относительно оператора xx.
т.е. yy = Flip ( индекс меньше 0, индекс больше 0 )
Посмотреть профиль Отправить личное сообщение
Dudi



Зарегистрирован: 03.02.2010
Сообщения: 25

СообщениеДобавлено: Пт Фев 19, 2010 7:23 am Ответить с цитатой Вернуться к началу

Prev в Мете, это "Previous Value of indicator" - функция которая возвращает предыдущее значение индикатора.
Спасибо, буду пробовать.

И еще у меня вопрос, что в Ами соответствует Метавскому ValueWhen ?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пт Фев 19, 2010 8:54 am Ответить с цитатой Вернуться к началу

ValueWhen оно и в Африке ValueWhen Smile

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Dudi



Зарегистрирован: 03.02.2010
Сообщения: 25

СообщениеДобавлено: Вт Фев 23, 2010 2:18 pm Ответить с цитатой Вернуться к началу

А как в Ами вставить в код ссылку на другой индикатор ? (Аналог Метастоковской Fml("ИНДИКАТОР"))
Например чтобы рассчитать МА по значениям другого индикатора таким образом:

MA("ССЫЛКА НА ИНДИКАТОР", 10);


И еще вопросик - как сделать чтобы в окне с бумагой №1 были одни индикаторы, а в окне с бумагой №2 - другие ?
А то получается между бумагами переключаешься и индикаторы кочуют из бумаги в бумагу, потом удалил индикатор на одном графике - и они на всех графиках других бумаг удалились.. Confused
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Фев 23, 2010 7:26 pm Ответить с цитатой Вернуться к началу

Цитата:

Например чтобы рассчитать МА по значениям другого индикатора таким образом:

Да так и написать
Код:
Индикатор = БлаБлаБла;
indMA = MA(Индикатор, 10);

Если уже позарез надо вставить в свой код код другого АФЛ, то для этого есть функция #include

Цитата:

И еще вопросик - как сделать чтобы в окне с бумагой №1 были одни индикаторы, а в окне с бумагой №2 - другие ?

Никак. Сделай разный набор индикаторов на разных листах. На самом деле можно, но сложно. Smile

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Dudi



Зарегистрирован: 03.02.2010
Сообщения: 25

СообщениеДобавлено: Ср Фев 24, 2010 1:24 pm Ответить с цитатой Вернуться к началу

000 писал(а):

Например чтобы рассчитать МА по значениям другого индикатора таким образом:
Да так и написать
Код:
 Индикатор = БлаБлаБла;
indMA = MA(Индикатор, 10);

Если уже позарез надо вставить в свой код код другого АФЛ, то для этого есть функция #include

indMA = MA(Индикатор, 10);
В этом случае сама функция индикатора на том же листе должна быть ?


Тойсть прям в текст робота можно #include вставлять ?
Например так:
Код:
 Buy =  #include "C:\Program Files\AmiBroker\AFL\01.afl" ;
Sell =  #include "C:\Program Files\AmiBroker\AFL\02.afl" ;
...

А робот от этого притормаживать не будет ?
Или всетаки лучше прописывать входы и выходы в самом роботе ? Но там приличное количество кода получается..

А .afl которые вызываются #include во время работы робота надо тоже на график бросать или нет ?


Последний раз редактировалось: Dudi (Ср Фев 24, 2010 1:33 pm), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Фев 24, 2010 1:29 pm Ответить с цитатой Вернуться к началу

Лучше прописать прямо в коде робота. То, что прилично получается это ничего, но можно и так #include "C:\Program Files\AmiBroker\AFL\01.afl"
Будет или не будет тормозить зависит больше от самого кода.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
burga



Зарегистрирован: 04.09.2009
Сообщения: 23

СообщениеДобавлено: Вс Апр 18, 2010 8:42 am Ответить с цитатой Вернуться к началу

настырный писал(а):
Я не знаю оператора Prev в Метастоке.


А зачем он нужен, если все можно вытащить через массивы?
PrevC = С[NumberCurBar-1];
Посмотреть профиль Отправить личное сообщение
Mr. Foggs



Зарегистрирован: 03.07.2012
Сообщения: 5

СообщениеДобавлено: Пн Сен 03, 2012 8:36 pm Ответить с цитатой Вернуться к началу

Нужно обратиться к значению функции на прошлом баре из самой этой функции. Вот для этого надо аналог PREV в AFL.
Посмотреть профиль Отправить личное сообщение ICQ Number
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen