커뮤니티

시스템식 문의

프로필 이미지
에구머니
2013-05-21 11:05:26
218
글번호 63378
답변완료
늘 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-05-21 10:48:53

안녕하세요 예스스탁입니다. 1~8모두 사용자함수로 작성해 사용하시면 됩니다. 1. 사용자함수명 :mhh 반환값형 : 숫자형 input : value(Numeric),idx(Numeric); if CurrentBar == 1 Then var1 = value; if CurrentBar >= 1 and CurrentBar <= idx Then{ if value > var1 Then var1 = value; } mhh = var1; 2 사용자함수명 :mll 반환값형 : 숫자형 input : value(Numeric),idx(Numeric); if CurrentBar == 1 Then var1 = value; if CurrentBar >= 1 and CurrentBar <= idx Then{ if value < var1 Then var1 = value; } mll = var1; 3. 사용자함수명 : mmacd 반환값형 : 숫자형 input : price(Numeric),Period1(Numeric),Period2(Numeric); mmacd = ema(Price,Period1)-ema(Price,Period2); 4 사용자함수명 : mmacdsig 반환값형 : 숫자형 input : price(Numeric),Period1(Numeric),Period2(Numeric),Period3(Numeric); mmacdsig= ema(ema(Price,Period1)-ema(Price,Period2),Period3); 5. 사용자함수명 : mupperband 반환값형 : 숫자형 Input : price(Numeric),Period(Numeric), Dv(Numeric); mupperband = ma(price, Period) + (Dv * std(price, Period)); 6. 사용자함수명 : mlowerband 반환값형 : 숫자형 Input : price(Numeric),Period(Numeric), Dv(Numeric); mlowerband = ma(price, Period) + (Dv * std(price, Period)); 7. 사용자함수명 : mStochasticsK 반환값형 : 숫자형 Input : Price(Numeric),Period1(Numeric),Period2(Numeric); Var : Value_Lowest(0), Value_Highest(0),FK(0); Value_Lowest = Lowest(Price, Period1); Value_Highest = Highest(Price, Period1); FK = (Price - Value_Lowest) / (Value_Highest - Value_Lowest) * 100; mStochasticsK = ema(fk,Period2); 8. 사용자함수명 : mStochasticsD 반환값형 : 숫자형 Input : Price(Numeric),Period1(Numeric),Period2(Numeric),Period3(Numeric); Var : Value_Lowest(0), Value_Highest(0),FK(0),SK(0); Value_Lowest = Lowest(Price, Period1); Value_Highest = Highest(Price, Period1); FK = (Price - Value_Lowest) / (Value_Highest - Value_Lowest) * 100; SK = ema(fk,Period2); mStochasticsD = ema(Sk,Period3); 9. 시스템(매수) 청산함수는 진입신호당 한번씩만 발생을 합니다. 그러므로 문의하신 내용의 경우 아래와 같이 청산함수를 많이 사용하셔야 합니다. 포지션 진입하고 순번을 정해 청산이 발생합니다. 필요하신 만큰 추가하셔야 합니다. input : Imoney(10000000); var : vol(0),diff(0),Xcnt(0); #kospi if CodeCategory == 1 Then{ if BasePrice < 50000 Then vol = int(int(Imoney/C)/10)*10; Else vol = int(Imoney/C); } if CodeCategory == 2 Then vol = int(Imoney/C); if CodeCategory == 6 or CodeCategory == 8 Then vol = int((Imoney)/(C*BigPointValue)); if MarketPosition == 0 and stime == 140000 Then buy("b",OnClose,def,vol); if MarketPosition == 1 Then{ if CurrentContracts < CurrentContracts[1] Then Xcnt = Xcnt+1; if stime == 140000 Then{ var1 = Imoney-((CurrentContracts*c)*BigPointValue); if CodeCategory == 1 Then{ if BasePrice < 50000 Then diff = int(int(abs(var1)/C)/10)*10; Else diff = int(abs(var1)/C); } if CodeCategory == 2 Then diff = int(abs(var1)/C); if CodeCategory == 6 or CodeCategory == 8 Then diff = int((abs(var1))/(C*BigPointValue)); if var1 > 0 Then buy("bb",OnClose,def,diff); if var1 < 0 Then{ if Xcnt == 0 Then ExitLong("bx1",OnClose,def,"",diff,1); if Xcnt == 1 Then ExitLong("bx2",OnClose,def,"",diff,1); if Xcnt == 2 Then ExitLong("bx3",OnClose,def,"",diff,1); if Xcnt == 3 Then ExitLong("bx4",OnClose,def,"",diff,1); if Xcnt == 4 Then ExitLong("bx5",OnClose,def,"",diff,1); if Xcnt == 5 Then ExitLong("bx6",OnClose,def,"",diff,1); if Xcnt == 6 Then ExitLong("bx7",OnClose,def,"",diff,1); if Xcnt == 7 Then ExitLong("bx8",OnClose,def,"",diff,1); if Xcnt == 8 Then ExitLong("bx9",OnClose,def,"",diff,1); if Xcnt == 9 Then ExitLong("bx10",OnClose,def,"",diff,1); if Xcnt == 10 Then ExitLong("bx11",OnClose,def,"",diff,1); if Xcnt == 11 Then ExitLong("bx12",OnClose,def,"",diff,1); if Xcnt == 12 Then ExitLong("bx13",OnClose,def,"",diff,1); if Xcnt == 13 Then ExitLong("bx14",OnClose,def,"",diff,1); if Xcnt == 14 Then ExitLong("bx15",OnClose,def,"",diff,1); if Xcnt == 15 Then ExitLong("bx16",OnClose,def,"",diff,1); if Xcnt == 16 Then ExitLong("bx17",OnClose,def,"",diff,1); if Xcnt == 17 Then ExitLong("bx18",OnClose,def,"",diff,1); if Xcnt == 18 Then ExitLong("bx19",OnClose,def,"",diff,1); if Xcnt == 19 Then ExitLong("bx20",OnClose,def,"",diff,1); } } } 10 시스템(매도) input : Imoney(10000000); var : vol(0),diff(0),Xcnt(0); #kospi if CodeCategory == 1 Then{ if BasePrice < 50000 Then vol = int(int(Imoney/C)/10)*10; Else vol = int(Imoney/C); } if CodeCategory == 2 Then vol = int(Imoney/C); if CodeCategory == 6 or CodeCategory == 8 Then vol = int((Imoney)/(C*BigPointValue)); if MarketPosition == 0 and stime == 140000 Then sell("s",OnClose,def,vol); if MarketPosition == -1 Then{ if CurrentContracts < CurrentContracts[1] Then Xcnt = Xcnt+1; if stime == 140000 Then{ var1 = Imoney-((CurrentContracts*c)*BigPointValue); if CodeCategory == 1 Then{ if BasePrice < 50000 Then diff = int(int(abs(var1)/C)/10)*10; Else diff = int(abs(var1)/C); } if CodeCategory == 2 Then diff = int(abs(var1)/C); if CodeCategory == 6 or CodeCategory == 8 Then diff = int((abs(var1))/(C*BigPointValue)); if var1 > 0 Then sell("ss",OnClose,def,diff); if var1 < 0 Then{ if Xcnt == 0 Then ExitShort("bx1",OnClose,def,"",diff,1); if Xcnt == 1 Then ExitShort("bx2",OnClose,def,"",diff,1); if Xcnt == 2 Then ExitShort("bx3",OnClose,def,"",diff,1); if Xcnt == 3 Then ExitShort("bx4",OnClose,def,"",diff,1); if Xcnt == 4 Then ExitShort("bx5",OnClose,def,"",diff,1); if Xcnt == 5 Then ExitShort("bx6",OnClose,def,"",diff,1); if Xcnt == 6 Then ExitShort("bx7",OnClose,def,"",diff,1); if Xcnt == 7 Then ExitShort("bx8",OnClose,def,"",diff,1); if Xcnt == 8 Then ExitShort("bx9",OnClose,def,"",diff,1); if Xcnt == 9 Then ExitShort("bx10",OnClose,def,"",diff,1); if Xcnt == 10 Then ExitShort("bx11",OnClose,def,"",diff,1); if Xcnt == 11 Then ExitShort("bx12",OnClose,def,"",diff,1); if Xcnt == 12 Then ExitShort("bx13",OnClose,def,"",diff,1); if Xcnt == 13 Then ExitShort("bx14",OnClose,def,"",diff,1); if Xcnt == 14 Then ExitShort("bx15",OnClose,def,"",diff,1); if Xcnt == 15 Then ExitShort("bx16",OnClose,def,"",diff,1); if Xcnt == 16 Then ExitShort("bx17",OnClose,def,"",diff,1); if Xcnt == 17 Then ExitShort("bx18",OnClose,def,"",diff,1); if Xcnt == 18 Then ExitShort("bx19",OnClose,def,"",diff,1); if Xcnt == 19 Then ExitShort("bx20",OnClose,def,"",diff,1); } } } 즐거운 하루되세요 > 에구머니 님이 쓴 글입니다. > 제목 : 시스템식 문의 > 늘 감사드립니다.