커뮤니티

다음의 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