커뮤니티
오류 살펴주세요.
2010-02-04 19:08:39
591
글번호 27892
일전에 메일로 시스템오류 질문을 드린후 신속하고 친절한 답변을받고 너무도 감사하여 송구하기까지 합니다.
그래도 질문은 계속될 수 밖에 없음을 양지해주시기 바랍니다...^^;
아래 전초 부분은빼고 진입식과 청산식만 올렷습니다.
매수식과 매도식 각각에서 문법에러라며 중괄호 오류가 하나씩 뜹니다.
이리저리 맞춰봐도 잘 모르는지라...혹시나 수식의 전초부분이 필요하다면 답변받고
다시 올리겠습니다.
# 매수식================================================================================#
#수평횡보==========================================================================#
if dayindex()==0 and c[1]+1.5 > c then //시초가 종가가 갭상승하고 1.5p초과일경우 진입제한
if BWidth < 0.02 then //볼밴와이드 시그널이 기준선 0.02 미만일 경우
if{{ crossup (렌코[0],중기가중이평)
and 렌코[0] > 단기가중이평
and 단기가중이평 > 중기가중이평
and 중기가중이평 > 장기가중이평 and
crossup (저항선,지지선)
and 저항선 > 평균추세선 then
}
or
#상승횡보==========================================================================#
//추세 상승중 볼밴와이드 시그널이 기준선 0.02 미만일 경우
{ 렌코[0] >=렌코[1]+0.5
and 저항선 > 평균추세선
and 렌코[0] > 단기가중이평
and 단기가중이평[1] >= 중기가중이평[1]
and 중기가중이평[1] >= 장기가중이평[1]and
crossup (RSIV,SPercent)}}then
buy("매수",AtMarket);
# 볼밴와이드 기준선 0.02 이상일경우===================================================#
if BWidth >= 0.02 then //볼밴와이드 시그널이 기준선 0.02 이상일 경우
{if ( CrossUp(단기가중이평,중기가중이평) or CrossUp(단기가중이평,장기가중이평))
and ( CrossUp(단기가중이평,평균추세선) or
CrossUp(고가WMH,저가WML) or
CrossUp(고가WMH[1],저가WML[1]))
and 단기가중이평>중기가중이평
and 렌코[1] < 렌코[0]
then
buy("매수",AtMarket);}
#매수청산식=================================================#
if CrossDown(단기가중이평,중기가중이평) then
exitlong("매수청산",AtMarket);
#매도식======================================================#
#============================================================#
if dayindex()==0 and c[1]-1.5 < c then //시초가 종가가 갭하락하고 1.5p미만일경우 진입제한
#수평횡보==================================================================================#
if BWidth < 0.02 then //볼밴와이드 기준선이 0.02 미만일 경우
if{{ CrossDown (렌코[1],중기가중이평)
and 렌코[1] < 단기가중이평
and 단기가중이평 < 중기가중이평
and 중기가중이평 < 장기가중이평 and
CrossDown (저항선,지지선)
and 저항선 < 평균추세선
}
or
#하락횡보=============================================================================
//추세 하락중 볼밴와이드 시그널이 기준선 0.02 미만일 경우
{ (Crossdown(단기가중이평,중기가중이평) or Crossdown(단기가중이평,장기가중이평))
and ( Crossdown(단기가중이평,평균추세선) or Crossdown(고가WMH[1],저가WML[1])) and
CrossDown (단기가중이평,중기가중이평) and
CrossDown (단기가중이평,장기가중이평) and
(단기가중이평 < 중기가중이평)
and 렌코[1] > 렌코[0] }}
then
Sell("매도",AtMarket);}
# 볼밴와이드 기준선 0.02 이상일경우===================================================#
if BWidth >= 0.02 then //볼밴와이드 시그널이 기준선 0.02 이상일 경우
{if ( CrossDown(단기가중이평,중기가중이평) or CrossDown(단기가중이평,장기가중이평))
and ( CrossDown(단기가중이평,평균추세선) or
CrossDown(고가WMH,저가WML) or
CrossDown(고가WMH[1],저가WML[1]))
and 단기가중이평 < 중기가중이평
and 렌코[1] > 렌코[0]
then
Sell("매도",AtMarket);}
#매도청산=========================================#
if Crossup (단기가중이평,중기가중이평) then
exitshort("매도청산",AtMarket);
#15시04분 청산====================================#
SetStopEndofday(150400);
답변 1
예스스탁 예스스탁 답변
2010-02-05 09:29:42
안녕하세요
예스스탁입니다.
if{{ crossup (렌코[0],중기가중이평)
{}괄호는 if ~ then문 사이에는 사용되지 않습니다.
현재 if~then문 사이에 {}괄호가 사용되어 있습니다.
if~then문 사이의 조건문들의 우선순위는 모두 ()괄호만을 사용하셔야 합니다.
if {(A > B) or C} then (X)
if ((A > B) or C) then (O)
수식의 의도를 모르므로
{}괄호가 어느 부분과 연결되지는 모르겠습니다.
해당부분은 작성하신 분이 전략의 내용과 맞게
내용을 보시면서 직접 수정하셔야 할 것 같습니다.
즐거운 하루되세요
> 고릴라 님이 쓴 글입니다.
> 제목 : 오류 살펴주세요.
> 일전에 메일로 시스템오류 질문을 드린후 신속하고 친절한 답변을받고 너무도 감사하여 송구하기까지 합니다.
그래도 질문은 계속될 수 밖에 없음을 양지해주시기 바랍니다...^^;
아래 전초 부분은빼고 진입식과 청산식만 올렷습니다.
매수식과 매도식 각각에서 문법에러라며 중괄호 오류가 하나씩 뜹니다.
이리저리 맞춰봐도 잘 모르는지라...혹시나 수식의 전초부분이 필요하다면 답변받고
다시 올리겠습니다.
# 매수식================================================================================#
#수평횡보==========================================================================#
if dayindex()==0 and c[1]+1.5 > c then //시초가 종가가 갭상승하고 1.5p초과일경우 진입제한
if BWidth < 0.02 then //볼밴와이드 시그널이 기준선 0.02 미만일 경우
if{{ crossup (렌코[0],중기가중이평)
and 렌코[0] > 단기가중이평
and 단기가중이평 > 중기가중이평
and 중기가중이평 > 장기가중이평 and
crossup (저항선,지지선)
and 저항선 > 평균추세선 then
}
or
#상승횡보==========================================================================#
//추세 상승중 볼밴와이드 시그널이 기준선 0.02 미만일 경우
{ 렌코[0] >=렌코[1]+0.5
and 저항선 > 평균추세선
and 렌코[0] > 단기가중이평
and 단기가중이평[1] >= 중기가중이평[1]
and 중기가중이평[1] >= 장기가중이평[1]and
crossup (RSIV,SPercent)}}then
buy("매수",AtMarket);
# 볼밴와이드 기준선 0.02 이상일경우===================================================#
if BWidth >= 0.02 then //볼밴와이드 시그널이 기준선 0.02 이상일 경우
{if ( CrossUp(단기가중이평,중기가중이평) or CrossUp(단기가중이평,장기가중이평))
and ( CrossUp(단기가중이평,평균추세선) or
CrossUp(고가WMH,저가WML) or
CrossUp(고가WMH[1],저가WML[1]))
and 단기가중이평>중기가중이평
and 렌코[1] < 렌코[0]
then
buy("매수",AtMarket);}
#매수청산식=================================================#
if CrossDown(단기가중이평,중기가중이평) then
exitlong("매수청산",AtMarket);
#매도식======================================================#
#============================================================#
if dayindex()==0 and c[1]-1.5 < c then //시초가 종가가 갭하락하고 1.5p미만일경우 진입제한
#수평횡보==================================================================================#
if BWidth < 0.02 then //볼밴와이드 기준선이 0.02 미만일 경우
if{{ CrossDown (렌코[1],중기가중이평)
and 렌코[1] < 단기가중이평
and 단기가중이평 < 중기가중이평
and 중기가중이평 < 장기가중이평 and
CrossDown (저항선,지지선)
and 저항선 < 평균추세선
}
or
#하락횡보=============================================================================
//추세 하락중 볼밴와이드 시그널이 기준선 0.02 미만일 경우
{ (Crossdown(단기가중이평,중기가중이평) or Crossdown(단기가중이평,장기가중이평))
and ( Crossdown(단기가중이평,평균추세선) or Crossdown(고가WMH[1],저가WML[1])) and
CrossDown (단기가중이평,중기가중이평) and
CrossDown (단기가중이평,장기가중이평) and
(단기가중이평 < 중기가중이평)
and 렌코[1] > 렌코[0] }}
then
Sell("매도",AtMarket);}
# 볼밴와이드 기준선 0.02 이상일경우===================================================#
if BWidth >= 0.02 then //볼밴와이드 시그널이 기준선 0.02 이상일 경우
{if ( CrossDown(단기가중이평,중기가중이평) or CrossDown(단기가중이평,장기가중이평))
and ( CrossDown(단기가중이평,평균추세선) or
CrossDown(고가WMH,저가WML) or
CrossDown(고가WMH[1],저가WML[1]))
and 단기가중이평 < 중기가중이평
and 렌코[1] > 렌코[0]
then
Sell("매도",AtMarket);}
#매도청산=========================================#
if Crossup (단기가중이평,중기가중이평) then
exitshort("매도청산",AtMarket);
#15시04분 청산====================================#
SetStopEndofday(150400);