커뮤니티

수식 문의 드립니다.

프로필 이미지
김예스
2022-02-15 22:13:46
920
글번호 156326
답변완료
안녕하세요, 늘 도움 많이받고 있습니다. 아래는 이전에 작성해주셨던 수평 추세선 cross시 매매하는 수식인데, 아래 수식으로 피라미딩 매매를 할 때, 1) 각 봉 위치 이전에 차트에 만들어진 수평선 중 가장 낮은값을 가지는 수평선을 crossdown하면 즉시 전량 매수청산 2) 당일 하루동안 한번 Crossup 하여 매수주문 한 수평선은 당일 매수 조건에서 제외 (다음날부터는 매수가능) 하는 수식을 추가하고 싶습니다. 답변 주심에 항상 감사드립니다. input : left(5), right(5); var : swing_low(0),swing_high(0),Dir(0),cnt(0); Array : line[300](0); swing_low = SwingLow(1, L, left, right, left+right+1); swing_high = SwingHigh(1, H, left, right,left+right+1); if (swing_low != -1 ) Then { var11 = sdate[right]; var12 = STime[right]; var13 = Low[right]; var21 = var11[1]; var22 = var12[1]; var23 = var13[1]; var31 = var21[1]; var32 = var22[1]; var33 = var23[1]; if var23 > 0 Then { Value11 = TL_New(var11,var12,var13,sDate,sTime,var13); TL_SetExtRight(value11,true); TL_SetColor(value11,BLACk); TL_SetSize(value11,2); line[0] = var13; For cnt = 1 to 299 { line[cnt] = line[cnt-1][1]; } } } if ( swing_high != -1 ) Then{ var51 = sdate[right]; var52 = STime[right]; var53 = high[right]; var61 = var51[1]; var62 = var52[1]; var63 = var53[1]; var71 = var61[1]; var72 = var62[1]; var73 = var63[1]; if var63 > 0 Then { value31 = TL_New(var51,var52,var53,sDate,sTime,Var53); TL_SetExtRight(value31,true); TL_SetColor(value31,BLACk); TL_SetSize(value31,2); line[0] = var53; For cnt = 1 to 299 { line[cnt] = line[cnt-1][1]; } } } Condition1 = False; Condition2 = False; For cnt = 0 to 299 { if line[cnt] > 0 and C > line[cnt] and C[1] < line[cnt] Then Condition1 = true; if line[cnt] > 0 and C < line[cnt] and C[1] > line[cnt] Then Condition2 = true; } if Condition1 == true Then Buy("B",onclose,DEF,"",Floor(CurrentContracts*(1/2))),1); if Condition2 == true Then exitlong("Bx",onclose,DEF,"",Floor(CurrentContracts*(1/2))),1);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-02-16 10:57:47

안녕하세요 예스스탁입니다. input : left(5), right(5); var : swing_low(0),swing_high(0),Dir(0),cnt(0),LL(0); Array : line[300](0),DD[300](0); swing_low = SwingLow(1, L, left, right, left+right+1); swing_high = SwingHigh(1, H, left, right,left+right+1); if (swing_low != -1 ) Then { var11 = sdate[right]; var12 = STime[right]; var13 = Low[right]; var21 = var11[1]; var22 = var12[1]; var23 = var13[1]; var31 = var21[1]; var32 = var22[1]; var33 = var23[1]; if var23 > 0 Then { Value11 = TL_New(var11,var12,var13,sDate,sTime,var13); TL_SetExtRight(value11,true); TL_SetColor(value11,BLACk); TL_SetSize(value11,2); line[0] = var13; For cnt = 1 to 299 { line[cnt] = line[cnt-1][1]; } } } if ( swing_high != -1 ) Then{ var51 = sdate[right]; var52 = STime[right]; var53 = high[right]; var61 = var51[1]; var62 = var52[1]; var63 = var53[1]; var71 = var61[1]; var72 = var62[1]; var73 = var63[1]; if var63 > 0 Then { value31 = TL_New(var51,var52,var53,sDate,sTime,Var53); TL_SetExtRight(value31,true); TL_SetColor(value31,BLACk); TL_SetSize(value31,2); line[0] = var53; For cnt = 1 to 299 { line[cnt] = line[cnt-1][1]; } } } if Bdate != Bdate[1] Then { For cnt = 0 to 299 { DD[cnt] = 0; } } Condition1 = False; Condition2 = False; LL = Line[0]; For cnt = 0 to 299 { if line[cnt] > 0 and C > line[cnt] and C[1] < line[cnt] and DD[cnt] == 0 Then { Condition1 = true; DD[cnt] = Line[cnt]; } if line[cnt] > 0 and C < line[cnt] and C[1] > line[cnt] Then Condition2 = true; if Line[cnt] < LL and Line[cnt] > 0 Then LL = Line[cnt]; } if Condition1 == true Then Buy("B"); if MarketPosition == 1 Then { if Condition2 == true Then exitlong("Bx",onclose,DEF,"",Floor(CurrentContracts*(1/2)),1); if LL > 0 and CrossDown(C,LL) Then ExitLong("bx1"); } 즐거운 하루되세요 > 김예스 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > 안녕하세요, 늘 도움 많이받고 있습니다. 아래는 이전에 작성해주셨던 수평 추세선 cross시 매매하는 수식인데, 아래 수식으로 피라미딩 매매를 할 때, 1) 각 봉 위치 이전에 차트에 만들어진 수평선 중 가장 낮은값을 가지는 수평선을 crossdown하면 즉시 전량 매수청산 2) 당일 하루동안 한번 Crossup 하여 매수주문 한 수평선은 당일 매수 조건에서 제외 (다음날부터는 매수가능) 하는 수식을 추가하고 싶습니다. 답변 주심에 항상 감사드립니다. input : left(5), right(5); var : swing_low(0),swing_high(0),Dir(0),cnt(0); Array : line[300](0); swing_low = SwingLow(1, L, left, right, left+right+1); swing_high = SwingHigh(1, H, left, right,left+right+1); if (swing_low != -1 ) Then { var11 = sdate[right]; var12 = STime[right]; var13 = Low[right]; var21 = var11[1]; var22 = var12[1]; var23 = var13[1]; var31 = var21[1]; var32 = var22[1]; var33 = var23[1]; if var23 > 0 Then { Value11 = TL_New(var11,var12,var13,sDate,sTime,var13); TL_SetExtRight(value11,true); TL_SetColor(value11,BLACk); TL_SetSize(value11,2); line[0] = var13; For cnt = 1 to 299 { line[cnt] = line[cnt-1][1]; } } } if ( swing_high != -1 ) Then{ var51 = sdate[right]; var52 = STime[right]; var53 = high[right]; var61 = var51[1]; var62 = var52[1]; var63 = var53[1]; var71 = var61[1]; var72 = var62[1]; var73 = var63[1]; if var63 > 0 Then { value31 = TL_New(var51,var52,var53,sDate,sTime,Var53); TL_SetExtRight(value31,true); TL_SetColor(value31,BLACk); TL_SetSize(value31,2); line[0] = var53; For cnt = 1 to 299 { line[cnt] = line[cnt-1][1]; } } } Condition1 = False; Condition2 = False; For cnt = 0 to 299 { if line[cnt] > 0 and C > line[cnt] and C[1] < line[cnt] Then Condition1 = true; if line[cnt] > 0 and C < line[cnt] and C[1] > line[cnt] Then Condition2 = true; } if Condition1 == true Then Buy("B",onclose,DEF,"",Floor(CurrentContracts*(1/2))),1); if Condition2 == true Then exitlong("Bx",onclose,DEF,"",Floor(CurrentContracts*(1/2))),1);