Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Ask how to write such indicators Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Авг 08, 2013 7:18 pm Ответить с цитатой Вернуться к началу

sorry
Код:
if (H [I]> PA1 OR L [i] <PS1)

for this bar

for NEXT
Код:
 if(H[i-1] > PA1[i-2])

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



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

СообщениеДобавлено: Пт Авг 09, 2013 5:02 am Ответить с цитатой Вернуться к началу

000 писал(а):
sorry
Код:
if (H [I]> PA1 OR L [i] <PS1)

for this bar

for NEXT
Код:
 if(H[i-1] > PA1[i-2])


Trouble you again ,

Will be tried and found PA1, PS1 into a 0 value , do not know what wrong.

SetBarsRequired(sbrAll, 0);
TR = Max(Max((High - Low), abs(Ref(Close, -1) - High)), abs(Ref(Close, -1) - Low));
PA = L + TR * 8;
PS = H - TR * 8;

PA1[1] = PA[1];
PS1[1] = PS[1];


for(i = 2; i < BarCount - 1; i++) {
if(H[i-1] > PA1[i-2]) {
PA1[i] = PA[i];
PS1[i] = PS[i];

}
else if(L[i-1] < PS1[i-2]) {
PS1[i] = PS[i];
PA1[i] = PA[i];

}
else {
PA1[i] = PA1[i-1];
PS1[i] = PS1[i-1];

}
}
Plot(C, "", colorBlack, styleCandle);
Plot(PA1, "PA1", colorRed);
Plot(PS1, "PS1", colorBlue);

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



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

СообщениеДобавлено: Пт Авг 09, 2013 1:46 pm Ответить с цитатой Вернуться к началу

Kreangast писал(а):
000 писал(а):
sorry
Код:
if (H [I]> PA1 OR L [i] <PS1)

for this bar

for NEXT
Код:
 if(H[i-1] > PA1[i-2])


Trouble you again ,

Will be tried and found PA1, PS1 into a 0 value , do not know what wrong.

SetBarsRequired(sbrAll, 0);
TR = Max(Max((High - Low), abs(Ref(Close, -1) - High)), abs(Ref(Close, -1) - Low));
PA = L + TR * 8;
PS = H - TR * 8;

PA1[1] = PA[1];
PS1[1] = PS[1];


for(i = 2; i < BarCount - 1; i++) {
if(H[i-1] > PA1[i-2]) {
PA1[i] = PA[i];
PS1[i] = PS[i];

}
else if(L[i-1] < PS1[i-2]) {
PS1[i] = PS[i];
PA1[i] = PA[i];

}
else {
PA1[i] = PA1[i-1];
PS1[i] = PS1[i-1];

}
}
Plot(C, "", colorBlack, styleCandle);
Plot(PA1, "PA1", colorRed);
Plot(PS1, "PS1", colorBlue);




PS1 The value of 0 errors
Please help to solve this problem
Thank you

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



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

СообщениеДобавлено: Пт Авг 09, 2013 1:47 pm Ответить с цитатой Вернуться к началу

Kreangast писал(а):
000 писал(а):
sorry
Код:
if (H [I]> PA1 OR L [i] <PS1)

for this bar

for NEXT
Код:
 if(H[i-1] > PA1[i-2])


Trouble you again ,

Will be tried and found PA1, PS1 into a 0 value , do not know what wrong.

SetBarsRequired(sbrAll, 0);
TR = Max(Max((High - Low), abs(Ref(Close, -1) - High)), abs(Ref(Close, -1) - Low));
PA = L + TR * 8;
PS = H - TR * 8;

PA1[1] = PA[1];
PS1[1] = PS[1];


for(i = 2; i < BarCount - 1; i++) {
if(H[i-1] > PA1[i-2]) {
PA1[i] = PA[i];
PS1[i] = PS[i];

}
else if(L[i-1] < PS1[i-2]) {
PS1[i] = PS[i];
PA1[i] = PA[i];

}
else {
PA1[i] = PA1[i-1];
PS1[i] = PS1[i-1];

}
}
Plot(C, "", colorBlack, styleCandle);
Plot(PA1, "PA1", colorRed);
Plot(PS1, "PS1", colorBlue);




PS1 The value of 0 errors
Please help to solve this problem
Thank you

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



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

СообщениеДобавлено: Пт Авг 09, 2013 4:13 pm Ответить с цитатой Вернуться к началу

Kreangast писал(а):
Kreangast писал(а):
000 писал(а):
sorry
Код:
if (H [I]> PA1 OR L [i] <PS1)

for this bar

for NEXT
Код:
 if(H[i-1] > PA1[i-2])


Trouble you again ,

Will be tried and found PA1, PS1 into a 0 value , do not know what wrong.

SetBarsRequired(sbrAll, 0);
TR = Max(Max((High - Low), abs(Ref(Close, -1) - High)), abs(Ref(Close, -1) - Low));
PA = L + TR * 8;
PS = H - TR * 8;

PA1[1] = PA[1];
PS1[1] = PS[1];


for(i = 2; i < BarCount - 1; i++) {
if(H[i-1] > PA1[i-2]) {
PA1[i] = PA[i];
PS1[i] = PS[i];

}
else if(L[i-1] < PS1[i-2]) {
PS1[i] = PS[i];
PA1[i] = PA[i];

}
else {
PA1[i] = PA1[i-1];
PS1[i] = PS1[i-1];

}
}
Plot(C, "", colorBlack, styleCandle);
Plot(PA1, "PA1", colorRed);
Plot(PS1, "PS1", colorBlue);



Hi Олег

I have two questions

1)PA1 PS1 The value of 0 errors
Please help to solve this problem
Thank you

2)
if (H[i]>=H[i-1]);{
PA1[i] = PA[i];
PS1[i] = PS[i];
}
if(L[i]<=L[i-1]);{
PA1[i] = PA[i];
PS1[i] = PS[i];
}
Please add the above conditional statement alright.
Thank you very much.

_________________
Beginner
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Авг 10, 2013 3:51 pm Ответить с цитатой Вернуться к началу

???
Код:

SetBarsRequired(sbrAll, 0);
TR = Max(Max((High - Low), abs(Ref(Close, -1) - High)), abs(Ref(Close, -1) - Low));
PA = L + TR * 8;
PS = H - TR * 8;

PA1 = PA;
PS1 = PS;

for(i = 2; i < BarCount; i++) {
 if(H[i-1] > PA1[i-2]) {
  PA1[i] = PA[i];
  PS1[i] = PS[i];
 }
 else if(L[i-1] < PS1[i-2]) {
  PS1[i] = PS[i];
  PA1[i] = PA[i];
 }
 else {
  PA1[i] = PA1[i-1];
  PS1[i] = PS1[i-1];
 }
}

Plot(C, "", colorBlack, styleCandle);
Plot(PA1, "PA1", colorRed);
Plot(PS1, "PS1", colorBlue);

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



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

СообщениеДобавлено: Сб Авг 10, 2013 4:39 pm Ответить с цитатой Вернуться к началу

Thank you very much Oleg following two questions please help

1)
The 1M cycles found with 5M cycle PA1, PS1 are {EMPTY}, how to solve this problem .

TimeFrameSet(5*in1Minute);
...
...

TimeFrameRestore();

_PA5= TimeFrameExpand(PA1,5*in1Minute);
_PS5= TimeFrameExpand(PS1,5*in1Minute);


Plot(_PA5, "PA5", colorGreen);
Plot(_PS5, "PS5", colorBlack);


2)
The second question Add a judgment statement。
//When the highest price greater than the previous highest price and less than PA1 when fetching the highest price to calculate the current。
if (H[i]>=H[i-1]);{
PA1[i] = PA[i];
PS1[i] = PS[i];
}
//When the price less than the previous price and greater than PS1 , take the current price to calculate
if(L[i]<=L[i-1]);{
PA1[i] = PA[i];
PS1[i] = PS[i];
}

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



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

СообщениеДобавлено: Пн Авг 12, 2013 2:57 pm Ответить с цитатой Вернуться к началу

Please Oleg solve the above problems , thank you.

Smile
Figure
[IMG]http://p13.freep.cn/p.aspx?u=v20_p13_photo_1308122216516235_0.jpg[/IMG][/url]

_________________
Beginner
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Авг 12, 2013 10:34 pm Ответить с цитатой Вернуться к началу

1.
Код:

SetBarsRequired(sbrAll, 0);

TimeFrameSet(5*in1Minute);
  TR = Max(Max((High - Low), abs(Ref(Close, -1) - High)), abs(Ref(Close, -1) - Low));
  PA = L + TR * 8;
  PS = H - TR * 8;

  PA1 = PA;
  PS1 = PS;

  for(i = BarCount - 10000; i < BarCount; i++) {
   if(H[i-1] > PA1[i-2]) {
    PA1[i] = PA[i];
    PS1[i] = PS[i];
   }
   else if(L[i-1] < PS1[i-2]) {
    PS1[i] = PS[i];
    PA1[i] = PA[i];
   }
   else {
    PA1[i] = PA1[i-1];
    PS1[i] = PS1[i-1];
   }
}
TimeFrameRestore();

_PA5= TimeFrameExpand(PA1,5*in1Minute);
_PS5= TimeFrameExpand(PS1,5*in1Minute);

Plot(C, "", colorBlack, styleCandle);
Plot(_PA5, "PA5", colorGreen);
Plot(_PS5, "PS5", colorBlack);

in string for(i = BarCount - 10000; i < BarCount; i++) {
change 10000 - 5000 - 1000..

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


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

СообщениеДобавлено: Пн Авг 12, 2013 10:37 pm Ответить с цитатой Вернуться к началу

second question I have not understood

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



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

СообщениеДобавлено: Вт Авг 13, 2013 3:03 am Ответить с цитатой Вернуться к началу

000 писал(а):
second question I have not understood


Thank you very much Oleg
The second problem is,

High > Ref (H, -1) and <PA1;
PS1 = PS(H - TR * Cool;
Low < Ref (L,-1) and > PS1;
PA1 = PA(L + TR * Cool;

This is my idea , please help.

_________________
Beginner

Последний раз редактировалось: Kreangast (Вт Авг 13, 2013 8:08 am), всего редактировалось 1 раз
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Авг 13, 2013 8:04 am Ответить с цитатой Вернуться к началу

High > Ref (H, -1) and High < PA1
then
PS1 = H - TR * 8;
else
????

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



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

СообщениеДобавлено: Вт Авг 13, 2013 8:09 am Ответить с цитатой Вернуться к началу

This is my idea , please help.[/quote]
for(i = 2; i < BarCount; i++) {
if(H[i-1] > PA1[i-2]) {
PA1[i] = PA[i];
PS1[i] = PS[i];
}
else if(L[i-1] < PS1[i-2]) {
PS1[i] = PS[i];
PA1[i] = PA[i];
}
else {

if(H[i] > Ref (H[i], -1)){ ;
PS[i] =PS1[i] ;//PS=(H - 8*TR);
}
else
if(Low[i] < Ref (L[i],-1)){
PA[i] = PA[i];//PA=(L+ 8*TR );
}

PA1[i] = PA1[i-1];
PS1[i] = PS1[i-1];
}
}
Please look at this idea ,Because highs not exceed PA1, but his PS1=H-TR * 8 at a price calculated is changing.
Please there is no better solution. Thank you very much.
http://p13.freep.cn/p.aspx?u=v20_p13_photo_1308122216516235_0.jpg&click=1

_________________
Beginner

Последний раз редактировалось: Kreangast (Вт Авг 13, 2013 8:49 am), всего редактировалось 2 раз(а)
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вт Авг 13, 2013 8:45 am Ответить с цитатой Вернуться к началу

Код:

if(H[i-1] > PA1[i-2]) {
 PA1[i] = PA[i];
 PS1[i] = PS[i];
}
else if(L[i-1] < PS1[i-2]) {
 PS1[i] = PS[i];   // Same in previous condition. Why?
 PA1[i] = PA[i];   // Same in previous condition. Why?
}
else {
 if(H[i] > Ref (H[i], -1)){ ;
 PS[i] =PS1[i] ;   // in previous condition PS1[i] = PS[i]. So can not be
}
else if(Low[i] < Ref (L[i],-1)) {
 PA[i] = PA[i];    //?????????????????????????????
}

PA1[i] = PA1[i-1];
PS1[i] = PS1[i-1];


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



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

СообщениеДобавлено: Вт Авг 13, 2013 9:03 am Ответить с цитатой Вернуться к началу

Sorry, I did not clearly express ideas


if(H[i-1] > PA1[i-2]) {
PA1[i] = PA[i];
PS1[i] = PS[i];
}
else if(L[i-1] < PS1[i-2]) {
PS1[i] = PS[i]; // Same in previous condition. Why?
PA1[i] = PA[i]; // Same in previous condition. Why?
}
//If the above conditions are not met . Execute the following statement.
//If H [i]> Ref (H [i], -1]) <PA1,
//PS1 = H [i] -8 * TR;
//Because the highest point on the rise , PS1 also increased with change and I like this idea right
if(H[i] > Ref (H[i], -1)){ ; //
PS[i] =PS1[i] ; // in previous condition PS1[i] = PS[i]. So can not be
}
If L [i] <Ref(L[i],-1])> PS1,
PA1 = L [i] +8 * TR;
Because the highest point on the decline , PA1 must change with the drop.
else if(Low[i] < Ref (L[i],-1)) {
PA[i] = PA[i]; //?????????????????????????????
}

_________________
Beginner
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen