커뮤니티

문의드립니다.

프로필 이미지
카르마다
2025-05-08 14:45:36
231
글번호 190602
답변완료
var1 = (((DayHigh+DayLow)/2)+DayHigh)/2; var2 = (DayHigh+DayLow)/2; var3 = (((DayHigh+DayLow)/2)+DayLow)/2; 1. 매수 [진입] 1) var3 기준 25틱을 샹향 돌파하면 바로 매수하거나 종가상 10틱 위면 매수 2) var2 기준 25틱을 샹향 돌파하면 바로 매수하거나 종가상 10틱 위면 매수 3) var1 기준 25틱을 샹향 돌파하면 바로 매수하거나 종가상 10틱 위면 매수 이때 매수 조건은 반드시 var3, var2, var1을 "아래에서 위로 돌파해야 하고" 만일 돌파한 봉이 25틱까지 못 미치거나 종가상 10틱 위가 아니면 그 이후 수십봉이 경과되어도 해당 조건을 달성할 때까지 기다렸다가 매수신호가 나옵니다. [익절] 3)으로 매수진입후 var2 선의 10틱 바로 아래에서 익절 2)으로 매수진입후 var3 선의 10틱 바로 아래에서 익절 1)으로 매수진입후 var1와 var2 폭만큼 가상의 선을 위에 잡고 그 가상의 선의 10틱 바로 아래에서 익절 ====================================================================================== 2. 매도 [진입] 1) var3 기준 25틱을 하향 돌파하면 바로 매도하거나 종가상 10틱 아래면 매도 2) var2 기준 25틱을 하향 돌파하면 바로 매도하거나 종가상 10틱 아래면 매도 3) var1 기준 25틱을 하향 돌파하면 바로 매도하거나 종가상 10틱 아래면 매도 이때 매도 조건은 반드시 var1, var2, var3을 "위에서 아래로 돌파해야 하고" 만일 돌파한 봉이 25틱까지 못 미치거나 종가상 10틱 아래가 아니면 그 이후 수십봉이 경과되어도 해당 조건을 달성할 때까지 기다렸다가 매도신호가 나옵니다. [익절] 1)으로 매도진입후 var2 선의 10틱 바로 아래에서 익절 2)으로 매도진입후 var3 선의 10틱 바로 아래에서 익절 3)으로 매도진입후 var2와 var3 폭만큼 가상의 선을 아래에 잡고 그 가상의 선의 10틱 바로 위에서 익절 ====================================================================================== 3. 손절은 공통적으로 50틱 적용 입니다. 4. 트레일링스탑도 공통적으로 30틱 상승후 20틱 하락시 익절로 적용 부탁드립니다. (손절과 트레일링스탑을 적용하면 직전에 crossup/crossdown이 없어도 이전에 crossup/crossdown이 발생했다면 계속 적용되어 신호가 나옵니다. 이부분을 해당선을 상향 또는 하향 돌파해서 신호가 나오면 딱 1번만 crossup/crossdown이 인식, 적용되게 부탁 드립니다)
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-05-09 10:54:00

안녕하세요 예스스탁입니다. var : H2(0),H1(0),MM(0),L1(0),L2(0); var : T1(0),T2(0),T3(0); H2 = H1+(H1-MM); H1 = (((DayHigh+DayLow)/2)+DayHigh)/2; MM = (DayHigh+DayLow)/2; L1 = (((DayHigh+DayLow)/2)+DayLow)/2; L2 = L1-(MM-L1); if CrossUp(C,H1) Then { T1 = 1; Condition1 = False; } if CrossDown(C,H1) Then { T1 = -1; Condition1 = False; } if CrossUp(C,mm) Then { T2 = 1; Condition2 = False; } if CrossDown(C,mm) Then { T2 = -1; Condition2 = False; } if CrossUp(C,L1) Then { T3 = 1; Condition3 = False; } if CrossDown(C,L1) Then { T3 = -1; Condition3 = False; } if T1 == 1 Then { if Condition1 == False and H >= H1+PriceScale*25 Then Condition1 = true; if Condition1 == false Then { if C > H1+PriceScale*10 Then { Condition1 = true; Buy("H1B1"); } Buy("H1B2",AtStop,H1+PriceScale*25); } } if T1 == -1 Then { if Condition1 == False and L <= H1-PriceScale*25 Then Condition1 = true; if Condition1 == false Then { if C < H1-PriceScale*10 Then { Condition1 = true; Sell("H1S1"); } Sell("H1S2",AtStop,H1-PriceScale*25); } } if T2 == 1 Then { if Condition2 == False and H >= MM+PriceScale*25 Then Condition2 = true; if Condition2 == false Then { if C > MM+PriceScale*10 Then { Condition2 = true; Buy("MMB1"); } Buy("MMB2",AtStop,MM+PriceScale*25); } } if T2 == -1 Then { if Condition2 == False and L <= MM-PriceScale*25 Then Condition2 = true; if Condition2 == false Then { if C < MM-PriceScale*10 Then { Condition2 = true; Sell("MMS1"); } Sell("MMS2",AtStop,MM-PriceScale*25); } } if T3 == 1 Then { if Condition3 == False and H >= L1+PriceScale*25 Then Condition3 = true; if Condition3 == false Then { if C > L1+PriceScale*10 Then { Condition3 = true; Buy("L1B1"); } Buy("L1B2",AtStop,L1+PriceScale*25); } } if T3 == -1 Then { if Condition3 == False and L <= L1-PriceScale*25 Then Condition3 = true; if Condition3 == false Then { if C < L1-PriceScale*10 Then { Condition3 = true; Sell("L1S1"); } Sell("L1S2",AtStop,L1-PriceScale*25); } } if MarketPosition == 1 Then { if IsEntryName("H1B1") == true or IsEntryName("H1B2") == true Then { ExitLong("bx1",AtLimit,H2-PriceScale*10); } if IsEntryName("MMB1") == true or IsEntryName("MMB2") == true Then { ExitLong("bx2",AtLimit,H1-PriceScale*10); } if IsEntryName("L1B1") == true or IsEntryName("L1B2") == true Then { ExitLong("bx3",AtLimit,MM-PriceScale*10); } } if MarketPosition == -1 Then { if IsEntryName("H1S1") == true or IsEntryName("H1S2") == true Then { ExitShort("sx1",AtLimit,MM+PriceScale*10); } if IsEntryName("MMS1") == true or IsEntryName("MMS2") == true Then { ExitShort("sx2",AtLimit,L1+PriceScale*10); } if IsEntryName("L1S1") == true or IsEntryName("L1S2") == true Then { ExitShort("sx3",AtLimit,L2-PriceScale*10); } } SetStopLoss(PriceScale*50,PointStop); SetStopTrailing(PriceScale*20,PriceScale*50,PointStop); 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. > 제목 : 문의드립니다. > var1 = (DayHigh+DayLow)/2; var2 = (((DayHigh+DayLow)/2)+DayHigh)/2; var3 = (((DayHigh+DayLow)/2)+DayLow)/2; var1을 25틱을 돌파하면 바로 매수하거나 종가상 10틱 위면 매수 var2를 25틱을 돌파하면 바로 매수하거나 종가상 10틱 위면 매수 var3를 25틱을 돌파하면 바로 매수하거나 종가상 10틱 위면 매수 [진입] 이때 매수 조건은 반드시 var1, var2, var3을 "아래에서 위로 돌파해야 하고" 만일 돌파한 봉이 25틱까지 못 미치거나 종가상 10틱위가 아니면 그 이후 수십봉이 경과되어도 해당 조건을 달성할 때 매수신호가 나옵니다. [익절] var1을 25틱을 돌파하면 바로 매수하거나 종가상 10틱 위면 매수한 후 var2 10틱 아래에서 익절 var2를 25틱을 돌파하면 바로 매수하거나 종가상 10틱 위면 매수한 후 var3 10틱 아래에서 익절 var3를 25틱을 돌파하면 바로 매수하거나 종가상 10틱 위면 매수한 후 var2와 var3 간격만큼의 위를 가상의 선으로 잡고 동일한 방식으로 가상의선 10틱 아래에서 익절 매도는 매수와 그대로 정반대 로직입니다. 매도 로직도 부탁드립니다. (마지막 가상선의 폭은 var1과 var3 간격만큼의 아래를 가상의 선으로 잡고 적용입니다) 잘 부탁드리겠습니다.