커뮤니티

문의 드립니다

프로필 이미지
에구머니
2011-12-19 01:39:22
489
글번호 45879
답변완료
지표식과 한개의 시스템식 문의입니다. 감사합니다.
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2011-12-19 16:06:50

안녕하세요 예스스탁입니다. 1. input : p(10),q(10); var : W(0,data2); w = data2((Opend(0)-c)*P)+data3((Opend(0)-C)*q); if W > W[1] And W[1] > W[2] Then plot1(W,"1",RED); Else if W < W[1] and W[1] < W[2] Then plot1(W,"1",BLUE); Else plot1(W,"1",BLACK); 2. 어떤식으로든 횟수를 지정해야 하므로 총 7번으로 작성했습니다. 추가될수록 굵기가 커집니다. input : p(1),q(1),N(5); var : d1(0,data2),d2(0,data2),d3(0,data2),d4(0,data2),d5(0,data2),d6(0,data2),d7(0,data2); var : W1(0,data2),W2(0,data2),W3(0,data2),W4(0,data2),W5(0,data2),W6(0,data2),W7(0,data2),d2sum(0,data2); var : dd1(0,data3),dd2(0,data3),dd3(0,data3),dd4(0,data3),dd5(0,data3),dd6(0,data3),dd7(0,data3); var : wW1(0,data3),wW2(0,data3),wW3(0,data3),wW4(0,data3),wW5(0,data3),wW6(0,data3),wW7(0,data3),d3sum(0,data3); if data2(dayindex == 0) Then D1 = data2(c-PriceScale); if data2(dayindex == N*1) Then D2 = data2(c-PriceScale); if data2(dayindex == N*2) Then D3 = data2(c-PriceScale); if data2(dayindex == N*3) Then D4 = data2(c-PriceScale); if data2(dayindex == N*4) Then D5 = data2(c-PriceScale); if data2(dayindex == N*5) Then D6 = data2(c-PriceScale); if data2(dayindex == N*6) Then D7 = data2(c-PriceScale); if data2(dayindex >= 0) Then W1 = (D1-data2(C))*p; else w1 = 0; if data2(dayindex >= N*1) Then W2 = (D2-data2(C))*p; else w2 = 0; if data2(dayindex >= N*2) Then W3 = (D3-data2(C))*p; else w3 = 0; if data2(dayindex >= N*3) Then W4 = (D4-data2(C))*p; else w4 = 0; if data2(dayindex >= N*4) Then W5 = (D5-data2(C))*p; else w5 = 0; if data2(dayindex >= N*5) Then W6 = (D6-data2(C))*p; else w6 = 0; if data2(dayindex >= N*6) Then W7 = (D7-data2(C))*p; else w7 = 0; if data3(dayindex == 0) Then DD1 = data3(c-PriceScale); if data3(dayindex == N*1) Then DD2 = data3(c-PriceScale); if data3(dayindex == N*2) Then DD3 = data3(c-PriceScale); if data3(dayindex == N*3) Then DD4 = data3(c-PriceScale); if data3(dayindex == N*4) Then DD5 = data3(c-PriceScale); if data3(dayindex == N*5) Then DD6 = data3(c-PriceScale); if data3(dayindex == N*6) Then DD7 = data3(c-PriceScale); if data3(dayindex >= 0) Then WW1 = (DD1-data3(C))*p; else Ww1 = 0; if data3(dayindex >= N*1) Then WW2 = (DD2-data3(C))*p; else Ww2 = 0; if data3(dayindex >= N*2) Then WW3 = (DD3-data3(C))*p; else Ww3 = 0; if data3(dayindex >= N*3) Then WW4 = (DD4-data3(C))*p; else Ww4 = 0; if data3(dayindex >= N*4) Then WW5 = (DD5-data3(C))*p; else Ww5 = 0; if data3(dayindex >= N*5) Then WW6 = (DD6-data3(C))*p; else Ww6 = 0; if data3(dayindex >= N*6) Then WW7 = (DD7-data3(C))*p; else Ww7 = 0; d2sum = W1+W2+W3+W4+W5+W6+W7; d3sum = WW1+WW2+WW3+WW4+WW5+wW6+WW7; if data3(dayindex >= 0) Then plot1(D2sum+D3sum,"1",Red,def,1); if data3(dayindex >= N*1) Then plot1(D2sum+D3sum,"1",Red,def,2); if data3(dayindex >= N*2) Then plot1(D2sum+D3sum,"1",Red,def,3); if data3(dayindex >= N*3) Then plot1(D2sum+D3sum,"1",Red,def,4); if data3(dayindex >= N*4) Then plot1(D2sum+D3sum,"1",Red,def,5); if data3(dayindex >= N*5) Then plot1(D2sum+D3sum,"1",Red,def,6); if data3(dayindex >= N*1) Then plot1(D2sum+D3sum,"1",Red,def,7); 3. 해당 내용은 지표식으로 어려울것 같습니다. 도움을 드리지 못해 죄송합니다. 4. dayma라는 함수는 기본함수로 제공되지 않습니다. 아래식을 함수로 작성하신후 이용하시기 바랍니다. 참조데이터에서 사용하실 때는 data2(dayma(c,10)) 와 같이 작성해서 이용하시면 됩니다. 함수명 dayma 함수내용 input : Price(Numeric),P(Numeric); var1 = ma(Price,P); if date != date[1] Then{ value1 = 0; value2 = 0; } value1 = value1+Price; value2 = value2+1; if dayindex+1 < P Then dayma = value1/value2; Else dayma = var1; 5. 해당 수식을 작성하기 위해서는 각 저점과 고점의 정의가 필요합니다. swinglow와 swinghigh로 대체해서 작성했습니다. 정리하신 상황별 내용을 종합하면 진입은 항상 가장 최근 직전의 고점+1틱에 진입하는 것으로 판단됩니다. swinghigh가 좌측으로는 값이 상승하다가 우측으로는 하락하는 것이므로 다른 조건없이 직전고점+1틱 매수진입으로 작성하면 a와 c등은 따로 지저할 필요가 없습니다. input : Left(3),Right(3); var1 = ma(C,20); if C < var1 Then{ if SwingHigh(1,H,Left,Right,Left+right+1) != -1 Then{ value1 = SwingHigh(1,H,Left,Right,Left+right+1); value2 = L; } if L < value2 Then value2 = L; buy("b",AtStop,value1+PriceScale); } if MarketPosition == 1 Then{ #진입이전 swinghigh와 진입봉 사이의 최저가-1틱 청산 exitlong("bx",AtStop,value2[BarsSinceEntry]-PriceScale); #진입이후 SwingLow 발생시 해당 SwingLow-1틱에 청산 if SwingLow(1,L,Left,Right,Left+right+1) != -1 Then{ value3 = SwingLow(1,L,Left,Right,Left+right+1); Condition1 = true; } if Condition1 == true Then exitlong("bx2",AtStop,value3-PriceScale); } 즐거운 하루되세요 > 에구머니 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 지표식과 한개의 시스템식 문의입니다. 감사합니다.
프로필 이미지

에구머니

2011-12-19 16:29:54

이렇게 골치 아픈 것들을 해주셔서 진심으로 감사드립니다. 제가 지금은 참 어렵지만, 나중에 성공하면 꼭 찾아뵙고 술한잔 사겠습니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 문의 드립니다 > 안녕하세요 예스스탁입니다. 1. input : p(10),q(10); var : W(0,data2); w = data2((Opend(0)-c)*P)+data3((Opend(0)-C)*q); if W > W[1] And W[1] > W[2] Then plot1(W,"1",RED); Else if W < W[1] and W[1] < W[2] Then plot1(W,"1",BLUE); Else plot1(W,"1",BLACK); 2. 어떤식으로든 횟수를 지정해야 하므로 총 7번으로 작성했습니다. 추가될수록 굵기가 커집니다. input : p(1),q(1),N(5); var : d1(0,data2),d2(0,data2),d3(0,data2),d4(0,data2),d5(0,data2),d6(0,data2),d7(0,data2); var : W1(0,data2),W2(0,data2),W3(0,data2),W4(0,data2),W5(0,data2),W6(0,data2),W7(0,data2),d2sum(0,data2); var : dd1(0,data3),dd2(0,data3),dd3(0,data3),dd4(0,data3),dd5(0,data3),dd6(0,data3),dd7(0,data3); var : wW1(0,data3),wW2(0,data3),wW3(0,data3),wW4(0,data3),wW5(0,data3),wW6(0,data3),wW7(0,data3),d3sum(0,data3); if data2(dayindex == 0) Then D1 = data2(c-PriceScale); if data2(dayindex == N*1) Then D2 = data2(c-PriceScale); if data2(dayindex == N*2) Then D3 = data2(c-PriceScale); if data2(dayindex == N*3) Then D4 = data2(c-PriceScale); if data2(dayindex == N*4) Then D5 = data2(c-PriceScale); if data2(dayindex == N*5) Then D6 = data2(c-PriceScale); if data2(dayindex == N*6) Then D7 = data2(c-PriceScale); if data2(dayindex >= 0) Then W1 = (D1-data2(C))*p; else w1 = 0; if data2(dayindex >= N*1) Then W2 = (D2-data2(C))*p; else w2 = 0; if data2(dayindex >= N*2) Then W3 = (D3-data2(C))*p; else w3 = 0; if data2(dayindex >= N*3) Then W4 = (D4-data2(C))*p; else w4 = 0; if data2(dayindex >= N*4) Then W5 = (D5-data2(C))*p; else w5 = 0; if data2(dayindex >= N*5) Then W6 = (D6-data2(C))*p; else w6 = 0; if data2(dayindex >= N*6) Then W7 = (D7-data2(C))*p; else w7 = 0; if data3(dayindex == 0) Then DD1 = data3(c-PriceScale); if data3(dayindex == N*1) Then DD2 = data3(c-PriceScale); if data3(dayindex == N*2) Then DD3 = data3(c-PriceScale); if data3(dayindex == N*3) Then DD4 = data3(c-PriceScale); if data3(dayindex == N*4) Then DD5 = data3(c-PriceScale); if data3(dayindex == N*5) Then DD6 = data3(c-PriceScale); if data3(dayindex == N*6) Then DD7 = data3(c-PriceScale); if data3(dayindex >= 0) Then WW1 = (DD1-data3(C))*p; else Ww1 = 0; if data3(dayindex >= N*1) Then WW2 = (DD2-data3(C))*p; else Ww2 = 0; if data3(dayindex >= N*2) Then WW3 = (DD3-data3(C))*p; else Ww3 = 0; if data3(dayindex >= N*3) Then WW4 = (DD4-data3(C))*p; else Ww4 = 0; if data3(dayindex >= N*4) Then WW5 = (DD5-data3(C))*p; else Ww5 = 0; if data3(dayindex >= N*5) Then WW6 = (DD6-data3(C))*p; else Ww6 = 0; if data3(dayindex >= N*6) Then WW7 = (DD7-data3(C))*p; else Ww7 = 0; d2sum = W1+W2+W3+W4+W5+W6+W7; d3sum = WW1+WW2+WW3+WW4+WW5+wW6+WW7; if data3(dayindex >= 0) Then plot1(D2sum+D3sum,"1",Red,def,1); if data3(dayindex >= N*1) Then plot1(D2sum+D3sum,"1",Red,def,2); if data3(dayindex >= N*2) Then plot1(D2sum+D3sum,"1",Red,def,3); if data3(dayindex >= N*3) Then plot1(D2sum+D3sum,"1",Red,def,4); if data3(dayindex >= N*4) Then plot1(D2sum+D3sum,"1",Red,def,5); if data3(dayindex >= N*5) Then plot1(D2sum+D3sum,"1",Red,def,6); if data3(dayindex >= N*1) Then plot1(D2sum+D3sum,"1",Red,def,7); 3. 해당 내용은 지표식으로 어려울것 같습니다. 도움을 드리지 못해 죄송합니다. 4. dayma라는 함수는 기본함수로 제공되지 않습니다. 아래식을 함수로 작성하신후 이용하시기 바랍니다. 참조데이터에서 사용하실 때는 data2(dayma(c,10)) 와 같이 작성해서 이용하시면 됩니다. 함수명 dayma 함수내용 input : Price(Numeric),P(Numeric); var1 = ma(Price,P); if date != date[1] Then{ value1 = 0; value2 = 0; } value1 = value1+Price; value2 = value2+1; if dayindex+1 < P Then dayma = value1/value2; Else dayma = var1; 5. 해당 수식을 작성하기 위해서는 각 저점과 고점의 정의가 필요합니다. swinglow와 swinghigh로 대체해서 작성했습니다. 정리하신 상황별 내용을 종합하면 진입은 항상 가장 최근 직전의 고점+1틱에 진입하는 것으로 판단됩니다. swinghigh가 좌측으로는 값이 상승하다가 우측으로는 하락하는 것이므로 다른 조건없이 직전고점+1틱 매수진입으로 작성하면 a와 c등은 따로 지저할 필요가 없습니다. input : Left(3),Right(3); var1 = ma(C,20); if C < var1 Then{ if SwingHigh(1,H,Left,Right,Left+right+1) != -1 Then{ value1 = SwingHigh(1,H,Left,Right,Left+right+1); value2 = L; } if L < value2 Then value2 = L; buy("b",AtStop,value1+PriceScale); } if MarketPosition == 1 Then{ #진입이전 swinghigh와 진입봉 사이의 최저가-1틱 청산 exitlong("bx",AtStop,value2[BarsSinceEntry]-PriceScale); #진입이후 SwingLow 발생시 해당 SwingLow-1틱에 청산 if SwingLow(1,L,Left,Right,Left+right+1) != -1 Then{ value3 = SwingLow(1,L,Left,Right,Left+right+1); Condition1 = true; } if Condition1 == true Then exitlong("bx2",AtStop,value3-PriceScale); } 즐거운 하루되세요 > 에구머니 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 지표식과 한개의 시스템식 문의입니다. 감사합니다.