커뮤니티

문의드립니다.

프로필 이미지
번성
2022-01-22 03:22:15
986
글번호 155660
답변완료
많은 도움을 주시고 수고해주셔서 감사합니다. 아래처럼 빨강/파랑색 추세에서 역방향으로 진입하였다가 추세가 바뀌는 시점에서 청산한 후 새롭게 다시 진입할 때는 추세가 바뀌어 +50틱이나 -50틱에 역방향으로 매도/매수 1개씩 진입하고, 계속하여 +50틱/-50틱에 추가 재진입하되, 2,3,4...단계로 나누어 각 단계마다 진입물량을 처음 1개에서, 2개, 3개, 4개로 늘려 매도/매수 했어요. 여기서 하나 더 변경 원합니다. +50틱이나 -50틱이 추가 될 때마다 진입하는 것은 그대로인데, 처음 매도/매수 진입할 때 곧 첫 진입 시작 위치를 +/- 10틱, 20틱...50틱...100틱을 지정할 수 있도록 변경을 희망합니다. 예를 들어 첫 진입 위치를 +100틱/혹은 -100틱으로 지정 부탁드립니다. 감사합니다.^^ -아래- > 번성 님이 쓴 글입니다. > 제목 : 문의드립니다. > 항상 귀한 답변에 다시한번 감사드립니다. 아래와 같이 요청드려 value1로 좋은 답변을 받았습니다. 1차와 2차 시기에는 1개만, 3차와 4차 시기에는 2개씩, 5차와 6차 시기에는 3개씩 이렇게 2단계 혹은 3단계,4,5단계 마다 진입량을 1개씩 늘려가며 진입할 수 있도록 변경 원합니다. 만약 1차,2차,3차/ 4차,5차,6차/7차,8차,9차/...3단계씩 마다 1개 추가하거나 1-4차/2-8차/9-12차/...4단계씩 마다 1개 추가 1-5차/6-10차/11-15차/...5단계씩 마다 1개 추가 위와같이 단계를 유연하게 하여 1개를 추가하는 식으로 변경 부탁드립니다. 감사합니다^^.수고하세요. 안녕하세요 예스스탁입니다. input : N(2); #상승구간의 마지막저점 저장 if Color == RED Then { var1 = 저점[2,1]; } #하락구간의 마지막 고점 저장 if Color == BLUE Then { var2 = 고점[2,1]; } if MarketPosition <= 0 Then { if color == BLUE and var1 > 0 and L > var1-PriceScale*50 Then Buy("b",AtLimit,var1-PriceScale*50,1); } if MarketPosition == 1 Then { value1 = Floor(MaxEntries/N)+1; Buy("bb",AtLimit,(var1[BarsSinceEntry]-PriceScale*50)-(PriceScale*50)*MaxEntries,value1); if T == -1 and 고점[1,1] > 0 Then ExitLong("bx1",AtLimit,고점[1,1]+PriceScale*1); if T == 1 and 고점[2,1] > 0 Then ExitLong("bx2",AtLimit,고점[2,1]+PriceScale*1); } if MarketPosition >= 0 Then { if Color == RED and Var2 > 0 and H < var2+PriceScale*50 Then Sell("s",AtLimit,Var2+PriceScale*50,1); } if MarketPosition == -1 Then1 { value1 = Floor(MaxEntries/N)+1; Sell("ss",AtLimit,(var2[BarsSinceEntry]+PriceScale*50)+(PriceScale*50)*MaxEntries,value1); if T == 1 and 저점[1,1] > 0 Then ExitShort("sx1",AtLimit,저점[1,1]-PriceScale*1); if T == -1 and 저점[2,1] > 0 Then ExitShort("sx2",AtLimit,저점[2,1]-PriceScale*1); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-01-24 11:39:11

안녕하세요 예스스탁입니다. input : N(2),첫진입틱수(10),추가진입틱수(50); #상승구간의 마지막저점 저장 if Color == RED Then { var1 = 저점[2,1]; } #하락구간의 마지막 고점 저장 if Color == BLUE Then { var2 = 고점[2,1]; } if MarketPosition <= 0 Then { if color == BLUE and var1 > 0 and L > var1-PriceScale*첫진입틱수 Then Buy("b",AtLimit,var1-PriceScale*첫진입틱수,1); } if MarketPosition == 1 Then { value1 = Floor(MaxEntries/N)+1; Buy("bb",AtLimit,(var1[BarsSinceEntry]-PriceScale*첫진입틱수)-(PriceScale*추가진입틱수)*MaxEntries,value1); if T == -1 and 고점[1,1] > 0 Then ExitLong("bx1",AtLimit,고점[1,1]+PriceScale*1); if T == 1 and 고점[2,1] > 0 Then ExitLong("bx2",AtLimit,고점[2,1]+PriceScale*1); } if MarketPosition >= 0 Then { if Color == RED and Var2 > 0 and H < var2+PriceScale*첫진입틱수 Then Sell("s",AtLimit,Var2+PriceScale*첫진입틱수,1); } if MarketPosition == -1 Then1 { value1 = Floor(MaxEntries/N)+1; Sell("ss",AtLimit,(var2[BarsSinceEntry]+PriceScale*첫진입틱수)+(PriceScale*추가진입틱수)*MaxEntries,value1); if T == 1 and 저점[1,1] > 0 Then ExitShort("sx1",AtLimit,저점[1,1]-PriceScale*1); if T == -1 and 저점[2,1] > 0 Then ExitShort("sx2",AtLimit,저점[2,1]-PriceScale*1); } 즐거운 하루되세요 > 번성 님이 쓴 글입니다. > 제목 : 문의드립니다. > 많은 도움을 주시고 수고해주셔서 감사합니다. 아래처럼 빨강/파랑색 추세에서 역방향으로 진입하였다가 추세가 바뀌는 시점에서 청산한 후 새롭게 다시 진입할 때는 추세가 바뀌어 +50틱이나 -50틱에 역방향으로 매도/매수 1개씩 진입하고, 계속하여 +50틱/-50틱에 추가 재진입하되, 2,3,4...단계로 나누어 각 단계마다 진입물량을 처음 1개에서, 2개, 3개, 4개로 늘려 매도/매수 했어요. 여기서 하나 더 변경 원합니다. +50틱이나 -50틱이 추가 될 때마다 진입하는 것은 그대로인데, 처음 매도/매수 진입할 때 곧 첫 진입 시작 위치를 +/- 10틱, 20틱...50틱...100틱을 지정할 수 있도록 변경을 희망합니다. 예를 들어 첫 진입 위치를 +100틱/혹은 -100틱으로 지정 부탁드립니다. 감사합니다.^^ -아래- > 번성 님이 쓴 글입니다. > 제목 : 문의드립니다. > 항상 귀한 답변에 다시한번 감사드립니다. 아래와 같이 요청드려 value1로 좋은 답변을 받았습니다. 1차와 2차 시기에는 1개만, 3차와 4차 시기에는 2개씩, 5차와 6차 시기에는 3개씩 이렇게 2단계 혹은 3단계,4,5단계 마다 진입량을 1개씩 늘려가며 진입할 수 있도록 변경 원합니다. 만약 1차,2차,3차/ 4차,5차,6차/7차,8차,9차/...3단계씩 마다 1개 추가하거나 1-4차/2-8차/9-12차/...4단계씩 마다 1개 추가 1-5차/6-10차/11-15차/...5단계씩 마다 1개 추가 위와같이 단계를 유연하게 하여 1개를 추가하는 식으로 변경 부탁드립니다. 감사합니다^^.수고하세요. 안녕하세요 예스스탁입니다. input : N(2); #상승구간의 마지막저점 저장 if Color == RED Then { var1 = 저점[2,1]; } #하락구간의 마지막 고점 저장 if Color == BLUE Then { var2 = 고점[2,1]; } if MarketPosition <= 0 Then { if color == BLUE and var1 > 0 and L > var1-PriceScale*50 Then Buy("b",AtLimit,var1-PriceScale*50,1); } if MarketPosition == 1 Then { value1 = Floor(MaxEntries/N)+1; Buy("bb",AtLimit,(var1[BarsSinceEntry]-PriceScale*50)-(PriceScale*50)*MaxEntries,value1); if T == -1 and 고점[1,1] > 0 Then ExitLong("bx1",AtLimit,고점[1,1]+PriceScale*1); if T == 1 and 고점[2,1] > 0 Then ExitLong("bx2",AtLimit,고점[2,1]+PriceScale*1); } if MarketPosition >= 0 Then { if Color == RED and Var2 > 0 and H < var2+PriceScale*50 Then Sell("s",AtLimit,Var2+PriceScale*50,1); } if MarketPosition == -1 Then1 { value1 = Floor(MaxEntries/N)+1; Sell("ss",AtLimit,(var2[BarsSinceEntry]+PriceScale*50)+(PriceScale*50)*MaxEntries,value1); if T == 1 and 저점[1,1] > 0 Then ExitShort("sx1",AtLimit,저점[1,1]-PriceScale*1); if T == -1 and 저점[2,1] > 0 Then ExitShort("sx2",AtLimit,저점[2,1]-PriceScale*1); }