Автор |
Сообщение |
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
Всех приветствую.
Наткнулся тут на занимательную статейку: http://www.quotetracker.com/help/russ_modern_trading_4_24_28.pdf
Собственно хотелось бы потестить сей индюк, возможно привнеся в него какие-либо дополнительные идеи. Однако если в Ами я ни в зуб ногой, то в Ами с циклами вообще. Не сможет ли кто-нибуль перевести код Омеги в Ами. Представлен на картинке:
[/img] |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Блин Это такой баян. Все давно сделано. На пауке давно есть. Ищи по "Конкоп"
Если сам не найдешь - пиши. Просто ща мне некогда рыться.... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
000 писал(а): |
Блин Это такой баян. Все давно сделано. На пауке давно есть. Ищи по "Конкоп"
Если сам не найдешь - пиши. Просто ща мне некогда рыться.... |
Спасибо, Олег. Нашел вот это: NRTR_WATR
Так понял, это оно. Теперь надо туда правила вставить, дабы оттестить. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
000 писал(а): |
Блин Это такой баян. Все давно сделано. На пауке давно есть. Ищи по "Конкоп"
Если сам не найдешь - пиши. Просто ща мне некогда рыться.... |
Код: |
for(i = 1; i < BarCount; i++)
{
if(Trend[i-1] == 1) //Up Trend
{
if(C[i] < NW[i-1]) // Разворот
{
Trend[i] = -1; // Разворот тренда
NW[i] = C[i] + Revers[i]; // новое значение NW
}
else // Нет разворота
{
Trend[i] = 1;
if((C[i] - Revers[i]) > NW[i-1]) // Проверка нового значения NW
{
NW[i] = C[i] - Revers[i];
}
else
{
NW[i] = NW[i-1];
}
}
}
//======================================
if(Trend[i-1] == -1) //Down Trend
{
if(C[i] > NW[i-1]) // Разворот
{
Trend[i] = 1; // Разворот тренда
NW[i] = C[i] - Revers[i]; // новое значение NW
}
else // Нет разворота, тренд вниз
{
Trend[i] = -1;
if((C[i] + Revers[i]) < NW[i-1]) // Проверка нового значения NW
{
NW[i] = C[i] + Revers[i];
}
else
{
NW[i] = NW[i-1];
}
}
}
}
|
Вроде все подписано, однако не могу понять, как внутрь цикла всунуть покупку, продажу, выходы. Не напишешь же просто в том месте, где идет разворот: sell = ... Ведь нужно какое-то условие. А условие уже прописано в самом цикле. Не подскажите, как оформить входы и выходы?
И стопы... если они будут прописаны за пределами цикла, будут ли они работать? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Цикл в итоге выдает линию NW
Собственно дальше вся работа с этой линией. Cross(C, NW); ....
Так и проще всего и на скорости работы практически не скажется.
ну и стопы отдельно в конце. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
000 писал(а): |
Цикл в итоге выдает линию NW
Собственно дальше вся работа с этой линией. Cross(C, NW); ....
Так и проще всего и на скорости работы практически не скажется.
ну и стопы отдельно в конце. |
Ага, т.е. там же внутри оператора if прописываю условие пересечение с линией, цену входа?
А условие закрытия позиции прописываю в цикле, когда проходит разворот? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Цитата: |
Ага, т.е. там же внутри оператора if прописываю условие пересечение с линией, цену входа?
А условие закрытия позиции прописываю в цикле, когда проходит разворот?
|
нет...
после цикла уже пишешь
Buy = Cover = Cross(C, NW);
Sell = Short = Cross(NW, C);
ну и т.д. |
_________________ Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает. |
|
Посмотреть профиль Отправить личное сообщение |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
Nero Wolfe писал(а): |
нет...
после цикла уже пишешь
Buy = Cover = Cross(C, NW);
Sell = Short = Cross(NW, C);
ну и т.д. |
Спасибо большое! Все заработало.
Фильтра тоже, я так понимаю, добавлять там же? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Цитата: |
Фильтра тоже, я так понимаю, добавлять там же? |
В вашем цикле формируется массив (линия) NW, вы потом уже за пределами цикла можете к ней обращаться и получать сигналы бай и селл при пересечении с ценой. Дополнительные фильтры обычно должны стоять после цикла, но перед
т.к. эти фильтры используются в условиях на покупку и продажу... |
_________________ Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает. |
|
Посмотреть профиль Отправить личное сообщение |
|
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
Nero Wolfe писал(а): |
Дополнительные фильтры обычно должны стоять после цикла, но перед
т.к. эти фильтры используются в условиях на покупку и продажу... |
Да это понятно.
Спасибо большое за разъяснения по циклам. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|