커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

부탁 드립니다.

도움에 감사 드립니다. 타주기 수식 부탁 드립니다. 1)분봉용 2)틱봉용 3)일봉용 미리 감사 드립니다. input:p(120),보정(100),doji(1),sig(5); var:t(0),종(0),시(0); t=ma(c,p); 종=c/t*100-보정; 시=o/t*100-보정; var1=iff(종==시,종+doji,종); var2=ma(var1,sig); 참고수식1) var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0),MACDO(0); var : TF(0),xma1(0),xma2(0),idx(0),Prexma1(0),Prexma2(0),MACDV(0),MACDS(0),PreMACDS(0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { idx = idx + 1; 참고수식2) var : S1(0),D1(0),TM(0),EP1(0),EP2(0),EP3(0),MACDO(0); var : ii(0),TF(0),xma1(0),xma2(0),idx(0),Prexma1(0),Prexma2(0),MACDV(0),MACDS(0),PreMACDS(0); Ep1 = 2/(short+1); Ep2 = 2/(short*long배수+1); Ep3 = 2/(sig+1); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; ii = 0; } Else ii = ii +1; if D1 > 0 then { TF = ii%nbar; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then {
프로필 이미지
yes
2022-01-11
944
글번호 155355
지표
답변완료

함수요청

안녕하세요? 기작성주신 아래 글번호 75023번의 지표와 74425번의 지표를 활용하여 국내선물 3분봉으로 일중거래를 하고자 합니다. HH, LL, HV, LV 값이 모두 생성되되 HH < HV, LL > LV 이면서 - 무포지션에서 현주가가 HH 돌파 완성시 익봉시가에 매도 진입 - 매도 진입 이후 LL 이탈 완성시 익봉시가에 매도 청산 - 무포지션에서 현주가가 LL 이탈 완성시 익봉시가에 매수 진입 - 매수 진입 현주가가 HH 돌파 완성시 익봉시가에 매수 청산 - 15시 15분 종가청산으로 오버나이트를 하지 않고자 합니다. - 진입기준으로 최대 2회입니다. ----------------------------------------------------------------------------------- [지표 75023] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; HH = 0; LL = 0; Condition1 = False; } if d1 > 0 Then { if macdo > hh Then hh = macdo; if macdo < ll Then ll = macdo; if Condition1 == False and hh >= ll+0.5 Then { Condition1 = true; var1 = DayHigh; Var2 = DayLow; TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2); } if Condition1 == true Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } } [지표 74425] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HV(0),LV(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; T = 0; if MACDO > 0 Then { T = 1; HV = H; LV = L; } if MACDO < 0 Then { T = -1; HV = H; LV = L; } } Else { if ABS(T) < 2 Then { if H > HV Then HV = H; if L < LV Then LV = L; } if T == 1 and CrossUp(MACDO,0) Then { T = 2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == -1 and CrossDown(MACDO,0) Then { T = -2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == 2 or T == -2 Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } }
프로필 이미지
흰둥이아빠
2022-01-11
1269
글번호 155354
시스템
답변완료

추세선의 값

TL_Getvalue 하면 추세선 위치값이 아니라 주가를 읽어 오네요! 추세선이 지나는 위치값을 알려면 어떻게 해야 하나요? 테스트를 위해 몇줄 프로그램을 넣어 저장후 전략실행 화면에서 실행하면 실행후 시스템에서 파일명이 사라짐니다. 편집기 화일 관리자에는 존재하는데.... 다시 사라진 화일명으로 다른이름으로 저장하면 전략실행 화면에는 아예 나타나질 않습니다. 사라진 이름으로는 다시는 저장도 안되고요. ㅠㅠ // // Test_f8 // Input : SZ(0); // 선굵기 Input : FD(20220111); // 찾을 날짜시간 Input : FT(120000); Input : SD1(20220111); // 시험 추세선 #1 Input : ST1(090000); Input : SV1(388.00); Input : ED1(20220111); Input : ET1(145000); Input : EV1(389.00); Input : SD2(20220111); // 시험 추세선 #2 Input : ST2(090000); Input : SV2(388.00); Input : ED2(20220111); Input : ET2(145000); Input : EV2(389.00); var : P1V(0); var : TL1(0); var : TL2(0); var : Text1(0); var : PM5(0); var : PM6(0); // #1 첫라인 점 TL1 = TL_New(SD1,ST1,SV1,SD1,ST1,SV1); //TL_SetSize(TL1,SZ); //TL_SetColor(TL1,Red); /* 이동라인 TL_SetBegin(TL1,SD1,ST1,SV1); TL_SetEnd(TL1,ED1,ET1,EV1); TL_SetSize(TL1,SZ); TL_SetColor(TL1,Red); */ //PM5 = TL_Getvalue(TL1,FD,FT); // #2 첫라인 점 TL2 = TL_New(SD2,ST2,SV2,SD2,ST2,SV2); //TL_SetSize(TL2,SZ); //TL_SetColor(TL2,Black); /* 이동라인 TL_SetBegin(TL2,SD2,ST2,SV2); TL_SetEnd(TL2,ED2,ET2,EV2); TL_SetSize(TL2,SZ); TL_SetColor(TL2,Black); */ //PM6 = TL_Getvalue(TL2,FD,FT); If PM5 == PM6 then { Text1 = Text_New(,FD,FT, PM5, NumToStr(PM5,2) + "->"); } Test 프로그램이 정상인지, 왜 사라지는지 답변부탁드립니다. 새벽 5시10분이 되니 끊키네요. 아이고~~~
프로필 이미지
와글이
2022-01-12
1005
글번호 155353
지표
답변완료

종목검색합니다

1) 금일 WILLR(-80)을 상향 돌파하고 종가가 일목균형4개중 가장 작은것보다 큰 종목을 검색하는 식, 2) 금일 WILLR(-80)을 상향 돌파하고 종가가 일목균형4개중 전환선이나 기준선보다 큰 종목을 검색하는 식을 구합니다 감사합니다
프로필 이미지
느림보
2022-01-11
1213
글번호 155345
종목검색
답변완료

함수요청

아래 글번호 75464번 재질문입니다. 글번호 74425번에서 작성주신 지표의 고점(HV)과 저점(LV)은 아래와 같이 정의되었습니다. 따라서 HH와 LL값이 생성되었지만 HV 혹은 LV 값이 생성되지 않을 수 있습니다. [아래] - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 양의 값이면 그 값 포함부터 MACD오실레이터 값이 음으로 반전하고 다시 양의 값으로 재전환할 때까지를 포함하여 (MACD오실레이터 양의 값 포함->음->양으로 변환할 때포함) 주가의 고점(HV)과 저점(LV)을 잡습니다. - MACD오실레이터가 9시 3분 완성봉의 첫 히스토그램이 음의 값이면 그 값 포함부터 MACD오실레이터 값이 양으로 반전하고 다시 음으로 값으로 재전환할 때까지를 포함하여 (MACD오실레이터 음의 포함->양-> 음으로 변환할 때포함) 주가의 고점(HV)과 저점(LV)을 잡습니다. ==================================================================================== 기작성주신 아래 글번호 75023번의 지표와 74425번의 지표를 활용하여 국내선물 3분봉으로 일중거래를 하고자 합니다. - HH = HV이고 LL값이 나왔으나 LV값이 나오지 않은 상태라면 LL 이탈 완성시 익봉 시가에 3계약 매도 진입 -> 매수 진입 이후 LV값이 나오고 LV값을 하향 이탈 완성하면 익봉 시가에 1계약 매도청산 -> 60ma 상향 돌파 완성 익봉 시가에 1계약 매도청산 -> 15시 15분 나머지 포지션 전량 강제청산 (미결제약정 1계약~3계약) - LL = LV이고 HH값이 나왔으나 HV값이 나오지 않은 상태라면 HH 돌파 완성시 익봉 시가에 3계약 매수 진입 -> 매수 진입 이후 HV값이 나오고 HV값을 상향 돌파 완성하면 익봉 시가에 1계약 매수청산 -> 60ma 하향 이탈 완성 익봉 시가에 1계약 매수청산 -> 15시 15분 나머지 포지션 전량 강제청산 (미결제약정 1계약~3계약) : 하루 3계약을 1번 진입하며 당일 모두 청산하여 오버나이트 하지 않습니다. : 매도포지션으로 진입하고 LV값이 나오고 LV값을 하향 이탈 완성하면 익봉 시가에 1계약 매도청산하고자 하는데 LV값에서 횡보하여 이탈과 돌파를 반복하여 이탈할 때마다 포지션을 청산하는 것이 아니라 LV값 하향 이탈로는 1번만 1계약을 청산하고자 합니다. 60ma 상향 돌파시도 마찬가지 입니다. 1번만 1계약 청산하고자 합니다. 매수포지션으로 진입을 해도 같은 논리입니다. ----------------------------------------------------------------------------------- [지표 75023] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HH(0),LL(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; HH = 0; LL = 0; Condition1 = False; } if d1 > 0 Then { if macdo > hh Then hh = macdo; if macdo < ll Then ll = macdo; if Condition1 == False and hh >= ll+0.5 Then { Condition1 = true; var1 = DayHigh; Var2 = DayLow; TL1 = TL_New(d1,t1,var1,NextBarSdate,NextBarStime,var1); TL2 = TL_New(d1,t1,var2,NextBarSdate,NextBarStime,var2); } if Condition1 == true Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } } [지표 74425] Input : short(12), long(26), signal(9); Var : MACDv(0), MACDs(0),macdo(0),T(0),HV(0),LV(0); var : d1(0),t1(0),tl1(0),tl2(0); MACDv = MACD(short, long); MACDs = ema(MACDv,signal); macdo = MACDv-MACDs; if Bdate != Bdate[1] Then { d1 = sDate; t1 = sTime; T = 0; if MACDO > 0 Then { T = 1; HV = H; LV = L; } if MACDO < 0 Then { T = -1; HV = H; LV = L; } } Else { if ABS(T) < 2 Then { if H > HV Then HV = H; if L < LV Then LV = L; } if T == 1 and CrossUp(MACDO,0) Then { T = 2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == -1 and CrossDown(MACDO,0) Then { T = -2; var1 = HV; Var2 = LV; TL1 = TL_New(d1,t1,var1,sDate,sTime,var1); TL2 = TL_New(d1,t1,var2,sDate,sTime,var2); } if T == 2 or T == -2 Then { TL_SetEnd(TL1,sDate,sTime,var1); TL_SetEnd(TL2,sDate,sTime,var2); } }
프로필 이미지
흰둥이아빠
2022-01-11
1062
글번호 155344
시스템

2wnwn 님에 의해서 삭제되었습니다.

프로필 이미지
2wnwn
2022-01-11
5
글번호 155342
지표

adrien 님에 의해서 삭제되었습니다.

프로필 이미지
adrien
2022-01-11
0
글번호 155337
사용자 함수
답변완료

함수요청

안녕하세요? 국내선물 일봉으로 조회시 미결제약정값에 미결제약정의 5ma값을 그려넣고 싶습니다.
프로필 이미지
흰둥이아빠
2022-01-11
932
글번호 155325
지표
답변완료

수식계산이 맞는지 확인해 주세요.

안녕하세요? 예스트레이더(32) 와 예스트레이더(64)가 동일한 수식을 다르게 계산합니다. 예스트레이더(64)가 맞게 계산하고 있구요. 예스트레이더(32)의 수식계산이 맞는지 확인부탁드립니다. 아래는 테스트 지표식입니다. Vars : SumTP(0), Cnt(0),TP(0) ; If BarIndex == 1 then ClearDebug; SumTP = 0; value1 = 10 ; For Cnt = 1 to 5 { SumTP = SumTP + AverageFC(10, cnt); TP = SumTP / 5; } plot1(tp); messageLog("value1 %2.f, sumtp %2.f, tp %2.f", value1,sumtp,tp);
프로필 이미지
오토원
2022-01-11
1211
글번호 155322
지표
답변완료

수식추가 부탁드립니다.

안녕하세요? 아래의 수식에서 추가하고싶은게 두가지가 있는데 잘 안되네요. 1. 당일 시작시간(외부변수) 2. 진입후 바로다음캔들이 진입캔들과 반대가 나올시 청산후 역진입. 부탁드립니다. 감사합니다. input : 진입음봉(5),진입양봉(5); input : P1(5),P2(20),진입횟수(3); input : 익절틱수(50),손절틱수(50); var : entry(0); if bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; var1 = ma(C,P1); Var2 = ma(C,P2); if MarketPosition == 0 and entry < 진입횟수 and var1 > Var2 and C[1] == O[1] and C[0] <= O[0]-PriceScale*진입음봉 Then Sell(); if MarketPosition == 0 and entry < 진입횟수 and var1 < Var2 and C[1] == O[1] and C[0] >= O[0]+PriceScale*진입양봉 Then Buy(); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop);
프로필 이미지
대구어린울프
2022-01-11
908
글번호 155321
시스템