커뮤니티

문의드립니다.

프로필 이미지
산골소년
2024-05-03 07:42:39
766
글번호 179094
답변완료

첨부 이미지

늘 고맙습니다. 복많이 받으실겁니다. 1. 위에 그림은 좌측 노란색에서 진입이 됐는데 우측상단 노란색에서 청산이 됐습니다. # 의도했던 로직은 동그라미 부분에서 청산이었습니다. # 며칠전 가르쳐주신 문장을 다시 적고 해석을 해보겠습니다. 오류수정 부탁드립니다. # 아직 적어주신 문장도 해석능력이 부족합니다. 이해 부탁드립니다. 주석을 달아주시면 더욱 좋겠습니다. if MarketPosition == 1 Then { #1 진입후 100캔들의 고점을 돌파했다면 Condition1에 참을 할당하고 var1에 진입이후 경과된 봉갯수 할당 if H > highest(H,100)[1] Then { Condition1 = true; var1 = BarsSinceEntry; } #1이 참이고 60이평 이탈시 청산. *** 고점 돌파후 60이평 데드면 청산. 동그라미 두번째에서 청산되어야 됩니다.. if Condition1 == true Then #2 { if CrossDown(c,ma(c,60)) Then ExitLong("시험청산1"); } #1이 참이고 20평 이탈시엔 20이평 이탈을 Value2에 할당하고, value1에는 진입이후 경과된 봉갯수 할당하고 if CrossDown(c,ma(C,20)) Then { Value2 = Value2+1; value1 = BarsSinceEntry; *** 원래 의도 : 20이평 데드후 60이평을 데드 하지 않고 다시 고점을 돌파한다면 이후 20이평 데드시 청산한다. # *** 여기 문장은 잘 해석이 안됩니다. 20이평 데드가 2번이상이고 20이평 데드때 진입이후 봉갯수가 고점돌파때의 진입이후 봉갯수보다 적고(많아야 되는 것 아닌지요?), var1과 value2를 비교하는 것은 무슨 의미인지 잘 모르겠습니다. if Value2 >= 2 and value1[1] < var1 and var1 < Value2 Then ExitLong("시험청산2"); } 2. 가르쳐주시는 거에 비해 너무 진도가 못나가고 있습니다. 몇 줄 안되는데도 도저히 해결을 못해서 또 올립니다. 똑같은 방법으로 만든거 같은데 매도는 원하는 자리에서 신호가 나오는데요. 매수는 이상하게도 하나가 영 이상한데서 신호가 나옵니다. 이것저것 바꿔봐도 그자리만 고집하네요. # 일이 발생되는 순서대로 적었습니다. 인덱스는 제대로 쓰고 있는건지 모르겠습니다. 코드 흐름에 뭐가 잘못된건가요? var:HH(0),LL(0),진폭(0); HH = highest(H,P); LL = lowest(L,P); 진폭=HH-LL; f 이평500>이평360 && 이평360>이평120 && CrossDown(이평60,이평360) Then { B1=1; Bi1=Index; } if b1>=1 and CrossUp(이평3,이평500) Then b1=0; if b1==1 && bi1>0 && Index>bi1+2 && L>=Lowest(L,100)[1] Then { b1=2; bi2=Index; } if b1==2 && bi2>0 && Index>bi2+2 && CrossUp(이평3,이평60) Then { b1=3; Bi3=Index; b1저점=진폭*0.1+LL; } { if b1==3 && bi3>0 && Index<bi3+500 && Condition1 == False Then Buy("이유모르는매수",AtLimit,b1저점); } 3. cond에 "쌍봉조건"을 저장해놓고 사용하고 싶습니다. for문이나 index 이용해서 만들어보려는데 아직 어렵네요. 쌍봉조건=조건1 and 조건2 and 조건3 and 조건4; 현재봉으로부터 과거봉으로 돌아가면서 써보면요. 조건1. 현재캔들은 60이평 아래에 있다. 조건2. 당일고점을 찍었다. 조건3. 캔들의 저가가 60이평을 2회이상 이탈했다. 조건4. 당일고점을 찍었다. # 아래의 식이 맞나요? 맞더라도 뭔가 추가해줘야 될 게 있을 거 같고 어설프네요. var:cnt(0),고점돌파위치(0),데드위치60(0),이전고점돌파위치(0),쌍봉1(false); 쌍봉1 = 고점돌파위치=-1; for cnt=0 to 100 { if H[cnt]==highest(h,100) then{ 고점돌파위치=cnt; cnt=999; } } 데드위치60 = -1; for cnt=고점돌파위치 to 100 { if countif(crossdown(L,이평60),???)>1 then { # 저가가 2회이상 60이평 아래로 내려갔었다????? 데드위치60 = cnt; cnt=999; } } 이전고점돌파위치=-1; for cnt=데드위치60 to 100 { if if H[cnt]==highest(h,100) then{ 이전고점돌파위치=cnt; 이전고점돌파봉=C; #60이평 찍으러 내려오기전 최고점 찍은 캔들정보 저장. cnt=999; } } if 고점돌파위치<21 and # 고점찍은 자리가 현재봉전 20캔들내에 있고 데드위치60 < 고점돌파위치+20 and #60이평 데드난 자리가 고점찍은 자리로부터 20캔들내에 있고 이전고점돌파위치<데드위치60+20 then #60이평 데드 20캔들전내에 고점돌파가 있었다면 # 위 조건들을 만족하고 현재 종가가 60이평 아래에 있다면 쌍봉만족. if C<이평60 then 쌍봉1 = true; 4. 차트에 글상자, 중요표시 등을 해놓고 다시 로그인을 하게 되면 그게 남아있지 않습니다. 다른 이름으로 저장하기를 하고 다시 불러와도 삭제되어 나오는데요. 그대로 불러올 방법이 있나요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-05-03 10:33:40

> 산골소년 님이 쓴 글입니다. > 제목 : 문의드립니다. > 늘 고맙습니다. 복많이 받으실겁니다. 1. 위에 그림은 좌측 노란색에서 진입이 됐는데 우측상단 노란색에서 청산이 됐습니다. # 의도했던 로직은 동그라미 부분에서 청산이었습니다. # 며칠전 가르쳐주신 문장을 다시 적고 해석을 해보겠습니다. 오류수정 부탁드립니다. # 아직 적어주신 문장도 해석능력이 부족합니다. 이해 부탁드립니다. 주석을 달아주시면 더욱 좋겠습니다. if MarketPosition == 1 Then { #1 진입후 100캔들의 고점을 돌파했다면 Condition1에 참을 할당하고 var1에 진입이후 경과된 봉갯수 할당 if H > highest(H,100)[1] Then { Condition1 = true; var1 = BarsSinceEntry; } #1이 참이고 60이평 이탈시 청산. *** 고점 돌파후 60이평 데드면 청산. 동그라미 두번째에서 청산되어야 됩니다.. if Condition1 == true Then #2 { if CrossDown(c,ma(c,60)) Then ExitLong("시험청산1"); } #1이 참이고 20평 이탈시엔 20이평 이탈을 Value2에 할당하고, value1에는 진입이후 경과된 봉갯수 할당하고 if CrossDown(c,ma(C,20)) Then { Value2 = Value2+1; value1 = BarsSinceEntry; *** 원래 의도 : 20이평 데드후 60이평을 데드 하지 않고 다시 고점을 돌파한다면 이후 20이평 데드시 청산한다. # *** 여기 문장은 잘 해석이 안됩니다. 20이평 데드가 2번이상이고 20이평 데드때 진입이후 봉갯수가 고점돌파때의 진입이후 봉갯수보다 적고(많아야 되는 것 아닌지요?), var1과 value2를 비교하는 것은 무슨 의미인지 잘 모르겠습니다. if Value2 >= 2 and value1[1] < var1 and var1 < Value2 Then ExitLong("시험청산2"); } 2. 가르쳐주시는 거에 비해 너무 진도가 못나가고 있습니다. 몇 줄 안되는데도 도저히 해결을 못해서 또 올립니다. 똑같은 방법으로 만든거 같은데 매도는 원하는 자리에서 신호가 나오는데요. 매수는 이상하게도 하나가 영 이상한데서 신호가 나옵니다. 이것저것 바꿔봐도 그자리만 고집하네요. # 일이 발생되는 순서대로 적었습니다. 인덱스는 제대로 쓰고 있는건지 모르겠습니다. 코드 흐름에 뭐가 잘못된건가요? var:HH(0),LL(0),진폭(0); HH = highest(H,P); LL = lowest(L,P); 진폭=HH-LL; f 이평500>이평360 && 이평360>이평120 && CrossDown(이평60,이평360) Then { B1=1; Bi1=Index; } if b1>=1 and CrossUp(이평3,이평500) Then b1=0; if b1==1 && bi1>0 && Index>bi1+2 && L>=Lowest(L,100)[1] Then { b1=2; bi2=Index; } if b1==2 && bi2>0 && Index>bi2+2 && CrossUp(이평3,이평60) Then { b1=3; Bi3=Index; b1저점=진폭*0.1+LL; } { if b1==3 && bi3>0 && Index<bi3+500 && Condition1 == False Then Buy("이유모르는매수",AtLimit,b1저점); } 3. cond에 "쌍봉조건"을 저장해놓고 사용하고 싶습니다. for문이나 index 이용해서 만들어보려는데 아직 어렵네요. 쌍봉조건=조건1 and 조건2 and 조건3 and 조건4; 현재봉으로부터 과거봉으로 돌아가면서 써보면요. 조건1. 현재캔들은 60이평 아래에 있다. 조건2. 당일고점을 찍었다. 조건3. 캔들의 저가가 60이평을 2회이상 이탈했다. 조건4. 당일고점을 찍었다. # 아래의 식이 맞나요? 맞더라도 뭔가 추가해줘야 될 게 있을 거 같고 어설프네요. var:cnt(0),고점돌파위치(0),데드위치60(0),이전고점돌파위치(0),쌍봉1(false); 쌍봉1 = 고점돌파위치=-1; for cnt=0 to 100 { if H[cnt]==highest(h,100) then{ 고점돌파위치=cnt; cnt=999; } } 데드위치60 = -1; for cnt=고점돌파위치 to 100 { if countif(crossdown(L,이평60),???)>1 then { # 저가가 2회이상 60이평 아래로 내려갔었다????? 데드위치60 = cnt; cnt=999; } } 이전고점돌파위치=-1; for cnt=데드위치60 to 100 { if if H[cnt]==highest(h,100) then{ 이전고점돌파위치=cnt; 이전고점돌파봉=C; #60이평 찍으러 내려오기전 최고점 찍은 캔들정보 저장. cnt=999; } } if 고점돌파위치<21 and # 고점찍은 자리가 현재봉전 20캔들내에 있고 데드위치60 < 고점돌파위치+20 and #60이평 데드난 자리가 고점찍은 자리로부터 20캔들내에 있고 이전고점돌파위치<데드위치60+20 then #60이평 데드 20캔들전내에 고점돌파가 있었다면 # 위 조건들을 만족하고 현재 종가가 60이평 아래에 있다면 쌍봉만족. if C<이평60 then 쌍봉1 = true; 4. 차트에 글상자, 중요표시 등을 해놓고 다시 로그인을 하게 되면 그게 남아있지 않습니다. 다른 이름으로 저장하기를 하고 다시 불러와도 삭제되어 나오는데요. 그대로 불러올 방법이 있나요?