커뮤니티

문의드립니다.

프로필 이미지
산골소년
2024-04-29 07:45:55
823
글번호 178998
답변완료
늘 고맙습니다. # true와 false 사용법에 대해 알고 싶습니다. (이평5>이평20) != true 위와 같이 하나의 조건이 맞나 안맞나는 되는데요. 조건이 더 생기면 어렵네요. (이평20>이평5>이평60>이평120) 이 조건이 true인 경우 (이평20>이평5>이평60>이평120) 이 조건이 true가 아닌 경우 수식을 어떻게 만들어야 하나요? # 위치 찾기 HH위치 = NthHighestBar(1,H,100); 100캔들의 최고점 위치를 위와같이 찾았는데요. 예를 들어 현재봉부터 지난 N캔들동안 100캔들의 고점을 돌파한 적이 없다가 N1캔들전에 처음으로 100캔들의 고점을 돌파했었고, 그 뒤로 고점을 경신한 캔들이 N2번 나왔어요. 여기서 N1과 N2를 찾는 수식을 알고 싶습니다. ## 청산식에서 구분짓고자 합니다. # 진입후 3캔들내 100캔들의 고점을 돌파하고 100캔들 고점돌파이후 5캔들이 모두 양봉이라면, 음봉이 나오고 그 음봉이 최종 양봉의 저가를 이탈하면 청산 # 진입후 100캔들의 고점을 돌파했으면 1. 60이평을 이탈하면 청산한다.(완성봉 청산과 이탈즉시 청산식을 별도로 알고싶습니다. onclose 사용법을 아직 잘 모르는거 같습니다.) 2. 20이평을 종가로 이탈했는데 다시 100캔들의 고점을 돌파하면, 20이평을 이탈하면 청산 3. 강제청산(익청) # 진입후 30캔들내 100캔들의 고점은 돌파못하고 120이평만 돌파했다면 1. +10 수익중이면 바로 청산 2. 60이평 이상이면 청산 3. 강제청산(손절) # 진입후 최대손실이 -20 이상이었다면 1. 본청한다. #차트에 전일고가와 전일 저가를 나오게 하면 캔들이 아주 작아져 버리는데요. 현재 캔들의 위치에 비해 과도하게 위나 아래에 위치한 선들을 캔들이 그 선 근처까지 가기전까지는 나오지 않게 하는 방법이 있나요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-04-29 15:53:53

안녕하세요 예스스탁입니다. 1 비교는 2개의 값 비교로 구성하셔야 합니다. 여러개를 비교할 때는 아래와 같이 2개씩 and로 연결하셔야 합니다. if (이평20>이평5 and 이평5>이평60 and 이평60 > 이평120) then 위와 같이 작성하시면 조건이 만족한 경우이고 조건문에 전체를 ()로 묶고 앞에 !를 붙이면 아닌 경우를 찾는 내용입니다. if !(이평20>이평5 and 이평5>이평60 and 이평60 > 이평120) then 2 if countif(H>highest(H,100)[1],N1) == n2 then 올려주신 내용은 최근 N1봉 안에 N2번 고점갱신이 있다라는 내용과 같습니다. N1대신에 10 N2대신에 3을 대입하면 최근 10개봉 안에 고점갱신이 3번이다라는 내용이 됩니다. if countif(H>highest(H,100)[1],10) == 3 then 3 var : T(0),PC(0),count(0); if MarketPosition == 1 Then { if T == 0 and BarsSinceEntry <= 3 and H > highest(H,100)[1] Then { T = 1; } Else { if T == 1 Then { if C > O Then { count = count+1; PC = c; } if C < O Then T = 2; } if T == 2 and C < O and PC > 0 and C < PC and count >= 5 Then ExitLong("bx1"); } } Else { T = 0; PC = 0; count = 0; } 4 if MarketPosition == 1 Then { if H > highest(H,100)[1] Then { Condition1 = true; var1 = BarsSinceEntry; } if Condition1 == true Then { if CrossDown(c,ma(c,60)) Then ExitLong(); } if CrossDown(c,ma(C,20)) Then { Value2 = Value2+1; value1 = BarsSinceEntry; if Value2 >= 2 and value1[1] < var1 and var1 < Value2 Then ExitLong(); } } Else { Condition1 = true; var1 = -1; value1 = -1; Value2 = 0; } #익절은 어떤 값으로 지정하는지 알수 없습니다. #수치는 직접 함수안에 지정하시기 바랍니다. SetStopProfittarget(); 5 if MarketPosition == 1 Then { if BarsSinceEntry <= 30 and H > highest(H,100)[1] Then { Condition2 = true; } if Condition2 == False and C > ma(c,120) Then { ExitLong("bx",AtLimit,EntryPrice+10); if C > ma(C,60) Then ExitLong(); } } Else { Condition2 = true; } #손절은 어떤 값으로 지정하는지 알수 없습니다. #수치는 직접 함수안에 지정하시기 바랍니다. SetStopLoss(); 6 if MarketPosition == 1 Then { if lowest(L,20) <= EntryPrice-20 Then ExitLong("본청",AtLimit,EntryPrice); } 7 기본차트속성에서 Y축을 화면(기본차트)로 지정하시면 봉만으로 Y축이 스케일되고 지표는 해당 범위안에 있는 것만 보이게 됩니다. 기본차트속성은 차트에서 봉을 더블클릭하면 나타납니다. 즐거운 하루되세요 > 산골소년 님이 쓴 글입니다. > 제목 : 문의드립니다. > 늘 고맙습니다. # true와 false 사용법에 대해 알고 싶습니다. (이평5>이평20) != true 위와 같이 하나의 조건이 맞나 안맞나는 되는데요. 조건이 더 생기면 어렵네요. (이평20>이평5>이평60>이평120) 이 조건이 true인 경우 (이평20>이평5>이평60>이평120) 이 조건이 true가 아닌 경우 수식을 어떻게 만들어야 하나요? # 위치 찾기 HH위치 = NthHighestBar(1,H,100); 100캔들의 최고점 위치를 위와같이 찾았는데요. 예를 들어 현재봉부터 지난 N캔들동안 100캔들의 고점을 돌파한 적이 없다가 N1캔들전에 처음으로 100캔들의 고점을 돌파했었고, 그 뒤로 고점을 경신한 캔들이 N2번 나왔어요. 여기서 N1과 N2를 찾는 수식을 알고 싶습니다. ## 청산식에서 구분짓고자 합니다. # 진입후 3캔들내 100캔들의 고점을 돌파하고 100캔들 고점돌파이후 5캔들이 모두 양봉이라면, 음봉이 나오고 그 음봉이 최종 양봉의 저가를 이탈하면 청산 # 진입후 100캔들의 고점을 돌파했으면 1. 60이평을 이탈하면 청산한다.(완성봉 청산과 이탈즉시 청산식을 별도로 알고싶습니다. onclose 사용법을 아직 잘 모르는거 같습니다.) 2. 20이평을 종가로 이탈했는데 다시 100캔들의 고점을 돌파하면, 20이평을 이탈하면 청산 3. 강제청산(익청) # 진입후 30캔들내 100캔들의 고점은 돌파못하고 120이평만 돌파했다면 1. +10 수익중이면 바로 청산 2. 60이평 이상이면 청산 3. 강제청산(손절) # 진입후 최대손실이 -20 이상이었다면 1. 본청한다. #차트에 전일고가와 전일 저가를 나오게 하면 캔들이 아주 작아져 버리는데요. 현재 캔들의 위치에 비해 과도하게 위나 아래에 위치한 선들을 캔들이 그 선 근처까지 가기전까지는 나오지 않게 하는 방법이 있나요?