Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Индикатор Ишимоку Кинко Хайо (Ichimoku Kinko Hyo) Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
Romoti



Зарегистрирован: 07.06.2008
Сообщения: 17
Откуда: Екатеринбург

СообщениеДобавлено: Чт Июн 12, 2008 10:10 pm Ответить с цитатой Вернуться к началу

Честно содрал + немного доделал , получилось вроде похоже Cool . В коде просчитываются пять линий, для дальнейшего использования + графическая отрисовка.

Код:
/* ICHIMOKU CHART */
n1 = Param("Ишимоку: период 1",9,1,200,1);
n2 = Param("Ишимоку: период 2",26,1,400,1);
n3 = Param("Ишимоку: период 3",40,1,600,1);

TenkanSen   =(HHV(H,n1)+LLV(L,n1))/2;            // Tenkan-sen (Тенкан-сен) – это среднее значение цены за первый промежуток времени (равна (high+low)/2, где high и low – максимум и минимум за период).
KijunSen    =(HHV(H,n2)+LLV(L,n2))/2;            // Kijun-sen (Киджун-сен) – это среднее значение цены за второй промежуток.
ChinkouSpan =Ref(C,n2);                          // Chinkou Span (Чикоу спен) - цена закрытия текущего бара, сдвинутая назад на величину второго временного интервала.
Cks         = Close;                             // Графический Chinkou Span, сдвиг назад засчет отрисовки.
SenkouSpanA =Ref((KijunSen+TenkanSen)/2,-n2);    // Senkou Span A (Сенкоу спен А) / Up Kumo - середина расстояния между Tenkan-sen и Kijun-sen, сдвинутое вперед на величину второго временного интервала.
SpA         =(KijunSen+TenkanSen)/2;             // Графический Senkou Span A , сдвиг вперед засчет отрисовки.
SenkouSpanB =Ref((HHV(H,n3)+LLV(L,n3))/2,-n2);   // Senkou Span B (Сенкоу спен В) / Down Kumo - среднее значение цены за третий временной интервал, сдвинутое вперед на величину второго временного интервала.
SpB         =(HHV(H,n3)+LLV(L,n3))/2;            // Графический Senkou Span B, сдвиг вперед засчет отрисовки.

//Plot (C,"Close",colorBlack,styleThick);
Plot (C,"Bars",colorBlack,styleCandle);
Plot (TenkanSen,"Tenkan-sen",colorRed);
Plot (KijunSen, "Kijun-sen", colorBlue);
Plot (Cks,"Chinkou Span",colorLime, style = styleLine,0,0,-n2);
Plot (SpA,"SenkouSpanA",colorOrange,styleDashed,0,0,n2);
Plot (SpB,"SenkouSpanB",colorViolet,styleDashed,0,0,n2);
PlotOHLC (SpA,SpA,SpB,SpB,"Cloud",IIf (SpA > SpB,colorPink,colorLavender),styleCloud, 10, 10, n2 );

_________________
Romoti.
Посмотреть профиль Отправить личное сообщение
Romoti



Зарегистрирован: 07.06.2008
Сообщения: 17
Откуда: Екатеринбург

СообщениеДобавлено: Пн Июн 16, 2008 9:33 pm Ответить с цитатой Вернуться к началу

Продолжение темы, доделал отрисовку при возникновении общеизвестных сигналы при пересечении и взаиморасположении линий + звуковые и текстовые алерты.
Код:
/* ICHIMOKU CHART */
n1 = Param("Ишимоку: период 1",9,1,200,1);
n2 = Param("Ишимоку: период 2",26,1,400,1);
n3 = Param("Ишимоку: период 3",40,1,600,1);

TenkanSen   =(HHV(H,n1)+LLV(L,n1))/2;            // Tenkan-sen (Тенкан-сен) – это среднее значение цены за первый промежуток времени (равна (high+low)/2, где high и low – максимум и минимум за период).
KijunSen    =(HHV(H,n2)+LLV(L,n2))/2;            // Kijun-sen (Киджун-сен) – это среднее значение цены за второй промежуток.
ChinkouSpan =Ref(C,-n2);                          // Chinkou Span (Чикоу спен) - цена закрытия текущего бара, сдвинутая назад на величину второго временного интервала.
Cks         = Close;                             // Графический Chinkou Span, сдвиг назад засчет отрисовки.
SenkouSpanA =Ref((KijunSen+TenkanSen)/2,-n2);    // Senkou Span A (Сенкоу спен А) / Up Kumo - середина расстояния между Tenkan-sen и Kijun-sen, сдвинутое вперед на величину второго временного интервала.
SpA         =(KijunSen+TenkanSen)/2;             // Графический Senkou Span A , сдвиг вперед засчет отрисовки.
SenkouSpanB =Ref((HHV(H,n3)+LLV(L,n3))/2,-n2);   // Senkou Span B (Сенкоу спен В) / Down Kumo - среднее значение цены за третий временной интервал, сдвинутое вперед на величину второго временного интервала.
SpB         =(HHV(H,n3)+LLV(L,n3))/2;            // Графический Senkou Span B, сдвиг вперед засчет отрисовки.



Cond1 =  Ref(Close > Max(SenkouSpanA,SenkouSpanB),-1);  //цена выше облака  -- бычье настроение
Cond2 =  Ref(Close < Min(SenkouSpanA,SenkouSpanB),-1);  //цена ниже облака  -- медвежье настроение
Cond3 =  Ref(Cross(TenkanSen,KijunSen),-1);  //пересечение Тенкан и Киджун -- сигнал на покупку
Cond4 =  Ref(Cross(KijunSen,TenkanSen),-1);  //пересечение Тенкан и Киджун -- сигнал на продажу
Cond5 =  Ref(Cross(Close,ChinkouSpan ),-1);  //пересечение Чикоу и цены
Cond6 =  Ref(Cross(ChinkouSpan ,Close),-1);  //пересечение Чикоу и цены
Cond7 =  Ref(Cross (Close , Max(SenkouSpanA,SenkouSpanB)),-1);  //цена выходит вверх из облака  -- сигнал на покупку
Cond8 =  Ref(Cross ( Min(SenkouSpanA,SenkouSpanB), Close),-1);  //цена выходит вниз  из облака  -- сигнал на продажу
Cond9 = Close > TenkanSen AND TenkanSen > KijunSen AND KijunSen > Max(SenkouSpanA,SenkouSpanB); // сигнал трех линий вверх
Cond10= Close < TenkanSen AND TenkanSen < KijunSen AND KijunSen < Min(SenkouSpanA,SenkouSpanB); // сигнал трех линий вниз
RemCond9=ExRem(Cond9,NOT Cond9);                 
RemCond10=ExRem(Cond10,NOT Cond10);

ColSenk =IIf (Cond1,colorGreen, IIf(Cond2,colorRed,colorLightGrey)); // задает цвет, если цена выше/ниже/внутри облака.
Flat  =  TenkanSen == Ref(TenkanSen,-1) OR (NOT(Cond1) AND NOT(Cond2)) ;

for( i = 0; i < BarCount; i++ ) //раскрашивает среднюю линию индикатора по взаиморасположению и направления движения TenkanSen, цены и облака.
{
   if (Flat[i])
      ColTenk[i] = colorLightGrey;
   else
   {
if (Cond1[i] AND TenkanSen[i] > TenkanSen[i-1])
     ColTenk[i] = colorGreen;
if (Cond1[i] AND TenkanSen[i] < TenkanSen[i-1])
     ColTenk[i] = colorRed;
if (Cond2[i] AND TenkanSen[i] < TenkanSen[i-1])
     ColTenk[i] = colorRed;
if (Cond2[i] AND TenkanSen[i] > TenkanSen[i-1])
     ColTenk[i] = colorGreen;
   }
}


AlertIf( Cond3 OR Cond4, "SOUND c:/WINDOWS/Media/notify.wav", "пересечение Тенкан и Киджун",0,1+2+4+8);
AlertIf( Cond5 OR Cond6, "SOUND c:/WINDOWS/Media/notify.wav", "пересечение Чикоу и цены",0,1+2+4+8);
AlertIf( Cond7 OR Cond8, "SOUND c:/WINDOWS/Media/notify.wav", "цена выходит  из облака",0,1+2+4+8);
AlertIf( RemCond9 OR RemCond10, "SOUND c:/WINDOWS/Media/notify.wav", "сигнал трех линий",0,1+2+4+8);

PlotShapes(IIf(Cond7, shapeSmallUpTriangle ,shapeNone),colorGreen,0,H,10);             
PlotShapes(IIf(Cond8, shapeSmallDownTriangle ,shapeNone),colorRed,0,L,10);
PlotShapes(IIf(Cond3, shapeHollowSmallUpTriangle,shapeNone),colorGreen,0,H,12);             
PlotShapes(IIf(Cond4, shapeHollowSmallDownTriangle ,shapeNone),colorRed,0,L,12);
PlotShapes(IIf(Cond5, shapeSmallCircle ,shapeNone),colorGreen,0,H,4);             
PlotShapes(IIf(Cond6, shapeSmallCircle + shapePositionAbove ,shapeNone),colorRed,0,L,4);
PlotShapes(IIf(RemCond9 , shapeHollowSquare ,shapeNone),colorGreen,0,H,18);             
PlotShapes(IIf(RemCond10, shapeHollowSquare + shapePositionAbove ,shapeNone),colorRed,0,L,18);

//Plot (C,"Close",colorBlack,styleThick);
Plot (C,"Bars",colorBlack,styleCandle);
Plot (TenkanSen,"Tenkan-sen",colorRed);
Plot (KijunSen, "Kijun-sen", colorBlue);
Plot (Cks,"Chinkou Span",colorLime, style = styleLine,0,0,-n2);
Plot (SpA,"SenkouSpanA",colorOrange,styleDashed,0,0,n2);
Plot (SpB,"SenkouSpanB",colorViolet,styleDashed + styleThick,0,0,n2);
PlotOHLC (SpA,SpA,SpB,SpB,"Cloud",IIf (SpA > SpB,colorPink,colorLavender),styleCloud, 10, 10, n2 );

// Горизонтальная цветная индикаторная полоса (пример).


Plot( 1, "Ribbon", ColTenk, styleOwnScale|styleArea|styleNoLabel, -2, 200 );   // индицирует флэт на TenkanSen.
Plot( 4, "Ribbon", ColSenk, styleOwnScale|styleArea|styleNoLabel, -1, 200 );   // индицирует положение цены относительно облака

_________________
Romoti.
Посмотреть профиль Отправить личное сообщение
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Ср Июн 18, 2008 3:19 pm Ответить с цитатой Вернуться к началу

Romoti писал(а):
Продолжение темы, доделал отрисовку при возникновении общеизвестных сигналы при пересечении и взаиморасположении линий + звуковые и текстовые алерты.
Код:
/* ICHIMOKU CHART */



Plot( 1, "Ribbon", ColTenk, styleOwnScale|styleArea|styleNoLabel, -2, 200 );   // индицирует флэт на TenkanSen.
Plot( 4, "Ribbon", ColSenk, styleOwnScale|styleArea|styleNoLabel, -1, 200 );   // индицирует положение цены относительно облака


Спасибо за труд, у меня был код ишимоки, но до твоего ему далеко, а с этим попробую ишимоки начать изучать. Smile

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
thekhovik



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

СообщениеДобавлено: Чт Окт 09, 2008 12:39 pm Ответить с цитатой Вернуться к началу

Romoti писал(а):
Продолжение темы, доделал отрисовку при возникновении общеизвестных сигналы при пересечении и взаиморасположении линий + звуковые и текстовые алерты.
Код:
/* ICHIMOKU CHART */
n1 = Param("Ишимоку: период 1",9,1,200,1);
n2 = Param("Ишимоку: период 2",26,1,400,1);
n3 = Param("Ишимоку: период 3",40,1,600,1);

TenkanSen   =(HHV(H,n1)+LLV(L,n1))/2;            // Tenkan-sen (Тенкан-сен) – это среднее значение цены за первый промежуток времени (равна (high+low)/2, где high и low – максимум и минимум за период).
KijunSen    =(HHV(H,n2)+LLV(L,n2))/2;            // Kijun-sen (Киджун-сен) – это среднее значение цены за второй промежуток.
ChinkouSpan =Ref(C,-n2);                          // Chinkou Span (Чикоу спен) - цена закрытия текущего бара, сдвинутая назад на величину второго временного интервала.
Cks         = Close;                             // Графический Chinkou Span, сдвиг назад засчет отрисовки.
SenkouSpanA =Ref((KijunSen+TenkanSen)/2,-n2);    // Senkou Span A (Сенкоу спен А) / Up Kumo - середина расстояния между Tenkan-sen и Kijun-sen, сдвинутое вперед на величину второго временного интервала.
SpA         =(KijunSen+TenkanSen)/2;             // Графический Senkou Span A , сдвиг вперед засчет отрисовки.
SenkouSpanB =Ref((HHV(H,n3)+LLV(L,n3))/2,-n2);   // Senkou Span B (Сенкоу спен В) / Down Kumo - среднее значение цены за третий временной интервал, сдвинутое вперед на величину второго временного интервала.
SpB         =(HHV(H,n3)+LLV(L,n3))/2;            // Графический Senkou Span B, сдвиг вперед засчет отрисовки.



Cond1 =  Ref(Close > Max(SenkouSpanA,SenkouSpanB),-1);  //цена выше облака  -- бычье настроение
Cond2 =  Ref(Close <Min> TenkanSen AND TenkanSen > KijunSen AND KijunSen > Max(SenkouSpanA,SenkouSpanB); // сигнал трех линий вверх
Cond10= Close < TenkanSen AND TenkanSen < KijunSen AND KijunSen < Min(SenkouSpanA,SenkouSpanB); // сигнал трех линий вниз
RemCond9=ExRem(Cond9,NOT Cond9);                 
RemCond10=ExRem(Cond10,NOT Cond10);

ColSenk =IIf (Cond1,colorGreen, IIf(Cond2,colorRed,colorLightGrey)); // задает цвет, если цена выше/ниже/внутри облака.
Flat  =  TenkanSen == Ref(TenkanSen,-1) OR (NOT(Cond1) AND NOT(Cond2)) ;

for( i = 0; i <BarCount> TenkanSen[i-1])
     ColTenk[i] = colorGreen;
if (Cond1[i] AND TenkanSen[i] < TenkanSen[i-1])
     ColTenk[i] = colorRed;
if (Cond2[i] AND TenkanSen[i] <TenkanSen> TenkanSen[i-1])
     ColTenk[i] = colorGreen;
   }
}


AlertIf( Cond3 OR Cond4, "SOUND c:/WINDOWS/Media/notify.wav", "пересечение Тенкан и Киджун",0,1+2+4+8);
AlertIf( Cond5 OR Cond6, "SOUND c:/WINDOWS/Media/notify.wav", "пересечение Чикоу и цены",0,1+2+4+8);
AlertIf( Cond7 OR Cond8, "SOUND c:/WINDOWS/Media/notify.wav", "цена выходит  из облака",0,1+2+4+8);
AlertIf( RemCond9 OR RemCond10, "SOUND c:/WINDOWS/Media/notify.wav", "сигнал трех линий",0,1+2+4+8);

PlotShapes(IIf(Cond7, shapeSmallUpTriangle ,shapeNone),colorGreen,0,H,10);             
PlotShapes(IIf(Cond8, shapeSmallDownTriangle ,shapeNone),colorRed,0,L,10);
PlotShapes(IIf(Cond3, shapeHollowSmallUpTriangle,shapeNone),colorGreen,0,H,12);             
PlotShapes(IIf(Cond4, shapeHollowSmallDownTriangle ,shapeNone),colorRed,0,L,12);
PlotShapes(IIf(Cond5, shapeSmallCircle ,shapeNone),colorGreen,0,H,4);             
PlotShapes(IIf(Cond6, shapeSmallCircle + shapePositionAbove ,shapeNone),colorRed,0,L,4);
PlotShapes(IIf(RemCond9 , shapeHollowSquare ,shapeNone),colorGreen,0,H,18);             
PlotShapes(IIf(RemCond10, shapeHollowSquare + shapePositionAbove ,shapeNone),colorRed,0,L,18);

//Plot (C,"Close",colorBlack,styleThick);
Plot (C,"Bars",colorBlack,styleCandle);
Plot (TenkanSen,"Tenkan-sen",colorRed);
Plot (KijunSen, "Kijun-sen", colorBlue);
Plot (Cks,"Chinkou Span",colorLime, style = styleLine,0,0,-n2);
Plot (SpA,"SenkouSpanA",colorOrange,styleDashed,0,0,n2);
Plot (SpB,"SenkouSpanB",colorViolet,styleDashed + styleThick,0,0,n2);
PlotOHLC (SpA,SpA,SpB,SpB,"Cloud",IIf (SpA > SpB,colorPink,colorLavender),styleCloud, 10, 10, n2 );

// Горизонтальная цветная индикаторная полоса (пример).


Plot( 1, "Ribbon", ColTenk, styleOwnScale|styleArea|styleNoLabel, -2, 200 );   // индицирует флэт на TenkanSen.
Plot( 4, "Ribbon", ColSenk, styleOwnScale|styleArea|styleNoLabel, -1, 200 );   // индицирует положение цены относительно облака





to Romoti, отличная работа. Спасибо!
Посмотреть профиль Отправить личное сообщение
kosbar



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

СообщениеДобавлено: Вс Мар 29, 2009 4:23 pm Ответить с цитатой Вернуться к началу

в последнем коде куча ошибок, видимо форум.
можно файлом прикрепить?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Вс Мар 29, 2009 9:49 pm Ответить с цитатой Вернуться к началу

Специально проверил. Никаких ошибок...

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



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

СообщениеДобавлено: Вт Мар 31, 2009 1:03 am Ответить с цитатой Вернуться к началу

000 писал(а):
Специально проверил. Никаких ошибок...

ну вот хотя бы тут:
Код:
Cond2 =  Ref(Close <Min> TenkanSen AND TenkanSen > KijunSen AND KijunSen > Max(SenkouSpanA,SenkouSpanB); // сигнал трех линий вверх

В этой строке Ами ругается на отсутствие скобок рядом с Min Max - ошибка синтаксиса...
Мож у меня версия старая? 5.20 Pro...
И дальше строки идут с переменными, которые не обозначены (Error 29)
Куча просто ошибок.

Зато первые два поста всё ок. Ну и ладно вобщем то... Ну его эту Ишимоку))))
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Вт Мар 31, 2009 1:08 am Ответить с цитатой Вернуться к началу

ну спробуй так

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



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

СообщениеДобавлено: Ср Апр 08, 2009 2:15 pm Ответить с цитатой Вернуться к началу

Во, а так без проблем!
Посмотреть профиль Отправить личное сообщение ICQ Number
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen