커뮤니티

함수수정요청(226호)

프로필 이미지
통큰베팅
2016-01-15 17:37:41
144
글번호 94468
답변완료
안녕하세요? 아래의 함수를 수정요청드립니다. 매수와 매도를 하루에 진입기준으로 최대 각 1회씩(2회이상은 신호제어)만 나오도록 하고 싶습니다. 즉 하루에 최대 매수 1번 진입, 매도 1번 진입입니다. ---------------------------------------------------------------------------------------- #시나리오 1 input : xtime(60000); var : tcond(false),cond1(false),cond2(false); if bdate != bdate[1] Then{ Tcond = true; Condition1 = false; Condition2 = false; } if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5; var2 = ma(c,20; cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then buy("B"); if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then sell("S"); #시나리오 2 input : xtime(60000); var : tcond(false),cond1(false),cond2(false); var : NP(0),NP1(0),NP2(0),Trade(false); NP = NetProfit; if bdate != bdate[1] Then{ Tcond = true; Condition1 = false; Condition2 = false; NP1 = NP[1]; NP2 = NP1[1]; if NP1 <= NP2 Then Trade = true; Else Trade = false; } if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Trade == true and Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then buy("B"); if Trade == true and Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then sell("S"); MessageLog("%.2f %.2f %s",NP1,Np2,trade);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-01-18 13:48:58

안녕하세요 예스스탁입니다. 1 input : xtime(60000); var : tcond(false),cond1(false),cond2(false); var : Bcnt(0),Scnt(0); if bdate != bdate[1] Then{ Tcond = true; Condition1 = false; Condition2 = false; Bcnt = 0; Scnt = 0; } if MarketPosition != MarketPosition[1] and MarketPosition == 1 Then Bcnt = Bcnt+1; if MarketPosition != MarketPosition[1] and MarketPosition == -1 Then Scnt = Scnt+1; if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Bcnt < 1 and Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then buy("B"); if Scnt < 1 and Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then sell("S"); 2. input : xtime(60000); var : tcond(false),cond1(false),cond2(false); var : NP(0),NP1(0),NP2(0),Trade(false); var : Bcnt(0),Scnt(0); NP = NetProfit; if bdate != bdate[1] Then{ Tcond = true; Condition1 = false; Condition2 = false; NP1 = NP[1]; NP2 = NP1[1]; Bcnt = 0; Scnt = 0; if NP1 <= NP2 Then Trade = true; Else Trade = false; } if MarketPosition != MarketPosition[1] and MarketPosition == 1 Then Bcnt = Bcnt+1; if MarketPosition != MarketPosition[1] and MarketPosition == -1 Then Scnt = Scnt+1; if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Bcnt < 1 and Trade == true and Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then buy("B"); if Scnt < 1 and Trade == true and Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then sell("S"); MessageLog("%.2f %.2f %s",NP1,Np2,trade); 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 함수수정요청(226호) > 안녕하세요? 아래의 함수를 수정요청드립니다. 매수와 매도를 하루에 진입기준으로 최대 각 1회씩(2회이상은 신호제어)만 나오도록 하고 싶습니다. 즉 하루에 최대 매수 1번 진입, 매도 1번 진입입니다. ---------------------------------------------------------------------------------------- #시나리오 1 input : xtime(60000); var : tcond(false),cond1(false),cond2(false); if bdate != bdate[1] Then{ Tcond = true; Condition1 = false; Condition2 = false; } if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5; var2 = ma(c,20; cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then buy("B"); if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then sell("S"); #시나리오 2 input : xtime(60000); var : tcond(false),cond1(false),cond2(false); var : NP(0),NP1(0),NP2(0),Trade(false); NP = NetProfit; if bdate != bdate[1] Then{ Tcond = true; Condition1 = false; Condition2 = false; NP1 = NP[1]; NP2 = NP1[1]; if NP1 <= NP2 Then Trade = true; Else Trade = false; } if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5); var2 = ma(c,20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Trade == true and Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then buy("B"); if Trade == true and Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then sell("S"); MessageLog("%.2f %.2f %s",NP1,Np2,trade);