커뮤니티

수식부탁드립니다.

프로필 이미지
베비슬립
2019-06-29 03:52:29
178
글번호 129863
답변완료
부탁드린대로 잘만들어주셔서 감사드립니다.. 제가 스스로 응용하여 만들어보려했으나 부족한능력으로 한계가있어 다시문의드리게되었습니다. 1) 3계약중 첫번째1계약 목표가가 S1 .R1이었다면 진입가에서 +- 35틱 익절로 부탁드립니다. (SetStopProfittarget(PriceScale*35,PointStop)으로하니 2회이상진입 되더라구요.. 2)당일 손절발생시에만 S3 = Dayhigh-PriceScale*120; 에서 매수 , R3 = Daylow+PriceScale*120; 에서 매도 진입, 청산은 70틱익절 3) 3번째계약은 목표가를 매수시 R3 , 매도시 S3으로 부탁드리고 트레일링스탑은 2차청산(S2,R2지점)이되면 S2,R2에서 위아래로 15틱이상움직엿을시 2차청산지점(S2,R2)에서 청산 S3 = Dayhigh-PriceScale*120; R3 = Daylow+PriceScale*120; 4) 기존전략이 35틱 움직였을시 본절청산이었는데요 1번째계약이 S1,R1에서 청산되었을시, 나머지2,3계약은 본절에서 모두청산되게 부탁드립니다. 언제나 감사드립니다 항상행복하세요.. --------------------------------------------------------- 안녕하세요 예스스탁입니다. 식을 수정했습니다. 1 input : xtime(050000); var : R2(0),R1(0),S1(0),S2(0),entry(0); var : Tcond(false),BX1(false),BX2(false),SX1(false),SX2(false); if bdate != bdate[1] then { Tcond = true; entry = 0; } if (sdate != sdate[1] and stime >= xtime) or (sdate == sdate[1] and stime >= xtime and stime[1] < xtime) then { Tcond = false; if MarketPosition == 1 Then ExitLong("BX"); if MarketPosition == -1 Then ExitShort("SX"); } R2 = DayLow+PriceScale*90; R1 = DayLow+PriceScale*55; S1 = DayHigh-PriceScale*55; S2 = DayHigh-PriceScale*90; if MarketPosition(0) != 0 and MarketPosition(0) != MarketPosition(0)[1] Then entry = entry+1; if Tcond == true then { if MarketPosition <= 0 and entry < 1 Then { if H < S1 Then buy("b1",AtStop,S1,3); if L > S1 then buy("b2",AtLimit,S1,3); } if MarketPosition >= 0 and entry < 1 Then { if L > R1 Then sell("R1",AtStop,R1,3); if H < R1 Then sell("R2",AtLimit,R1,3); } if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] Then { BX1 = false; BX2 = false; } if CurrentContracts < CurrentContracts[1] then { if (LatestExitName(0) == "bx11" or LatestExitName(0) == "bx12") Then BX1 = true; if (LatestExitName(0) == "bx21" or LatestExitName(0) == "bx22") Then BX2 = true; } if BX1 == false Then { if H < R1 Then ExitLong("bx11",AtLimit,R1,"",1,1); if L > R1 Then ExitLong("bx12",AtStop,R1,"",1,1); } if BX2 == false Then { if H < R2 Then ExitLong("bx21",AtLimit,R2,"",1,1); if L > R2 Then ExitLong("bx22",AtStop,R2,"",1,1); } if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*35 Then ExitLong("bx3",AtStop,EntryPrice); } if MarketPosition == -1 then { if CurrentContracts > CurrentContracts[1] Then { SX1 = false; SX2 = false; } if CurrentContracts < CurrentContracts[1] then { if (LatestExitName(0) == "sx11" or LatestExitName(0) == "sx12") Then SX1 = true; if (LatestExitName(0) == "sx21" or LatestExitName(0) == "sx22") Then SX2 = true; } if SX1 == False then { if L > S1 Then ExitShort("sx11",AtLimit,S1,"",1,1); if H < S1 Then ExitShort("sx12",AtStop,S1,"",1,1); } if SX2 == false then { if L > S2 Then ExitShort("sx21",AtLimit,S2,"",1,1); if H < S2 Then ExitShort("sx22",AtStop,S2,"",1,1); } if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*35 Then ExitShort("sx3",AtStop,EntryPrice); } } SetStopLoss(PriceScale*20,PointStop); 즐거운 하루되세요
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2019-07-01 10:32:34

안녕하세요 예스스탁입니다. 내용이 정확히 판단되지 않습니다. 02-3453-1060으로 전화주시기 바랍니다. 즐거운 하루되세요 > 베비슬립 님이 쓴 글입니다. > 제목 : 수식부탁드립니다. > 부탁드린대로 잘만들어주셔서 감사드립니다.. 제가 스스로 응용하여 만들어보려했으나 부족한능력으로 한계가있어 다시문의드리게되었습니다. 1) 3계약중 첫번째1계약 목표가가 S1 .R1이었다면 진입가에서 +- 35틱 익절로 부탁드립니다. (SetStopProfittarget(PriceScale*35,PointStop)으로하니 2회이상진입 되더라구요.. 2)당일 손절발생시에만 S3 = Dayhigh-PriceScale*120; 에서 매수 , R3 = Daylow+PriceScale*120; 에서 매도 진입, 청산은 70틱익절 3) 3번째계약은 목표가를 매수시 R3 , 매도시 S3으로 부탁드리고 트레일링스탑은 2차청산(S2,R2지점)이되면 S2,R2에서 위아래로 15틱이상움직엿을시 2차청산지점(S2,R2)에서 청산 S3 = Dayhigh-PriceScale*120; R3 = Daylow+PriceScale*120; 4) 기존전략이 35틱 움직였을시 본절청산이었는데요 1번째계약이 S1,R1에서 청산되었을시, 나머지2,3계약은 본절에서 모두청산되게 부탁드립니다. 언제나 감사드립니다 항상행복하세요.. --------------------------------------------------------- 안녕하세요 예스스탁입니다. 식을 수정했습니다. 1 input : xtime(050000); var : R2(0),R1(0),S1(0),S2(0),entry(0); var : Tcond(false),BX1(false),BX2(false),SX1(false),SX2(false); if bdate != bdate[1] then { Tcond = true; entry = 0; } if (sdate != sdate[1] and stime >= xtime) or (sdate == sdate[1] and stime >= xtime and stime[1] < xtime) then { Tcond = false; if MarketPosition == 1 Then ExitLong("BX"); if MarketPosition == -1 Then ExitShort("SX"); } R2 = DayLow+PriceScale*90; R1 = DayLow+PriceScale*55; S1 = DayHigh-PriceScale*55; S2 = DayHigh-PriceScale*90; if MarketPosition(0) != 0 and MarketPosition(0) != MarketPosition(0)[1] Then entry = entry+1; if Tcond == true then { if MarketPosition <= 0 and entry < 1 Then { if H < S1 Then buy("b1",AtStop,S1,3); if L > S1 then buy("b2",AtLimit,S1,3); } if MarketPosition >= 0 and entry < 1 Then { if L > R1 Then sell("R1",AtStop,R1,3); if H < R1 Then sell("R2",AtLimit,R1,3); } if MarketPosition == 1 then { if CurrentContracts > CurrentContracts[1] Then { BX1 = false; BX2 = false; } if CurrentContracts < CurrentContracts[1] then { if (LatestExitName(0) == "bx11" or LatestExitName(0) == "bx12") Then BX1 = true; if (LatestExitName(0) == "bx21" or LatestExitName(0) == "bx22") Then BX2 = true; } if BX1 == false Then { if H < R1 Then ExitLong("bx11",AtLimit,R1,"",1,1); if L > R1 Then ExitLong("bx12",AtStop,R1,"",1,1); } if BX2 == false Then { if H < R2 Then ExitLong("bx21",AtLimit,R2,"",1,1); if L > R2 Then ExitLong("bx22",AtStop,R2,"",1,1); } if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*35 Then ExitLong("bx3",AtStop,EntryPrice); } if MarketPosition == -1 then { if CurrentContracts > CurrentContracts[1] Then { SX1 = false; SX2 = false; } if CurrentContracts < CurrentContracts[1] then { if (LatestExitName(0) == "sx11" or LatestExitName(0) == "sx12") Then SX1 = true; if (LatestExitName(0) == "sx21" or LatestExitName(0) == "sx22") Then SX2 = true; } if SX1 == False then { if L > S1 Then ExitShort("sx11",AtLimit,S1,"",1,1); if H < S1 Then ExitShort("sx12",AtStop,S1,"",1,1); } if SX2 == false then { if L > S2 Then ExitShort("sx21",AtLimit,S2,"",1,1); if H < S2 Then ExitShort("sx22",AtStop,S2,"",1,1); } if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*35 Then ExitShort("sx3",AtStop,EntryPrice); } } SetStopLoss(PriceScale*20,PointStop); 즐거운 하루되세요
프로필 이미지

베비슬립

2019-07-01 12:06:32

베비슬립 님에 의해 삭제된 답변입니다.