예스트레이더 지표값 변경 건

예스트레이더 지표값 변경 건

담운 0 959 2018.09.01 15:03
아레 수식이 예스트레이더(리딩) 지표인데요  이를  변경해서 시스템 신호로 해 주시면 감사하겠습니다.

 

1. 짙은 하늘색 선(추세선)을 시스템 신호를 작성해 주시면 감사하겠습니다

  그런데 실제로 추세선이 바로 나오지 않고 봉 4~5개 지나야 나오는데요 좀더 빨리 나오게 할 수는 없을까요?

 한 2개 정도에서 나오면 좋겠는데요....제 욕심이 너무 과한지 모르겠습니;다.

 

2. 손절은 10틱

 

3. 자동청산 20틱 이익일 때

 


Input:Period(14),Rsi변동폭(14);
Var:j(0),상승(100),하락(-100),양방향(2),추세(0),
    파동선(0),Rsi파동선(0),방향(0),RsiV(0),추세선(0);
Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),
      Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0);

RsiV = RSI(Period);

#==========================================#
# 전고점,전저점 index 증가
#==========================================#
For j = 1 To 19
{
    Rsi고Bar[j] = Rsi고Bar[j] + 1;
    Rsi저Bar[j] = Rsi저Bar[j] + 1;
    저Bar[j]    = 저Bar[j]    + 1;
    고Bar[j]    = 고Bar[j]    + 1;
}

#==========================================#
# 최근 고,저 갱신
#==========================================#
If Rsi고[0] <= RsiV || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then
{
  Rsi고[0]    = RsiV;
  Rsi고Bar[0] = 0;
}
Else
  Rsi고Bar[0] = Rsi고Bar[0] + 1;
     
If Rsi저[0] >= RsiV || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then
{
  Rsi저[0]    = RsiV;
  Rsi저Bar[0] = 0;
}
Else
  Rsi저Bar[0] = Rsi저Bar[0] + 1;

If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then
{
  고[0]    = H;
  고Bar[0] = 0;
}
Else
  고Bar[0] = 고Bar[0] + 1;
     
If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then
{
  저[0]    = L;
  저Bar[0] = 0;
}
Else
  저Bar[0] = 저Bar[0] + 1;

#==========================================#
# 추세방향 결정
#==========================================#
If Rsi저[0][1] + Rsi변동폭 > RsiV[1] &&
  Rsi저[0][1] + Rsi변동폭 <= RsiV Then 방향 = 상승;
If Rsi고[0][1] - Rsi변동폭 < RsiV[1] &&
  Rsi고[0][1] - Rsi변동폭 >= RsiV Then 방향 = 하락;

#==========================================#
# 추세변화에 따른 변곡점 처리
#==========================================#
If 방향[1] == 하락 && 방향 == 상승 Then
{
  For j = 18 DownTo 1
  {
      Rsi저[j+1]    = Rsi저[j];
      Rsi저Bar[j+1] = Rsi저Bar[j];
      저[j+1]      = 저[j];
      저Bar[j+1]    = 저Bar[j];
  }
  Rsi저[1]    = Rsi저[0];
  Rsi저Bar[1] = Rsi저Bar[0];
  Rsi파동선  = Rsi저[0];
  Rsi저[0]    = RsiV;
  Rsi저Bar[0] = 0;
  Rsi고[0]    = RsiV;
  Rsi고Bar[0] = 0;

  저[1]      = 저[0];
  저Bar[1]    = 저Bar[0];
  파동선      = 저[0];
  저[0]      = L;
  저Bar[0]    = 0;
  고[0]      = H;
  고Bar[0]    = 0;
}
Else If 방향[1] == 상승 && 방향 == 하락 Then
{
  For j = 18 DownTo 1
  {
      Rsi고[j+1]    = Rsi고[j];
      Rsi고Bar[j+1] = Rsi고Bar[j];
      고[j+1]      = 고[j];
      고Bar[j+1]    = 고Bar[j];
  }
  Rsi고[1]    = Rsi고[0];
  Rsi고Bar[1]  = Rsi고Bar[0];
  Rsi파동선    = Rsi고[0];
  Rsi고[0]    = RsiV;
  Rsi고Bar[0]  = 0;
  Rsi저[0]    = RsiV;
  Rsi저Bar[0]  = 0;

  고[1]        = 고[0];
  고Bar[1]    = 고Bar[0];
  파동선      = 고[0];
  고[0]        = H;
  고Bar[0]    = 0;
  저[0]        = L;
  저Bar[0]    = 0;
}
Else If 방향[1] == 하락 && 방향 == 하락 Then
{
  If Rsi고[1] < Rsi고[0] &&
      Rsi고[0][1] - Rsi변동폭 <= RsiV[1] &&
      Rsi고[0][1] - Rsi변동폭 > RsiV Then
  {
      Rsi고[1]    = Rsi고[0];
      Rsi고Bar[1] = Rsi고Bar[0];
      Rsi파동선  = Rsi고[0];
      Rsi고[0]    = RsiV;
      Rsi고Bar[0] = 0;
  }

  If 고[1] < 고[0] &&
      고[0] > H Then
  {
      고[1]    = 고[0];
      고Bar[1]  = 고Bar[0];
      파동선    = 고[0];
      고[0]    = H;
      고Bar[0]  = 0;
  }
}
Else If 방향[1] == 상승 && 방향 == 상승 Then
{
  If Rsi저[1] > Rsi저[0] &&
      Rsi저[0][1] + Rsi변동폭 >= RsiV[1] &&
      Rsi저[0][1] + Rsi변동폭 < RsiV Then
  {
      Rsi저[1]    = Rsi저[0];
      Rsi저Bar[1]  = Rsi저Bar[0];
      Rsi파동선    = Rsi저[0];
      Rsi저[0]    = RsiV;
      Rsi저Bar[0] = 0;
  }

  If 저[1] > 저[0] &&
      저[0] < L Then
  { 
      저[1]    = 저[0];
      저Bar[1] = 저Bar[0];
      파동선  = 저[0];
      저[0]    = L;
      저Bar[0] = 0;
  }
}

#==========================================#
# 지표식 출력
#==========================================#
If Rsi파동선[1] != Rsi파동선 Then Plot1(파동선);    //적당껏 수평이동
Else If LastBaronChart == 1 Then plot1(Iff(방향 == 상승,고[0],저[0])); 

#상승 다이버전스 : 주가의 저점 하락 + 지표의 저점 상승
If 저[2] > 저[1] &&
  Rsi저[2] < Rsi저[1] Then
{
  추세선 = (저[1]-저[2])/(저Bar[2]-저Bar[1])*저Bar[2] + 저[2];
  Plot2(추세선);PlaySound("C:sell.wmv");


#하락 다이버전스 : 주가의 고점 상승 + 지표의 고점 하락
if 고[2] < 고[1] &&
  Rsi고[2] > Rsi고[1] Then
{
  추세선 = (고[1]-고[2])/(고Bar[2]-고Bar[1])*고Bar[2] + 고[2];
  Plot3(추세선);PlaySound("C:buy.wmv");


 

 

최근 여러 시스템 신호를 작성해 주셔서 감사합니다.

Comments

Total 38 Posts, Now 1 Page