커뮤니티

문의드립니다

프로필 이미지
회원
2016-05-16 15:56:03
103
글번호 98119
답변완료
47731.. 작성 하여주신 수식 감사합니다. 현재 수식을 input식으로 바꾸어주셨으면 합니다. 그리고 손절이 되면 진입가격에 다시회복되면 다시 진입이 되었으면 합니다. 한번에 문의를 드려야하는데....ㅠㅠ 수고스럽지만 다시부탁 드리겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-05-17 12:55:11

안녕하세요 예스스탁입니다. 현재 수식이 매수진입이 크로스다운 시점이므로 손절은 data2의 가격이 data2의 진입시점값대비 5틱으로 되어 있고 익절은 data2의 가격이 data2의 진입시점값대비 -40,-50-70으로 되어 있습니다. 위와 반대로 손절이 진입시점대비 하락, 익절이 상승이면 2번식 이용하시면 됩니다. 1번 input : 진입시작횟수(3),진입끝횟수(7),손절틱수(5),수익틱수1(40),수익틱수2(50),수익틱수3(70); var : dncnt(0,data2),D2(0,data1); D2 = data2(c); if data2(date != date[1]) Then dncnt = 0; if data2(CrossDown(c,openD(0))) Then{ dncnt = dncnt +1; if dncnt >= 진입시작횟수 and dncnt <= 진입끝횟수 Then buy("b",OnClose,def,2); } #손절(BL신호)후 진입가격에 다시 도달하면 재진입 if MarketPosition == 0 and dncnt >= 진입시작횟수 and IsExitName("BL",1) == true Then{ if NextBarOpen < EntryPrice(1) then buy("bb",AtStop,EntryPrice(1)); else buy("bb.",Atlimit,EntryPrice(1)); } if MarketPosition == 1 Then{ if D2 >= D2[BarsSinceEntry]+data2(PriceScale*손절틱수) Then exitlong("BL"); if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP1" Then Condition1 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP2" Then Condition2 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP3" Then Condition3 = true; if Condition1 == false and MaxEntries >= 1 and D2 <= D2[BarsSinceEntry]-data2(PriceScale*수익틱수1) Then exitlong("BP1",OnClose,def,"",2,1); if Condition2 == false and MaxEntries >= 2 and D2 <= D2[BarsSinceEntry]-data2(PriceScale*수익틱수2) Then exitlong("BP2",OnClose,def,"",2,1); if Condition3 == false and MaxEntries >= 3 and D2 <= D2[BarsSinceEntry]-data2(PriceScale*수익틱수3) Then exitlong("BP3"); } Else{ Condition1 = false; Condition2 = false; Condition3 = false; } 2번 input : 진입시작횟수(3),진입끝횟수(7),손절틱수(5),수익틱수1(40),수익틱수2(50),수익틱수3(70); var : dncnt(0,data2),D2(0,data1); D2 = data2(c); if data2(date != date[1]) Then dncnt = 0; if data2(CrossDown(c,openD(0))) Then{ dncnt = dncnt +1; if dncnt >= 진입시작횟수 and dncnt <= 진입끝횟수 Then buy("b",OnClose,def,2); } #손절(BL신호)후 진입가격에 다시 도달하면 재진입 if MarketPosition == 0 and dncnt >= 진입시작횟수 and IsExitName("BL",1) == true Then{ if NextBarOpen < EntryPrice(1) then buy("bb",AtStop,EntryPrice(1)); else buy("bb.",Atlimit,EntryPrice(1)); } if MarketPosition == 1 Then{ if D2 <= D2[BarsSinceEntry]-data2(PriceScale*손절틱수) Then exitlong("BL"); if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP1" Then Condition1 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP2" Then Condition2 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "BP3" Then Condition3 = true; if Condition1 == false and MaxEntries >= 1 and D2 >= D2[BarsSinceEntry]+data2(PriceScale*수익틱수1) Then exitlong("BP1",OnClose,def,"",2,1); if Condition2 == false and MaxEntries >= 2 and D2 >= D2[BarsSinceEntry]+data2(PriceScale*수익틱수2) Then exitlong("BP2",OnClose,def,"",2,1); if Condition3 == false and MaxEntries >= 3 and D2 >= D2[BarsSinceEntry]+data2(PriceScale*수익틱수3) Then exitlong("BP3"); } Else{ Condition1 = false; Condition2 = false; Condition3 = false; } 즐거운 하루되세요 > leezard 님이 쓴 글입니다. > 제목 : 문의드립니다 > 47731.. 작성 하여주신 수식 감사합니다. 현재 수식을 input식으로 바꾸어주셨으면 합니다. 그리고 손절이 되면 진입가격에 다시회복되면 다시 진입이 되었으면 합니다. 한번에 문의를 드려야하는데....ㅠㅠ 수고스럽지만 다시부탁 드리겠습니다.