커뮤니티

피보나치 시간대

프로필 이미지
고성
2026-02-08 16:40:33
198
글번호 230434
답변완료

input 중에서 시작날짜와 시작시간을,  시작시간과 끝시간으로 변경.

시작시간과 끝시간으로 설정한 일정 시간대에, 현재와 같이 각선마다 하루에 한번씩만  매수신호 .

네개를 날마다 변경해야 하는 번거로움을 두개로 줄이기 위해, 시작날짜는 삭제.  끝시간은 15시 45분으로 고정.

가능하면 추가로, 고점은  dayhigh로(시작시간 이후의 dayhigh도 가능) 변경하고 싶습니다. 

저점과 시작시간,두개만 변경하면 될수있게 수정 .    감사합니다.

input : 고점(778.30),저점(767.85),시작날짜(20260205),시작시간(091000);

var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0);

var : Tcond(False);

var1 = 고점;

Var2 = 저점;

Var3 = 저점-(고점-저점)*0.587;

Var4 = 저점-(고점-저점)*0.95;

Var5 = 저점-(고점-저점)*1.537;

if Index == 1 Then

{

TL1 = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1);

TL2 = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2);

TL3 = TL_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var3);

TL4 = TL_New(sDate,sTime,var4,NextBarSdate,NextBarStime,var4);

TL5 = TL_New(sDate,sTime,var5,NextBarSdate,NextBarStime,var5);

TL_SetExtRight(TL1,true);

TL_SetExtRight(TL2,true);

TL_SetExtRight(TL3,true);

TL_SetExtRight(TL4,true);

TL_SetExtRight(TL5,true);

TL_SetColor(TL1,Red);

TL_SetColor(TL2,Gold);

TL_SetColor(TL3,Red);

TL_SetColor(TL4,Blue);

TL_SetColor(TL5,Magenta);

TL_SetSize(TL2,1);

TL_SetSize(TL5,1);

}

if sDate >= 시작날짜 and sTime >= 시작시간 Then

Tcond = true;

if Bdate != Bdate[1] Then

{

Condition1 = False;

Condition2 = False;

Condition3 = False;

}

if Tcond == true Then

{

if MarketPosition == 1 Then

{

if IsEntryName("b3") == true Then

Condition1 = true;

if IsEntryName("b4") == true Then

Condition2 = true;

if IsEntryName("b5") == true Then

Condition3 = true;

}

if Condition1 == False and L > var3 Then

Buy("b3",AtLimit,var3);

if Condition2 == False and L > var4 Then

Buy("b4",Atlimit,var4);

if Condition3 == False and L > var5 Then

Buy("b5",Atlimit,var5);

if MarketPosition == 1 and BarsSinceEntry == 1 Then

ExitLong("bx");

}

시스템
답변 5
프로필 이미지

예스스탁 예스스탁 답변

2026-02-09 13:11:54

안녕하세요 예스스탁입니다. input : 저점(767.85),시작시간(091000); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0); var : Tcond(False); var1 = DayHigh; Var2 = 저점; Var3 = 저점-(DayHigh-저점)*0.587; Var4 = 저점-(DayHigh-저점)*0.95; Var5 = 저점-(DayHigh-저점)*1.537; if Index == 1 Then { TL1 = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL3 = TL_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var3); TL4 = TL_New(sDate,sTime,var4,NextBarSdate,NextBarStime,var4); TL5 = TL_New(sDate,sTime,var5,NextBarSdate,NextBarStime,var5); TL_SetExtRight(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetColor(TL1,Red); TL_SetColor(TL2,Gold); TL_SetColor(TL3,Red); TL_SetColor(TL4,Blue); TL_SetColor(TL5,Magenta); TL_SetSize(TL2,1); TL_SetSize(TL5,1); } if (sdate != sDate[1] and sTime >= 시작시간) or (sdate == sDate[1] and sTime >= 시작시간 and sTime[1] < 시작시간) Then { Tcond = true; } if (sdate != sDate[1] and sTime >= 154500) or (sdate == sDate[1] and sTime >= 154500 and sTime[1] < 154500) Then { Tcond = False; } if Bdate != Bdate[1] Then { Condition1 = False; Condition2 = False; Condition3 = False; } if Tcond == true Then { if MarketPosition == 1 Then { if IsEntryName("b3") == true Then Condition1 = true; if IsEntryName("b4") == true Then Condition2 = true; if IsEntryName("b5") == true Then Condition3 = true; } if Condition1 == False and L > var3 Then Buy("b3",AtLimit,var3); if Condition2 == False and L > var4 Then Buy("b4",Atlimit,var4); if Condition3 == False and L > var5 Then Buy("b5",Atlimit,var5); if MarketPosition == 1 and BarsSinceEntry == 1 Then ExitLong("bx"); } 즐거운 하루되세요
프로필 이미지

고성

2026-02-09 13:25:22

dayhigh가 불일치합니다.
프로필 이미지

예스스탁 예스스탁 답변

2026-02-09 14:04:30

안녕하세요 예스스탁입니다.
dayhigh는 당일고가입니다. 기존에 고점을 input으로 지정했지만 dayhigh로 변경만 했습니다.
dayhigh값에 이상은 없습니다.
어떤 부분이 불일치하는지 모르겠습니다.
만약 의미하시는 부분이 지정한 시작시간과 끝시간 사이의 최고가이면 아래식 이용하시면 됩니다. input : 저점(767.85),시작시간(091000); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0); var : Tcond(False),hh(0); if (sdate != sDate[1] and sTime >= 시작시간) or (sdate == sDate[1] and sTime >= 시작시간 and sTime[1] < 시작시간) Then { Tcond = true; hh = h; } if (sdate != sDate[1] and sTime >= 154500) or (sdate == sDate[1] and sTime >= 154500 and sTime[1] < 154500) Then { Tcond = False; } if tcond == true and h > hh Then hh = h; var1 = hh; Var2 = 저점; Var3 = 저점-(hh-저점)*0.587; Var4 = 저점-(hh-저점)*0.95; Var5 = 저점-(hh-저점)*1.537; if Index == 1 Then { TL1 = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL3 = TL_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var3); TL4 = TL_New(sDate,sTime,var4,NextBarSdate,NextBarStime,var4); TL5 = TL_New(sDate,sTime,var5,NextBarSdate,NextBarStime,var5); TL_SetExtRight(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetColor(TL1,Red); TL_SetColor(TL2,Gold); TL_SetColor(TL3,Red); TL_SetColor(TL4,Blue); TL_SetColor(TL5,Magenta); TL_SetSize(TL2,1); TL_SetSize(TL5,1); } if Bdate != Bdate[1] Then { Condition1 = False; Condition2 = False; Condition3 = False; } if Tcond == true Then { if MarketPosition == 1 Then { if IsEntryName("b3") == true Then Condition1 = true; if IsEntryName("b4") == true Then Condition2 = true; if IsEntryName("b5") == true Then Condition3 = true; } if Condition1 == False and L > var3 Then Buy("b3",AtLimit,var3); if Condition2 == False and L > var4 Then Buy("b4",Atlimit,var4); if Condition3 == False and L > var5 Then Buy("b5",Atlimit,var5); if MarketPosition == 1 and BarsSinceEntry == 1 Then ExitLong("bx"); } 즐거운 하루되세요

프로필 이미지

고성

2026-02-09 14:24:49

나중 수식이 원하는 수식인데, 입력한 저점만 선이 보이고 나머지는 안보입니다. 전일에 신호는 보입니다.
첫 수식의 dayhigh는 최저가보다 아래에 위치. 자꾸 죄송합니다.
프로필 이미지

예스스탁 예스스탁 답변

2026-02-09 15:02:46

안녕하세요 예스스탁입니다. 당일에만 지정한 시간대의 최고가를 기준으로 표시되게 수정해 드립니다. input : 저점(767.85),시작시간(091000); var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0); var : Tcond(False),hh(0),d1(0),t1(0); if (sdate != sDate[1] and sTime >= 시작시간) or (sdate == sDate[1] and sTime >= 시작시간 and sTime[1] < 시작시간) Then { Tcond = true; d1 = sDate; t1 = sTime; hh = h; } if (sdate != sDate[1] and sTime >= 154500) or (sdate == sDate[1] and sTime >= 154500 and sTime[1] < 154500) Then { Tcond = False; } if tcond == true Then { if h > hh Then hh = h; var1 = hh; Var2 = 저점; Var3 = 저점-(hh-저점)*0.587; Var4 = 저점-(hh-저점)*0.95; Var5 = 저점-(hh-저점)*1.537; if tcond == true and tcond != tcond[1] Then { TL_Delete(TL1); TL_Delete(TL2); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL1 = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL3 = TL_New(sDate,sTime,var3,NextBarSdate,NextBarStime,var3); TL4 = TL_New(sDate,sTime,var4,NextBarSdate,NextBarStime,var4); TL5 = TL_New(sDate,sTime,var5,NextBarSdate,NextBarStime,var5); TL_SetExtRight(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetColor(TL1,Red); TL_SetColor(TL2,Gold); TL_SetColor(TL3,Red); TL_SetColor(TL4,Blue); TL_SetColor(TL5,Magenta); TL_SetSize(TL2,1); TL_SetSize(TL5,1); } Else { TL_SetBegin(TL1,d1,t1,var1); TL_SetBegin(TL2,d1,t1,var2); TL_SetBegin(TL3,d1,t1,var3); TL_SetBegin(TL4,d1,t1,var4); TL_SetBegin(TL5,d1,t1,var5); TL_SetEnd(TL1,NextBarSdate,NextBarStime,var1); TL_SetEnd(TL2,NextBarSdate,NextBarStime,var2); TL_SetEnd(TL3,NextBarSdate,NextBarStime,var3); TL_SetEnd(TL4,NextBarSdate,NextBarStime,var4); TL_SetEnd(TL5,NextBarSdate,NextBarStime,var5); } } if Bdate != Bdate[1] Then { Condition1 = False; Condition2 = False; Condition3 = False; } if Tcond == true Then { if MarketPosition == 1 Then { if IsEntryName("b3") == true Then Condition1 = true; if IsEntryName("b4") == true Then Condition2 = true; if IsEntryName("b5") == true Then Condition3 = true; } if Condition1 == False and L > var3 Then Buy("b3",AtLimit,var3); if Condition2 == False and L > var4 Then Buy("b4",Atlimit,var4); if Condition3 == False and L > var5 Then Buy("b5",Atlimit,var5); if MarketPosition == 1 and BarsSinceEntry == 1 Then ExitLong("bx"); } 즐거운 하루되세요