커뮤니티

수식 문의

프로필 이미지
에구머니
2020-11-23 17:44:42
540
글번호 144123
답변완료
수식 문의 드립니다. 첨부한 예전 수식을 수정하는 내용입니다. 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-11-23 17:04:02

안녕하세요 예스스탁입니다. ////////////////////////////////////////////////////////////////// input : Mode_1_3(3),howmany(5); input : n1(1), n2(1), n3(2),n4(3),n5(4); Input: k1(2), k2(3), k3(3), k4(4), k익절(5), k손절(6); var : upp(false), dnn(false), T(0), Left(3), right(3); var : ATRV(0),HH(0),LL(0),SHV(0),SHI(0),SLV(0),SLi(0); var : HC(0),LC(0),EP1(0),EP2(0),EP3(0),EP4(0); var1 = ma(C, 20); var2 = ma(C, 60); var3 = ma(C, 180); if var1 > var2 && var2 > var3 then { upp = true; dnn = false; } // 상방 else if var1 < var2 && var2 < var3 then { upp = false; dnn = true; } // 하방 ATRV = ATR(96); if upp Then { T = 1; if MarketPosition == -1 Then ExitShort(); } if dnn Then { T = -1; if MarketPosition == 1 Then exitlong(); } if SwingHigh(1,h,Left,right,Left+right+1) != -1 Then { SHV = H[3]; SHI = 0; } if SwingLow(1,l,Left,right,Left+right+1) != -1 Then { SLV = L[3]; SLI = 0; } SHI = SHI+1; SLI = SLI+1; if T == 1 and T != T[1] Then // HH == upp로 바뀐 이후의 최고값 HH = H; if T == -1 and T != T[1] Then // LL == dnn으로 바뀐 이후의 최저값 LL = L; if T == 1 Then { if H > HH Then HH = H; if T[1] != 1 Then buy("b1",OnClose,def,n1); if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] or (MarketPosition != MarketPosition(0)[1]) Then { HC = C; EP1 = LatestEntryPrice(0); EP2 = EP1[1]; EP3 = EP2[1]; EP4 = EP3[1]; } if HC > 0 and C > HC Then HC = C; if MaxEntries == 1 Then { if MaxEntries < Howmany and ((C < LatestEntryPrice(0) - k1*Atrv && C>O) or (C < LatestEntryPrice(0) - k2*Atrv) or (C < HC - k3*Atrv) or (C < HC - k4*ATrv and C > O)) Then Buy("b2",OnClose,DEf,n2); } if MaxEntries == 2 Then { if Howmany >= 2 Then ExitLong("b2p2",AtLimit,LatestEntryPrice(0) + k익절*ATrv,"b2"); if Howmany == 2 Then ExitLong("b2l2",Atstop,LatestEntryPrice(0) - k손절*ATrv,"b2"); if MaxEntries < Howmany and ((C < LatestEntryPrice(0) - k3*Atrv && C > O) or (C < LatestEntryPrice(0) - k4*ATrv)) Then Buy("b3",OnClose,DEf,n3); } if MaxEntries == 3 Then { if Howmany >= 3 Then { ExitLong("b3p2",AtLimit,(EP1+EP2)/2 + k익절*ATrv,"b2"); ExitLong("b3p3",AtLimit,(EP1+EP2)/2 + k익절*ATrv,"b3"); } if Howmany == 3 Then { ExitLong("b3l2",Atstop,(EP1+EP2)/2 - k손절*ATrv,"b2"); ExitLong("b3l3",Atstop,(EP1+EP2)/2 - k손절*ATrv,"b3"); } if MaxEntries < Howmany and ((C < LatestEntryPrice(0) - k3*Atrv && C > O) or (C < LatestEntryPrice(0) - k4*ATrv)) Then Buy("b4",OnClose,DEf,n4); } if MaxEntries == 4 Then { if Howmany >= 4 Then { ExitLong("b4p2",AtLimit,(EP1+EP2+EP3)/3 + k익절*ATrv,"b2"); ExitLong("b4p3",AtLimit,(EP1+EP2+EP3)/3 + k익절*ATrv,"b3"); ExitLong("b4p4",AtLimit,(EP1+EP2+EP3)/3 + k익절*ATrv,"b4"); } if Howmany == 4 Then { ExitLong("b4l2",Atstop,(EP1+EP2+EP4)/3 - k손절*ATrv,"b2"); ExitLong("b4l3",Atstop,(EP1+EP2+EP4)/3 - k손절*ATrv,"b3"); ExitLong("b4l4",Atstop,(EP1+EP2+EP4)/3 - k손절*ATrv,"b4"); } if MaxEntries < Howmany and ((C < LatestEntryPrice(0) - k3*Atrv && C > O) or (C < LatestEntryPrice(0) - k4*ATrv)) Then Buy("b5",OnClose,DEf,n5); } if MaxEntries == 5 Then { exitLong("b5p2",AtLimit,LatestEntryPrice(0) + k익절*ATrv,"b2"); exitLong("b5p3",AtLimit,LatestEntryPrice(0) + k익절*ATrv,"b3"); exitLong("b5p4",AtLimit,LatestEntryPrice(0) + k익절*ATrv,"b4"); exitLong("b5p5",AtLimit,LatestEntryPrice(0) + k익절*ATrv,"b5"); exitLong("b5l2",AtLimit,LatestEntryPrice(0) - k손절*ATrv,"b2"); exitLong("b5l3",AtLimit,LatestEntryPrice(0) - k손절*ATrv,"b3"); exitLong("b5l4",AtLimit,LatestEntryPrice(0) - k손절*ATrv,"b4"); exitLong("b5l5",AtLimit,LatestEntryPrice(0) - k손절*ATrv,"b5"); } } } if T == -1 Then { if L < LL Then LL = L; if T[1] != -1 Then Sell("s1",OnClose,def,n1); if MarketPosition == -1 Then { if CurrentContracts > CurrentContracts[1] or (MarketPosition != MarketPosition(0)[1]) Then { LC = L; EP1 = LatestEntryPrice(0); EP2 = EP1[1]; EP3 = EP2[1]; EP4 = EP3[1]; } if LC > 0 and C < LC Then LC = C; if MaxEntries == 1 Then { if MaxEntries < Howmany and ((C > LatestEntryPrice(0) + k1*Atrv && C < O) or (C > LatestEntryPrice(0) + k2*Atrv) or (C > LC + k3*Atrv) or (C > LC + k4*ATrv and C < O)) Then Sell("s2",OnClose,DEf,n2); } if MaxEntries == 2 Then { if Howmany >= 2 Then ExitShort("s2p2",AtLimit,LatestEntryPrice(0) - k익절*ATrv,"s2"); if Howmany == 2 Then ExitShort("s2l2",Atstop,LatestEntryPrice(0) + k손절*ATrv,"s2"); if MaxEntries < Howmany and ((C > LatestEntryPrice(0) + k3*Atrv && C < O) or (C > LatestEntryPrice(0) + k4*ATrv)) Then Sell("s3",OnClose,DEf,n3); } if MaxEntries == 3 Then { if Howmany >= 3 Then { ExitShort("s3p2",AtLimit,(EP1+EP2)/2 - k익절*ATrv,"s2"); ExitShort("s3p3",AtLimit,(EP1+EP2)/2 - k익절*ATrv,"s3"); } if Howmany == 3 Then { ExitShort("s3l2",Atstop,(EP1+EP2)/2 + k손절*ATrv,"s2"); ExitShort("s3l3",Atstop,(EP1+EP2)/2 + k손절*ATrv,"s3"); } if MaxEntries < Howmany and ((C > LatestEntryPrice(0) + k3*Atrv && C < O) or (C > LatestEntryPrice(0) + k4*ATrv)) Then Sell("s4",OnClose,DEf,n4); } if MaxEntries == 4 Then { if Howmany >= 4 Then { ExitShort("s4p2",AtLimit,(EP1+EP2+EP3)/3 - k익절*ATrv,"s2"); ExitShort("s4p3",AtLimit,(EP1+EP2+EP3)/3 - k익절*ATrv,"s3"); ExitShort("s4p4",AtLimit,(EP1+EP2+EP3)/3 - k익절*ATrv,"s4"); } if Howmany == 4 Then { ExitShort("s4l2",Atstop,(EP1+EP2+EP4)/3 + k손절*ATrv,"s2"); ExitShort("s4l3",Atstop,(EP1+EP2+EP4)/3 + k손절*ATrv,"s3"); ExitShort("s4l4",Atstop,(EP1+EP2+EP4)/3 + k손절*ATrv,"s4"); } if MaxEntries < Howmany and ((C > LatestEntryPrice(0) + k3*Atrv && C < O) or (C > LatestEntryPrice(0) + k4*ATrv)) Then Sell("s5",OnClose,DEf,n5); } if MaxEntries == 5 Then { ExitShort("s5p2",AtLimit,LatestEntryPrice(0) - k익절*ATrv,"s2"); ExitShort("s5p3",AtLimit,LatestEntryPrice(0) - k익절*ATrv,"s3"); ExitShort("s5p4",AtLimit,LatestEntryPrice(0) - k익절*ATrv,"s4"); ExitShort("s5p5",AtLimit,LatestEntryPrice(0) - k익절*ATrv,"s5"); ExitShort("s5l2",AtLimit,LatestEntryPrice(0) + k손절*ATrv,"s2"); ExitShort("s5l3",AtLimit,LatestEntryPrice(0) + k손절*ATrv,"s3"); ExitShort("s5l4",AtLimit,LatestEntryPrice(0) + k손절*ATrv,"s4"); ExitShort("s5l5",AtLimit,LatestEntryPrice(0) + k손절*ATrv,"s5"); } } } 즐거운 하루되세요 > 에구머니 님이 쓴 글입니다. > 제목 : 수식 문의 > 수식 문의 드립니다. 첨부한 예전 수식을 수정하는 내용입니다. 감사드립니다.