커뮤니티

수식작성

프로필 이미지
푸른
2021-06-22 07:24:45
1774
글번호 150160
답변완료

첨부 이미지

input : StartTime(70000),EndTime(55000),Xtime(55500); var : Tcond(false),entry(0); var : B1(0),B2(0),BX1(0),BX2(0); var : S1(0),S2(0),SX1(0),SX2(0); if sdate != sDate[1] Then SetStopEndofday(Xtime); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; SetStopEndofday(0); entry = 0; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; B1 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.638; B2 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.939; BX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*1.400; BX2 = DayHigh(1); S1 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.118; S2 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.230; SX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*-0.236; SX2 = DayLow(1)+(DayHigh(1)-DayLow(1))*-0.764; if Tcond == true and entry < 1 Then { if (MarketPosition == 0 or (MarketPosition == 1 and MaxEntries == 1)) Then { if L > B1 Then Buy("b1",AtLimit,B1); if L > B2 Then Buy("b2",AtLimit,B2); } if MarketPosition == 1 Then { ExitLong("bx1",AtLimit,BX1,"B1"); ExitLong("bx2",AtLimit,BX2,"B2"); } if (MarketPosition == 0 or (MarketPosition == -1 and MaxEntries == 1)) Then { if H < S1 Then Sell("S1",AtLimit,S1); if H < S2 Then Sell("s2",AtLimit,S2); } if MarketPosition == -1 Then { ExitShort("sx1",AtLimit,SX1,"S1"); ExitShort("sx2",AtLimit,SX2,"S2"); } } SetStopProfittarget(PriceScale*300,PointStop); SetStopLoss(PriceScale*30,PointStop); -------------------------------- 늘 감사드립니다. s1 (-0.118) 진입후 전일 피보나치 전체 수열의 0.236로 청산되는 수식 작성에 어려움이 있네요 수정 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-06-22 10:10:53

안녕하세요 예스스탁입니다. 1 첨부하신 그림에서 청산시점은 전일저가+(전일폭)*0.236입니다. 수식에는 전일저가+(전일폭)*-0.236로 되어 있어 전일저가 보다 낮은 값이 됩니다. 진입시점이나 청산시점 지정하실때 아래 지표로 지정한 값의 위치 확인하시면 됩니다. input : StartTime(70000),EndTime(55000),Xtime(55500); var : Tcond(false),entry(0); var : B1(0),B2(0),BX1(0),BX2(0); var : S1(0),S2(0),SX1(0),SX2(0); B1 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.638; B2 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.939; BX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*1.400; BX2 = DayHigh(1); S1 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.118; S2 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.230; SX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*0.236; SX2 = DayLow(1)+(DayHigh(1)-DayLow(1))*-0.764; Plot1(DayHigh(1)); Plot2(S1); Plot3(S2); plot4(SX1); plot5(SX2); plot6(DayLow(1)); 2 SX2값은 어떤값으로 지정해 드릴지 알수 없어 그대로 두었습니다. 위 지표로 값확인하시고 수정하시기 바랍니다. input : StartTime(70000),EndTime(55000),Xtime(55500); var : Tcond(false),entry(0); var : B1(0),B2(0),BX1(0),BX2(0); var : S1(0),S2(0),SX1(0),SX2(0); if sdate != sDate[1] Then SetStopEndofday(Xtime); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; SetStopEndofday(0); entry = 0; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; B1 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.638; B2 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.939; BX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*1.400; BX2 = DayHigh(1); S1 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.118; S2 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.230; SX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*0.236; SX2 = DayLow(1)+(DayHigh(1)-DayLow(1))*-0.764; if Tcond == true and entry < 1 Then { if (MarketPosition == 0 or (MarketPosition == 1 and MaxEntries == 1)) Then { if L > B1 Then Buy("b1",AtLimit,B1); if L > B2 Then Buy("b2",AtLimit,B2); } if MarketPosition == 1 Then { ExitLong("bx1",AtLimit,BX1,"B1"); ExitLong("bx2",AtLimit,BX2,"B2"); } if (MarketPosition == 0 or (MarketPosition == -1 and MaxEntries == 1)) Then { if H < S1 Then Sell("S1",AtLimit,S1); if H < S2 Then Sell("s2",AtLimit,S2); } if MarketPosition == -1 Then { ExitShort("sx1",AtLimit,SX1,"S1"); ExitShort("sx2",AtLimit,SX2,"S2"); } } SetStopProfittarget(PriceScale*300,PointStop); SetStopLoss(PriceScale*30,PointStop); 즐거운 하루되세요 > 푸른 님이 쓴 글입니다. > 제목 : 수식작성 > input : StartTime(70000),EndTime(55000),Xtime(55500); var : Tcond(false),entry(0); var : B1(0),B2(0),BX1(0),BX2(0); var : S1(0),S2(0),SX1(0),SX2(0); if sdate != sDate[1] Then SetStopEndofday(Xtime); if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then { Tcond = true; SetStopEndofday(0); entry = 0; } if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; B1 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.638; B2 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.939; BX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*1.400; BX2 = DayHigh(1); S1 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.118; S2 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.230; SX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*-0.236; SX2 = DayLow(1)+(DayHigh(1)-DayLow(1))*-0.764; if Tcond == true and entry < 1 Then { if (MarketPosition == 0 or (MarketPosition == 1 and MaxEntries == 1)) Then { if L > B1 Then Buy("b1",AtLimit,B1); if L > B2 Then Buy("b2",AtLimit,B2); } if MarketPosition == 1 Then { ExitLong("bx1",AtLimit,BX1,"B1"); ExitLong("bx2",AtLimit,BX2,"B2"); } if (MarketPosition == 0 or (MarketPosition == -1 and MaxEntries == 1)) Then { if H < S1 Then Sell("S1",AtLimit,S1); if H < S2 Then Sell("s2",AtLimit,S2); } if MarketPosition == -1 Then { ExitShort("sx1",AtLimit,SX1,"S1"); ExitShort("sx2",AtLimit,SX2,"S2"); } } SetStopProfittarget(PriceScale*300,PointStop); SetStopLoss(PriceScale*30,PointStop); -------------------------------- 늘 감사드립니다. s1 (-0.118) 진입후 전일 피보나치 전체 수열의 0.236로 청산되는 수식 작성에 어려움이 있네요 수정 부탁드립니다.