커뮤니티

수식 보완 부탁드립니다..

프로필 이미지
황금오리
2017-01-17 20:17:35
113
글번호 106024
답변완료
Input : af(0.018), maxAF(0.09),시작시간(170000),종료시간(40000); Var : value(0),Tcond(false),T(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{ T = 0; Tcond = true; } if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{ Tcond = false; if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } value = sar(af,maxAF); if Tcond == true then{ If T <= 0 and C > value Then { T = 1; Buy(); } If T <= 1 and C < value Then { T = 0; Sell(); } } SetStopProfittarget(PriceScale*15,pointstop); 안녕하세요..^^ 수식을 만드는데 도움을 주셔서 감사합니다. 그런데 추가적인 문제가 있어서...위 수식에서 첫번째 문제점은 시작시간에 바로 진입이 된다는 것입니다. 시작시간에 바로 진입하지 않고 그 다음 신호부터 거래가 시작되면 좋겠습니다. 그리고 목표수익이 달성되면 매매가 종료되도록 했으면 좋겠습니다. 예를 들면 목표수익을 20틱으로 설정하고 15틱 수익청산 후 다음 신호에 진입하여 5틱 수익이 달성되면 매매가 종료되는 것입니다. 마지막으로 수익이 달성되지 못해 매매가 계속 될 경우 매매횟수를 3회로 제한하고 싶습니다. 그럼 부탁드립니다... 수고하세요.^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-01-18 09:34:09

안녕하세요 예스스탁입니다. Input : af(0.018), maxAF(0.09),시작시간(170000),종료시간(40000),당일수익틱수(20); Var : value(0),Tcond(false),T(0),N1(0),entry(0),T1(0),dayPl(0),당일수익(0),Xcond(false); 당일수익 = PriceScale*당일수익틱수; if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{ T = 0; Tcond = true; Xcond = false; T1 = TotalTrades; N1 = NetProfit; } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbx",1) == true or IsExitName("dsx",1) == true) then Xcond = true; if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{ Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } value = sar(af,maxAF); if Tcond == true and entry < 3 and Xcond == false then{ If T <= 0 and crossup(c,value) Then { T = 1; Buy(); } If T <= 1 and CrossDown(C,value) Then { T= -1; Sell(); } } if MarketPosition == 1 then ExitLong("dbx",atlimit,EntryPrice+당일수익-daypl); if MarketPosition == -1 then ExitShort("dsx",atlimit,EntryPrice-당일수익+daypl); SetStopProfittarget(PriceScale*15,pointstop); 즐거운 하루되세요 > 황금오리 님이 쓴 글입니다. > 제목 : 수식 보완 부탁드립니다.. > Input : af(0.018), maxAF(0.09),시작시간(170000),종료시간(40000); Var : value(0),Tcond(false),T(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{ T = 0; Tcond = true; } if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{ Tcond = false; if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } value = sar(af,maxAF); if Tcond == true then{ If T <= 0 and C > value Then { T = 1; Buy(); } If T <= 1 and C < value Then { T = 0; Sell(); } } SetStopProfittarget(PriceScale*15,pointstop); 안녕하세요..^^ 수식을 만드는데 도움을 주셔서 감사합니다. 그런데 추가적인 문제가 있어서...위 수식에서 첫번째 문제점은 시작시간에 바로 진입이 된다는 것입니다. 시작시간에 바로 진입하지 않고 그 다음 신호부터 거래가 시작되면 좋겠습니다. 그리고 목표수익이 달성되면 매매가 종료되도록 했으면 좋겠습니다. 예를 들면 목표수익을 20틱으로 설정하고 15틱 수익청산 후 다음 신호에 진입하여 5틱 수익이 달성되면 매매가 종료되는 것입니다. 마지막으로 수익이 달성되지 못해 매매가 계속 될 경우 매매횟수를 3회로 제한하고 싶습니다. 그럼 부탁드립니다... 수고하세요.^^