커뮤니티

수식 수정좀 부탁드립니다.

프로필 이미지
천왕봉
2017-02-28 11:51:22
103
글번호 107314
답변완료
아래 수식에 2가지 조건을 삽입하고자 합니다. 1. 신호 발생 당시의 가격이(신호 발생 캔들의 종가) 스톡캐스트 35 이상 65 이내의 범위에서는 신호를 발생하지 않는다. 2. 스톡 k 라인이 20 을 상향 돌파하면 매도청산 스톡 k 라인이 80 을 하향 이탈하면 매수청산 위 조건좀 아래 수식에 삽입해 주시면 고맙겠습니다. input : P(40); var : T(0), moveLine(0), OrderValue(0); moveLine = ma(C,P); if (T <= 0 and (moveLine > moveLine[1])) Then { OrderValue = Close; T = 1; } if (T >= 0 and (moveLine < moveLine[1])) Then { OrderValue = Close; T = -1; } if T == 1 then if (Close >= (OrderValue + (PriceScale * 1))) then //buy("매수",AtStop,value1+PriceScale*3); Buy("매수", OnClose); if T == -1 then //sell("매도",AtStop,value1-PriceScale*3); if (Close <= (OrderValue - (PriceScale *1))) then Sell("매도", OnClose); if MarketPosition == 1 Then{ var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*3)); if var1 > var1[1] Then Text_New(sdate,stime,H,NumToStr(var1*3,0)+"틱"); } if MarketPosition == -1 Then{ var1 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*3)); if var1 > var1[1] Then Text_New(sdate,stime,H,NumToStr(var1*3,0)+"틱"); }
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2017-02-28 13:10:04

안녕하세요 예스스탁입니다. input : P(40),sto1(10),sto2(5); var : T(0), moveLine(0), OrderValue(0),stok(0); moveLine = ma(C,P); stok = StochasticsK(sto1,sto2); if (T <= 0 and (moveLine > moveLine[1])) Then { OrderValue = Close; T = 1; } if (T >= 0 and (moveLine < moveLine[1])) Then { OrderValue = Close; T = -1; } if T == 1 then if (Close >= (OrderValue + (PriceScale * 1))) and (stok < 35 or stok > 65) then //buy("매수",AtStop,value1+PriceScale*3); Buy("매수", OnClose); if T == -1 then //sell("매도",AtStop,value1-PriceScale*3); if (Close <= (OrderValue - (PriceScale *1))) and (stok < 35 or stok > 65) then Sell("매도", OnClose); if MarketPosition == 1 Then{ var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*3)); if var1 > var1[1] Then Text_New(sdate,stime,H,NumToStr(var1*3,0)+"틱"); } if MarketPosition == -1 Then{ var1 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*3)); if var1 > var1[1] Then Text_New(sdate,stime,H,NumToStr(var1*3,0)+"틱"); } if MarketPosition == 1 and CrossDown(stok,80) Then exitlong(); if MarketPosition == -1 and CrossUp(stok,20) Then ExitShort(); 즐거운 하루되세요 > 천왕봉 님이 쓴 글입니다. > 제목 : 수식 수정좀 부탁드립니다. > 아래 수식에 2가지 조건을 삽입하고자 합니다. 1. 신호 발생 당시의 가격이(신호 발생 캔들의 종가) 스톡캐스트 35 이상 65 이내의 범위에서는 신호를 발생하지 않는다. 2. 스톡 k 라인이 20 을 상향 돌파하면 매도청산 스톡 k 라인이 80 을 하향 이탈하면 매수청산 위 조건좀 아래 수식에 삽입해 주시면 고맙겠습니다. input : P(40); var : T(0), moveLine(0), OrderValue(0); moveLine = ma(C,P); if (T <= 0 and (moveLine > moveLine[1])) Then { OrderValue = Close; T = 1; } if (T >= 0 and (moveLine < moveLine[1])) Then { OrderValue = Close; T = -1; } if T == 1 then if (Close >= (OrderValue + (PriceScale * 1))) then //buy("매수",AtStop,value1+PriceScale*3); Buy("매수", OnClose); if T == -1 then //sell("매도",AtStop,value1-PriceScale*3); if (Close <= (OrderValue - (PriceScale *1))) then Sell("매도", OnClose); if MarketPosition == 1 Then{ var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*3)); if var1 > var1[1] Then Text_New(sdate,stime,H,NumToStr(var1*3,0)+"틱"); } if MarketPosition == -1 Then{ var1 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*3)); if var1 > var1[1] Then Text_New(sdate,stime,H,NumToStr(var1*3,0)+"틱"); }
프로필 이미지

천왕봉

2017-02-28 23:06:53

1. 신호 발생 당시의 가격이(신호 발생 캔들의 종가) 스톡캐스트 35 이상 65 이내의 범위에서는 신호를 발생하지 않는다. --> 제가 주문한 위 내용을 잘 못 이해하신 것 같습니다. 의도하는 바는... 신호 발생 당시의 현재 가격이(신호발생 캔들의 종가) 스톡캐스틱 35이상 65 이내의 범위에 있을 때는 신호 발생이 안되게 하려고 합니다. 그런데 작성해주신 수식은 신호 발생 캔들의 종가가 아니라 스톡K 라인이 35이상 65이내의 범위에 있으면 신호 발생이 안되도로 하신 것 같습니다.. 죄송하지만 다시 한 번 살펴봐주시면 고맙겠습니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 수정좀 부탁드립니다. > 안녕하세요 예스스탁입니다. input : P(40),sto1(10),sto2(5); var : T(0), moveLine(0), OrderValue(0),stok(0); moveLine = ma(C,P); stok = StochasticsK(sto1,sto2); if (T <= 0 and (moveLine > moveLine[1])) Then { OrderValue = Close; T = 1; } if (T >= 0 and (moveLine < moveLine[1])) Then { OrderValue = Close; T = -1; } if T == 1 then if (Close >= (OrderValue + (PriceScale * 1))) and (stok < 35 or stok > 65) then //buy("매수",AtStop,value1+PriceScale*3); Buy("매수", OnClose); if T == -1 then //sell("매도",AtStop,value1-PriceScale*3); if (Close <= (OrderValue - (PriceScale *1))) and (stok < 35 or stok > 65) then Sell("매도", OnClose); if MarketPosition == 1 Then{ var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*3)); if var1 > var1[1] Then Text_New(sdate,stime,H,NumToStr(var1*3,0)+"틱"); } if MarketPosition == -1 Then{ var1 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*3)); if var1 > var1[1] Then Text_New(sdate,stime,H,NumToStr(var1*3,0)+"틱"); } if MarketPosition == 1 and CrossDown(stok,80) Then exitlong(); if MarketPosition == -1 and CrossUp(stok,20) Then ExitShort(); 즐거운 하루되세요 > 천왕봉 님이 쓴 글입니다. > 제목 : 수식 수정좀 부탁드립니다. > 아래 수식에 2가지 조건을 삽입하고자 합니다. 1. 신호 발생 당시의 가격이(신호 발생 캔들의 종가) 스톡캐스트 35 이상 65 이내의 범위에서는 신호를 발생하지 않는다. 2. 스톡 k 라인이 20 을 상향 돌파하면 매도청산 스톡 k 라인이 80 을 하향 이탈하면 매수청산 위 조건좀 아래 수식에 삽입해 주시면 고맙겠습니다. input : P(40); var : T(0), moveLine(0), OrderValue(0); moveLine = ma(C,P); if (T <= 0 and (moveLine > moveLine[1])) Then { OrderValue = Close; T = 1; } if (T >= 0 and (moveLine < moveLine[1])) Then { OrderValue = Close; T = -1; } if T == 1 then if (Close >= (OrderValue + (PriceScale * 1))) then //buy("매수",AtStop,value1+PriceScale*3); Buy("매수", OnClose); if T == -1 then //sell("매도",AtStop,value1-PriceScale*3); if (Close <= (OrderValue - (PriceScale *1))) then Sell("매도", OnClose); if MarketPosition == 1 Then{ var1 = Floor((highest(H,BarsSinceEntry)-EntryPrice)/(PriceScale*3)); if var1 > var1[1] Then Text_New(sdate,stime,H,NumToStr(var1*3,0)+"틱"); } if MarketPosition == -1 Then{ var1 = Floor((EntryPrice-Lowest(L,BarsSinceEntry))/(PriceScale*3)); if var1 > var1[1] Then Text_New(sdate,stime,H,NumToStr(var1*3,0)+"틱"); }