커뮤니티

문의

프로필 이미지
목마와숙녀
2024-01-31 12:33:10
887
글번호 176263
답변완료

첨부 이미지

첨부파일은 아래수식의 진입결과입니다. p1 337, p2 337.5 로 진입가격을 세팅했는데 상승갭 발생이 없을 때는 그 가격대로 체결하지만 상승갭 발생하면 세팅가격과는 다르게 시가로 p1,p2가 동시에 체결합니다. 전일 마지막봉과 무관하게 당일 발생봉부터 계산하여 세팅가격대로 체결할 수 있게 정정해 주시기 바랍니다. ********************************************************************************** 안녕하세요 예스스탁입니다. IsEntryName은 해당 포지션의 첫진입의 이름입니다. 또한 해당함수가 특정이름의 청산을 의미하지 않습니다. 청산시 특정이름을 청산하고자 하시면 청산함수에 진입명을 지정하시면 됩니다. input :p1(337),라인1(5); input :st(120000),p2(337.5),라인2(7.5); var : cnta(0,Data1),cntb(0,Data1); if Bdate != Bdate[1] Then { cnta = 0; cntb = 0; } if crossup(c,p1) and cnta < 1 then { cnta = cnta+1; Buy("a"); } if stime>=st and crossup(c,p2) and cntb < 1 then { cntb = cntb+1; Buy("b"); } if MarketPosition == 1 Then { var1 = data2(Floor(DayOpen/라인1)*라인1); value1 = var1+라인1; Value2 = var1; if Data2((Bdate == Bdate[1] and C > value1)) or Data2((Bdate == Bdate[1] and Crossup(c,Value1))) Then ExitLong("L1",OnClose,Def,"a"); var2 = data3(Floor(DayOpen/라인2)*라인2); value2 = var2+라인2; Value3 = var2; if Data3((Bdate == Bdate[1] and C > value2)) or Data3((Bdate == Bdate[1] and Crossup(c,Value2))) Then ExitLong("L2",OnClose,Def,"b"); } 즐거운 하루되세요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-01-31 15:35:57

안녕하세요 예스스탁입니다. 올리신 수식은 신호가 onclose타입으로 모두 종가기준입니다. 시가로 체크하지 않습니다. crossup,crossdown은 현재봉 상태와 전봉상태를 비교하게 됩니다. 첫봉에서 전봉은 전일봉이므로 첫봉은 시가는 지정한 값 이하이고 종가가 지정값보다 크면 신호발생하고 두번째 봉이후는 crossup으로 조건체크하게 수정해 드립니다. input :p1(337),라인1(5); input :st(120000),p2(337.5),라인2(7.5); var : cnta(0,Data1),cntb(0,Data1); if Bdate != Bdate[1] Then { cnta = 0; cntb = 0; } if cnta < 1 and ((Bdate != Bdate[1] and C > P1 and P1 >= O) or (Bdate == Bdate[1] and crossup(c,p1))) then { cnta = cnta+1; Buy("a"); } if stime>=st and crossup(c,p2) and cntb < 1 and ((Bdate != Bdate[1] and C > P2 and P2 >= O) or (Bdate == Bdate[1] and crossup(c,p2))) then { cntb = cntb+1; Buy("b"); } if MarketPosition == 1 Then { var1 = data2(Floor(DayOpen/라인1)*라인1); value1 = var1+라인1; Value2 = var1; if Data2((Bdate == Bdate[1] and C > value1)) or Data2((Bdate == Bdate[1] and Crossup(c,Value1))) Then ExitLong("L1",OnClose,Def,"a"); var2 = data3(Floor(DayOpen/라인2)*라인2); value2 = var2+라인2; Value3 = var2; if Data3((Bdate == Bdate[1] and C > value2)) or Data3((Bdate == Bdate[1] and Crossup(c,Value2))) Then ExitLong("L2",OnClose,Def,"b"); } 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 문의 > 첨부파일은 아래수식의 진입결과입니다. p1 337, p2 337.5 로 진입가격을 세팅했는데 상승갭 발생이 없을 때는 그 가격대로 체결하지만 상승갭 발생하면 세팅가격과는 다르게 시가로 p1,p2가 동시에 체결합니다. 전일 마지막봉과 무관하게 당일 발생봉부터 계산하여 세팅가격대로 체결할 수 있게 정정해 주시기 바랍니다. ********************************************************************************** 안녕하세요 예스스탁입니다. IsEntryName은 해당 포지션의 첫진입의 이름입니다. 또한 해당함수가 특정이름의 청산을 의미하지 않습니다. 청산시 특정이름을 청산하고자 하시면 청산함수에 진입명을 지정하시면 됩니다. input :p1(337),라인1(5); input :st(120000),p2(337.5),라인2(7.5); var : cnta(0,Data1),cntb(0,Data1); if Bdate != Bdate[1] Then { cnta = 0; cntb = 0; } if crossup(c,p1) and cnta < 1 then { cnta = cnta+1; Buy("a"); } if stime>=st and crossup(c,p2) and cntb < 1 then { cntb = cntb+1; Buy("b"); } if MarketPosition == 1 Then { var1 = data2(Floor(DayOpen/라인1)*라인1); value1 = var1+라인1; Value2 = var1; if Data2((Bdate == Bdate[1] and C > value1)) or Data2((Bdate == Bdate[1] and Crossup(c,Value1))) Then ExitLong("L1",OnClose,Def,"a"); var2 = data3(Floor(DayOpen/라인2)*라인2); value2 = var2+라인2; Value3 = var2; if Data3((Bdate == Bdate[1] and C > value2)) or Data3((Bdate == Bdate[1] and Crossup(c,Value2))) Then ExitLong("L2",OnClose,Def,"b"); } 즐거운 하루되세요