커뮤니티
다음의 CT식을 YT식으로 변환이 가능한지요?
2009-03-31 03:53:17
939
글번호 21302
수고 많으십니다.
아래는 Cybostrader수식인데 이를 YesTrader언어로 변환 부탁드립니다
감사합니다.
Set InPhase = var("InPhase",0)
Set Quadrature = var("Quadrature",0)
Set Phase = var("Phase",0)
Set DeltaPhase = var("DeltaPhase",0)
Set InstPeriod= var("InstPeriod", 0)
Set Price = Var("price",0)
Price(0) = (High+Low)/2
If CurrentBar > 5 Then '현재bar가 5개 이상이면계산
Var1 = Price - Price(6)
Var2 = Var1(3)
Var3 = .75*(Var1 - Var1(6)) + .25*(Var1(2) - Var1(4))
InPhase(0) = .33*var2 + .67*InPhase(1)
Quadrature(0) = .2*var3 + .8*Quadrature(1)
If Abs(InPhase + InPhase(1)) > 0 Then
Phase(0) = ATn(Abs((Quadrature + Quadrature(1)) / (InPhase + InPhase(1))))*180/pi
End If
If InPhase < 0 And Quadrature > 0 Then
Phase(0) = 180 - Phase
End If
If InPhase < 0 And Quadrature < 0 Then
Phase(0) = 180 + Phase
End If
If InPhase > 0 And Quadrature < 0 Then
Phase(0) = 360 - Phase
End If
DeltaPhase(0) = Phase(1) - Phase
If Phase(1) < 90 And Phase > 270 Then
DeltaPhase(0) = 360 + Phase(1) - Phase
End If
If DeltaPhase < 1 Then
DeltaPhase(0) = 1
End If
If DeltaPhase > 60 Then
Deltaphase(0) = 60
End If
InstPeriod(0) = 0
Var4 =0
For count = 0 To 40
Var4 = Var4 + DeltaPhase(count)
If Var4 > 360 And InstPeriod = 0 Then
InstPeriod(0) = count
End If
Next
If InstPeriod = 0 Then
InstPeriod(0) = InstPeriod(1)
End If
Var5 = .25 * (InstPeriod) + .75 * Var5(1)
Period = Int(Var5) 'Var5의 정수값
Trendline = 0
For count=0 To Period + 1
Trendline = Trendline + Price(count)
Next
If Period > 0 Then
Trendline = Trendline / ( Period + 2)
End If
Var11 = .33 * (Price + .5 * (Price - Price(3))) + .67 * Var11(1)
If CurrentBar < 26 Then
Trendline = Price
Value11 = Price
End If
Call Ploti1( "TR", Trendline )
Call Ploti2( "ZL" , Var11 )
End If
답변 1
예스스탁 예스스탁 답변
2009-04-01 10:47:03
안녕하세요
예스스탁입니다.
var : InPhase(0),Quadrature(0),Phase(0),DeltaPhase(0),InstPeriod(0),Price(0),count(0),Period(0),Trendline(0);
Price = (High+Low)/2 ;
If CurrentBar > 5 Then{ #'현재bar가 5개 이상이면계산
Var1 = Price - Price[6];
Var2 = Var1[3];
Var3 = 0.75*(Var1 - Var1[6]) + 0.25*(Var1[2] - Var1[4]);
InPhase = 0.33*var2 + 0.67*InPhase[1];
Quadrature = 0.2*var3 + 0.8*Quadrature[1];
If Abs(InPhase + InPhase[1]) > 0 Then{
Phase = ArcTangent(Abs((Quadrature + Quadrature[1]) / (InPhase + InPhase[1])))*180/Pie;
}
If InPhase < 0 And Quadrature > 0 Then{
Phase = 180 - Phase ;
}
If InPhase < 0 And Quadrature < 0 Then{
Phase = 180 + Phase ;
}
If InPhase > 0 And Quadrature < 0 Then{
Phase = 360 - Phase ;
}
DeltaPhase = Phase[1] - Phase ;
If Phase[1] < 90 And Phase > 270 Then{
DeltaPhase = 360 + Phase[1] - Phase ;
}
If DeltaPhase < 1 Then {
DeltaPhase = 1 ;
}
If DeltaPhase > 60 Then {
Deltaphase = 60 ;
}
InstPeriod = 0 ;
Var4 =0 ;
For count = 0 To 40{
Var4 = Var4 + DeltaPhase[count];
If Var4 > 360 And InstPeriod == 0 Then {
InstPeriod = count ;
}
}
If InstPeriod = 0 Then {
InstPeriod = InstPeriod[1];
}
Var5 = .25 * (InstPeriod) + .75 * Var5[1];
Period = Int(Var5);# 'Var5의 정수값
Trendline = 0 ;
For count=0 To Period + 1 {
Trendline = Trendline + Price[count];
}
If Period > 0 Then{
Trendline = Trendline / ( Period + 2);
}
Var11 = .33 * (Price + .5 * (Price - Price[3])) + .67 * Var11[1];
If CurrentBar < 26 Then {
Trendline = Price ;
Value11 = Price ;
}
Plot1(Trendline, "TR") ;
Plot2(Var11,"ZL") ;
}
즐거운 하루되세요
> 경복궁 님이 쓴 글입니다.
> 제목 : 다음의 CT식을 YT식으로 변환이 가능한지요?
> 수고 많으십니다.
아래는 Cybostrader수식인데 이를 YesTrader언어로 변환 부탁드립니다
감사합니다.
Set InPhase = var("InPhase",0)
Set Quadrature = var("Quadrature",0)
Set Phase = var("Phase",0)
Set DeltaPhase = var("DeltaPhase",0)
Set InstPeriod= var("InstPeriod", 0)
Set Price = Var("price",0)
Price(0) = (High+Low)/2
If CurrentBar > 5 Then '현재bar가 5개 이상이면계산
Var1 = Price - Price(6)
Var2 = Var1(3)
Var3 = .75*(Var1 - Var1(6)) + .25*(Var1(2) - Var1(4))
InPhase(0) = .33*var2 + .67*InPhase(1)
Quadrature(0) = .2*var3 + .8*Quadrature(1)
If Abs(InPhase + InPhase(1)) > 0 Then
Phase(0) = ATn(Abs((Quadrature + Quadrature(1)) / (InPhase + InPhase(1))))*180/pi
End If
If InPhase < 0 And Quadrature > 0 Then
Phase(0) = 180 - Phase
End If
If InPhase < 0 And Quadrature < 0 Then
Phase(0) = 180 + Phase
End If
If InPhase > 0 And Quadrature < 0 Then
Phase(0) = 360 - Phase
End If
DeltaPhase(0) = Phase(1) - Phase
If Phase(1) < 90 And Phase > 270 Then
DeltaPhase(0) = 360 + Phase(1) - Phase
End If
If DeltaPhase < 1 Then
DeltaPhase(0) = 1
End If
If DeltaPhase > 60 Then
Deltaphase(0) = 60
End If
InstPeriod(0) = 0
Var4 =0
For count = 0 To 40
Var4 = Var4 + DeltaPhase(count)
If Var4 > 360 And InstPeriod = 0 Then
InstPeriod(0) = count
End If
Next
If InstPeriod = 0 Then
InstPeriod(0) = InstPeriod(1)
End If
Var5 = .25 * (InstPeriod) + .75 * Var5(1)
Period = Int(Var5) 'Var5의 정수값
Trendline = 0
For count=0 To Period + 1
Trendline = Trendline + Price(count)
Next
If Period > 0 Then
Trendline = Trendline / ( Period + 2)
End If
Var11 = .33 * (Price + .5 * (Price - Price(3))) + .67 * Var11(1)
If CurrentBar < 26 Then
Trendline = Price
Value11 = Price
End If
Call Ploti1( "TR", Trendline )
Call Ploti2( "ZL" , Var11 )
End If
다음글
이전글