커뮤니티
질문 드립니다.
2014-01-28 07:36:34
160
글번호 71949
운영자님 불철 주야 수고 많어십니다.
아래 청산식을 사용자함수로 만들어
각기 다른 진입별로 사용하고자 합니다.
사용자 함수로 변환해주기고 시스템식에서 사용시 팁도 알려주시면 고맙겠습니다
input: MaxShootUpAngle(85), AngleWeight(0.029), SwingStrength(2),각하봉(5),각상봉(4);
var : ShootUpAngle(0), // 상승각도
PrevLowTime(0), //전 저점 시간
PrevLow(0),//전 저점 가격
ReadyTofall(False), //급등시 하락 반전 조건
X1(0),X2(0), //X좌표(시간)
Y1(0),Y2(0), //Y좌표(가격)
ShootDnAngle(0), // 상승각도
PrevhighTime(0), //전 저점 시간
Prevhigh(0),//전 저점 가격
ReadyToUp(False), //급등시 하락 반전 조건
SX1(0),SX2(0), //X좌표(시간)
SY1(0),SY2(0); //Y좌표(가격)
If SwingLowBar(1,Low, SwingStrength, SwingStrength, SwingStrength*2+1)==SwingStrength then{
PrevLow=Low[SwingStrength];
PrevLowTime=sTime[SwingStrength];
}
X1=1;
X2=1+(TimeToMinutes(Time)-TimeToMinutes(PrevLowTime))*AngleWeight;
Y1=PrevLow;
Y2=Close;
If (Y2-Y1)<>0 and (X2-X1)<>0 Then
ShootupAngle =ArcTangent((Y2-Y1)/(X2-X1))*180/3.14;
ReadyToFall=False;
If ShootUpAngle>MaxShootUpAngle Then ReadyToFall=True;
If ReadyToFall and Marketposition==1 Then
ExitLong("급각수청", AtStop,Lowest(Low,각하봉));
If SwingHighBar(1,High, SwingStrength, SwingStrength, SwingStrength*2+1)==SwingStrength then{
Prevhigh=high[SwingStrength];
PrevhighTime=sTime[SwingStrength];
}
SX1=1;
SX2=1+(TimeToMinutes(Time)-TimeToMinutes(PrevhighTime))*AngleWeight;
SY1=Prevhigh;
SY2=Close;
If (SY2-SY1)<>0 and (SX2-SX1)<>0 Then
ShootDnAngle =ArcTangent((SY2-SY1)/(SX2-SX1))*180/3.14;
ReadyToUp=False;
If ShootDnAngle<-MaxShootUpAngle Then ReadyToUp=True;
If ReadyToUp and Marketposition==-1 Then
ExitShort("급각도청", AtStop,Highest(High,각상봉));
답변 1
예스스탁 예스스탁 답변
2014-01-28 09:39:11
안녕하세요
예스스탁입니다.
아래 2개 사용자함수 만드셔서 사용하시면 됩니다.
1.
사용자함수명 : ReadyToUp
반환값형 : 논리형
사용자 함수식 :
input: MaxShootUpAngle(Numeric), AngleWeight(Numeric), SwingStrength(Numeric),각하봉(Numeric),각상봉(Numeric);
var : ShootUpAngle(0), // 상승각도
PrevLowTime(0), //전 저점 시간
PrevLow(0),//전 저점 가격
ReadyTofallfall(False), //급등시 하락 반전 조건
X1(0),X2(0), //X좌표(시간)
Y1(0),Y2(0), //Y좌표(가격)
ShootDnAngle(0), // 상승각도
PrevhighTime(0), //전 저점 시간
Prevhigh(0),//전 저점 가격
ReadyToUpUp(False), //급등시 하락 반전 조건
SX1(0),SX2(0), //X좌표(시간)
SY1(0),SY2(0); //Y좌표(가격)
If SwingLowBar(1,Low, SwingStrength, SwingStrength, SwingStrength*2+1)==SwingStrength then{
PrevLow=Low[SwingStrength];
PrevLowTime=sTime[SwingStrength];
}
X1=1;
X2=1+(TimeToMinutes(Time)-TimeToMinutes(PrevLowTime))*AngleWeight;
Y1=PrevLow;
Y2=Close;
If (Y2-Y1)<>0 and (X2-X1)<>0 Then
ShootupAngle =ArcTangent((Y2-Y1)/(X2-X1))*180/3.14;
ReadyTofallfall=False;
If ShootUpAngle>MaxShootUpAngle Then ReadyTofallfall=True;
If SwingHighBar(1,High, SwingStrength, SwingStrength, SwingStrength*2+1)==SwingStrength then{
Prevhigh=high[SwingStrength];
PrevhighTime=sTime[SwingStrength];
}
SX1=1;
SX2=1+(TimeToMinutes(Time)-TimeToMinutes(PrevhighTime))*AngleWeight;
SY1=Prevhigh;
SY2=Close;
If (SY2-SY1)<>0 and (SX2-SX1)<>0 Then
ShootDnAngle =ArcTangent((SY2-SY1)/(SX2-SX1))*180/3.14;
ReadyToUpUp=False;
If ShootDnAngle<-MaxShootUpAngle Then ReadyToUpUp=True;
ReadyToUp = ReadyToUpUp;
2.
사용자함수명 : ReadyToFall
반환값형 : 논리형
사용자 함수식 :
input: MaxShootUpAngle(Numeric), AngleWeight(Numeric), SwingStrength(Numeric),각하봉(Numeric),각상봉(Numeric);
var : ShootUpAngle(0), // 상승각도
PrevLowTime(0), //전 저점 시간
PrevLow(0),//전 저점 가격
ReadyTofallfall(False), //급등시 하락 반전 조건
X1(0),X2(0), //X좌표(시간)
Y1(0),Y2(0), //Y좌표(가격)
ShootDnAngle(0), // 상승각도
PrevhighTime(0), //전 저점 시간
Prevhigh(0),//전 저점 가격
ReadyToUpUp(False), //급등시 하락 반전 조건
SX1(0),SX2(0), //X좌표(시간)
SY1(0),SY2(0); //Y좌표(가격)
If SwingLowBar(1,Low, SwingStrength, SwingStrength, SwingStrength*2+1)==SwingStrength then{
PrevLow=Low[SwingStrength];
PrevLowTime=sTime[SwingStrength];
}
X1=1;
X2=1+(TimeToMinutes(Time)-TimeToMinutes(PrevLowTime))*AngleWeight;
Y1=PrevLow;
Y2=Close;
If (Y2-Y1)<>0 and (X2-X1)<>0 Then
ShootupAngle =ArcTangent((Y2-Y1)/(X2-X1))*180/3.14;
ReadyTofallfall=False;
If ShootUpAngle>MaxShootUpAngle Then ReadyTofallfall=True;
If SwingHighBar(1,High, SwingStrength, SwingStrength, SwingStrength*2+1)==SwingStrength then{
Prevhigh=high[SwingStrength];
PrevhighTime=sTime[SwingStrength];
}
SX1=1;
SX2=1+(TimeToMinutes(Time)-TimeToMinutes(PrevhighTime))*AngleWeight;
SY1=Prevhigh;
SY2=Close;
If (SY2-SY1)<>0 and (SX2-SX1)<>0 Then
ShootDnAngle =ArcTangent((SY2-SY1)/(SX2-SX1))*180/3.14;
ReadyToUpUp=False;
If ShootDnAngle<-MaxShootUpAngle Then ReadyToUpUp=True;
ReadyTofall = ReadyTofallfall;
3.
시스템식에서는 아래와 같이 작성해 사용하시면 됩니다.
input: MaxShootUpAngle(85), AngleWeight(0.029), SwingStrength(2),각하봉(5),각상봉(4);
If ReadyToFall(MaxShootUpAngle,AngleWeight,SwingStrength,각하봉,각상봉) == true and Marketposition==1 Then
ExitLong("급각수청", AtStop,Lowest(Low,각하봉));
If ReadyToUp(MaxShootUpAngle,AngleWeight,SwingStrength,각하봉,각상봉) == true and Marketposition==-1 Then
ExitShort("급각도청", AtStop,Highest(High,각상봉));
즐거운 하루되세요
> 자아준 님이 쓴 글입니다.
> 제목 : 질문 드립니다.
> 운영자님 불철 주야 수고 많어십니다.
아래 청산식을 사용자함수로 만들어
각기 다른 진입별로 사용하고자 합니다.
사용자 함수로 변환해주기고 시스템식에서 사용시 팁도 알려주시면 고맙겠습니다
input: MaxShootUpAngle(85), AngleWeight(0.029), SwingStrength(2),각하봉(5),각상봉(4);
var : ShootUpAngle(0), // 상승각도
PrevLowTime(0), //전 저점 시간
PrevLow(0),//전 저점 가격
ReadyTofall(False), //급등시 하락 반전 조건
X1(0),X2(0), //X좌표(시간)
Y1(0),Y2(0), //Y좌표(가격)
ShootDnAngle(0), // 상승각도
PrevhighTime(0), //전 저점 시간
Prevhigh(0),//전 저점 가격
ReadyToUp(False), //급등시 하락 반전 조건
SX1(0),SX2(0), //X좌표(시간)
SY1(0),SY2(0); //Y좌표(가격)
If SwingLowBar(1,Low, SwingStrength, SwingStrength, SwingStrength*2+1)==SwingStrength then{
PrevLow=Low[SwingStrength];
PrevLowTime=sTime[SwingStrength];
}
X1=1;
X2=1+(TimeToMinutes(Time)-TimeToMinutes(PrevLowTime))*AngleWeight;
Y1=PrevLow;
Y2=Close;
If (Y2-Y1)<>0 and (X2-X1)<>0 Then
ShootupAngle =ArcTangent((Y2-Y1)/(X2-X1))*180/3.14;
ReadyToFall=False;
If ShootUpAngle>MaxShootUpAngle Then ReadyToFall=True;
If ReadyToFall and Marketposition==1 Then
ExitLong("급각수청", AtStop,Lowest(Low,각하봉));
If SwingHighBar(1,High, SwingStrength, SwingStrength, SwingStrength*2+1)==SwingStrength then{
Prevhigh=high[SwingStrength];
PrevhighTime=sTime[SwingStrength];
}
SX1=1;
SX2=1+(TimeToMinutes(Time)-TimeToMinutes(PrevhighTime))*AngleWeight;
SY1=Prevhigh;
SY2=Close;
If (SY2-SY1)<>0 and (SX2-SX1)<>0 Then
ShootDnAngle =ArcTangent((SY2-SY1)/(SX2-SX1))*180/3.14;
ReadyToUp=False;
If ShootDnAngle<-MaxShootUpAngle Then ReadyToUp=True;
If ReadyToUp and Marketposition==-1 Then
ExitShort("급각도청", AtStop,Highest(High,각상봉));
다음글
이전글