커뮤니티

키움 수식 예스트레이더 수식으로의 변형

프로필 이미지
정구지
2024-11-16 06:57:49
852
글번호 185323
답변완료

첨부 이미지

1-1. 붙임 사진의 아래 지표는 키움 지표로서 아래와 같습니다. q9=ADX(14)>20; barssince(q9) 1-2. 위 지표가 연속된(만약 캔들이 1개만이면 그 캔들의 고가와 저가를 수평선(선의 굵기도 임의 변경가능토록)으로 연결하고 그 사이에 색을 임의로 변경하여 넣을수 있게) 적색 기둥 위 해당 캔들 중 최고가와 최저가를 연결하는 선을 만들고 그 선사이에 색을 넣는데 임의로 색도 변경이 가능하게 하고 싶습니다. 이렇게 수평선 두개 사이에 색이 칠해져서 연결하다가 아래 지표에 다시 적색 기둥이 발견되면 다시 동일한 방법으로 수평으로 그려지게 하고 싶습니다. 동작하지 않은 제가 만든 예시(참고만하셔요,오류 투성이 입니다, 쳇 gpt 이용) // 입력값 input : ADX_Period(14), ADX_Threshold(20), lineThickness(2), lineColor(Orange), fillColor(RGB(255, 0, 0)); // 변수 선언 var : adxValue(0), isBelowThreshold(false), highestHigh(0), lowestLow(0), barIndex(0), previousBarHigh(0), previousBarLow(0), inThresholdPeriod(false); // ADX 계산 adxValue = ADX(ADX_Period); // ADX 값이 기준값 이하일 경우 True 설정 isBelowThreshold = adxValue < ADX_Threshold; // 최고가와 최저가 초기화 highestHigh = High; lowestLow = Low; barIndex = 0; inThresholdPeriod = false; // 연속된 ADX 값이 기준 이하일 때 최고가와 최저가 추적 if isBelowThreshold then begin // 첫 번째 캔들이면 최고가와 최저가 초기화 if not inThresholdPeriod then begin highestHigh = High; lowestLow = Low; inThresholdPeriod = true; // 연속적인 적색 캔들의 범위 설정 end; // 연속된 캔들들의 최고가와 최저가 추적 if High > highestHigh then highestHigh = High; if Low < lowestLow then lowestLow = Low; end else begin // ADX가 기준을 넘으면 선을 그리고 초기화 if inThresholdPeriod then begin // 최고가와 최저가 사이에 수평선 그리기 Plot1(highestHigh, "HighestHighLine", lineColor, lineThickness); Plot2(lowestLow, "LowestLowLine", lineColor, lineThickness); // 최고가와 최저가 사이에 색 채우기 FillArea(lowestLow, highestHigh, fillColor, "FillBetweenLines"); // 초기화 inThresholdPeriod = false; end; end; // 마지막으로 색을 채우고 수평선 그리기 if inThresholdPeriod then begin // 마지막 연속된 캔들의 최고가와 최저가에 수평선 그리기 Plot1(highestHigh, "HighestHighLine", lineColor, lineThickness); Plot2(lowestLow, "LowestLowLine", lineColor, lineThickness); // 색 채우기 FillArea(lowestLow, highestHigh, fillColor, "FillBetweenLines"); end; 2-2. 아래는 키움지표인데 이 지표도 잘 못 나타낸 것인데 하고 싶은 것은 이 ww2에 해당하는 연속 캔들의 값을 4등분으로 나뉘어 4개의 선을 만들고 싶고(고저 기준으로 간격이 동일한 4개선) 이 선들은 굵기 조절 몇 선 자체를 없애거나 나오게도 할 수있게 조절할 수도 있게 만들고 싶습니다 이런 4개이 수평선을 긋고 그 다음 ww2에 해당하면 다시 4개의 수평선을 긋고 하는 식으로 예스트레이더로 변형을 부탁드립니다(캔들의 중간사이에서 잘 보이게 선 굵기를 조정할 수 있게(캔들보다도 더 크게 할수도 작게 할수도 조절할수 있게) 부탁드립니다)도 부탁드려요- 결론적으로 위 1-1과 1-2는 캔들들 중 고가와 저가에 선을 긋는 것이라면 2-2는 그냥 그 고저를 4등분한 선을 긋고 싶습니다(선 굵는 크게 크게 할 수도 있게) ww1=ADX(14)<20; ww2=if(ww1, 1,0); valuewhen(1,ww2,((고가-저가)/2+저가)) 아래는 제가 하긴 했는데 위 의도되로 이 ww2에 해당되는 캔들 각각의 중앙값만 연결한 것이지 연속된 이 값들의 가운데에 선 한개만 만들고 싶습니다 아래는 제가 의도되로 만들지는 못했지만 그냥 중앙선만 연결한 지표를 참고로 붙였습니다. 의도와 잘못되게 작성한 지표(단순 참고 , 쳇gpt이용) // 입력값 input: ADX_Period(14), ADX_Threshold(20), lineThickness(5), lineColor(RGB(255, 0, 0)); // 선 굵기와 색상 // 변수 선언 var: adxValue(0), isBelowThreshold(false), midPrice(0), linePosition(0); // ADX 계산 adxValue = ADX(ADX_Period); // ADX 값이 기준값 이하일 경우 True 설정 isBelowThreshold = adxValue < ADX_Threshold; // 고가와 저가의 중간 값 계산 midPrice = ((High - Low) / 2) + Low; // ADX 값이 기준 이하일 경우 중간값을 기록 if isBelowThreshold then begin // 중간값에 선을 긋고, 굵기를 설정 (캔들의 중간에 선을 그리도록) linePosition = midPrice; // 캔들의 중간에 선을 그리되, 선의 굵기를 캔들보다 크게 설정 Plot1(linePosition, "MidPriceLine", lineColor, lineThickness); end;
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-11-18 10:49:22

안녕하세요 예스스탁입니다. 1 var : box(0); Condition1 = ADX(14)>20; if Condition1 == False Then { if Condition1[1] == true Then { var1 = sDate; var2 = sTime; var3 = h; var4 = l; var5 = 0; box = Box_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var2); Box_SetColor(box,Cyan); Box_SetFill(box,true); } Else { if var1 > 0 Then var5 = var5+1; if var3 > 0 and h > var3 Then var3 = h; if var4 > 0 and l < var4 Then var4 = l; Box_SetBegin(box,var1,var2,var3); Box_SetEnd(box,sDate,sTime,var4); } } Else var5 = 0; Plot1(var5,"봉수",Red); 2 var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0); Condition1 = ADX(14)<20; if Condition1 == true Then { if Condition1[1] == False Then { var1 = sDate; var2 = sTime; var3 = h; var4 = l; var5 = var3-var4; TL1 = TL_new(sDate,sTime,var3,NextBarSdate,NextBarStime,var3); TL2 = TL_new(sDate,sTime,var4+var5*0.75,NextBarSdate,NextBarStime,var4+var5*0.75); TL3 = TL_new(sDate,sTime,var4+var5*0.50,NextBarSdate,NextBarStime,var4+var5*0.50); TL4 = TL_new(sDate,sTime,var4+var5*0.25,NextBarSdate,NextBarStime,var4+var5*0.25); TL5 = TL_new(sDate,sTime,var4,NextBarSdate,NextBarStime,var4); TL_SetColor(TL1,Red); TL_SetColor(TL2,Magenta); TL_SetColor(TL3,Green); TL_SetColor(TL4,Cyan); TL_SetColor(TL5,Blue); TL_SetSize(TL1,1); TL_SetSize(TL2,1); TL_SetSize(TL3,1); TL_SetSize(TL4,1); TL_SetSize(TL5,1); } Else { if var3 > 0 and h > var3 Then var3 = h; if var4 > 0 and l < var4 Then var4 = l; var5 = var3-var4; TL_SetBegin(TL1,var1,var2,var3); TL_SetBegin(TL2,var1,var2,var4+var5*0.75); TL_SetBegin(TL3,var1,var2,var4+var5*0.50); TL_SetBegin(TL4,var1,var2,var4+var5*0.25); TL_SetBegin(TL5,var1,var2,var4); TL_SetEnd(TL1,sDate,sTime,var3); TL_SetEnd(TL2,sDate,sTime,var4+var5*0.75); TL_SetEnd(TL3,sDate,sTime,var4+var5*0.50); TL_SetEnd(TL4,sDate,sTime,var4+var5*0.25); TL_SetEnd(TL5,sDate,sTime,var4); } } 즐거운 하루되세요 > 정구지 님이 쓴 글입니다. > 제목 : 키움 수식 예스트레이더 수식으로의 변형 > 1-1. 붙임 사진의 아래 지표는 키움 지표로서 아래와 같습니다. q9=ADX(14)>20; barssince(q9) 1-2. 위 지표가 연속된(만약 캔들이 1개만이면 그 캔들의 고가와 저가를 수평선(선의 굵기도 임의 변경가능토록)으로 연결하고 그 사이에 색을 임의로 변경하여 넣을수 있게) 적색 기둥 위 해당 캔들 중 최고가와 최저가를 연결하는 선을 만들고 그 선사이에 색을 넣는데 임의로 색도 변경이 가능하게 하고 싶습니다. 이렇게 수평선 두개 사이에 색이 칠해져서 연결하다가 아래 지표에 다시 적색 기둥이 발견되면 다시 동일한 방법으로 수평으로 그려지게 하고 싶습니다. 동작하지 않은 제가 만든 예시(참고만하셔요,오류 투성이 입니다, 쳇 gpt 이용) // 입력값 input : ADX_Period(14), ADX_Threshold(20), lineThickness(2), lineColor(Orange), fillColor(RGB(255, 0, 0)); // 변수 선언 var : adxValue(0), isBelowThreshold(false), highestHigh(0), lowestLow(0), barIndex(0), previousBarHigh(0), previousBarLow(0), inThresholdPeriod(false); // ADX 계산 adxValue = ADX(ADX_Period); // ADX 값이 기준값 이하일 경우 True 설정 isBelowThreshold = adxValue < ADX_Threshold; // 최고가와 최저가 초기화 highestHigh = High; lowestLow = Low; barIndex = 0; inThresholdPeriod = false; // 연속된 ADX 값이 기준 이하일 때 최고가와 최저가 추적 if isBelowThreshold then begin // 첫 번째 캔들이면 최고가와 최저가 초기화 if not inThresholdPeriod then begin highestHigh = High; lowestLow = Low; inThresholdPeriod = true; // 연속적인 적색 캔들의 범위 설정 end; // 연속된 캔들들의 최고가와 최저가 추적 if High > highestHigh then highestHigh = High; if Low < lowestLow then lowestLow = Low; end else begin // ADX가 기준을 넘으면 선을 그리고 초기화 if inThresholdPeriod then begin // 최고가와 최저가 사이에 수평선 그리기 Plot1(highestHigh, "HighestHighLine", lineColor, lineThickness); Plot2(lowestLow, "LowestLowLine", lineColor, lineThickness); // 최고가와 최저가 사이에 색 채우기 FillArea(lowestLow, highestHigh, fillColor, "FillBetweenLines"); // 초기화 inThresholdPeriod = false; end; end; // 마지막으로 색을 채우고 수평선 그리기 if inThresholdPeriod then begin // 마지막 연속된 캔들의 최고가와 최저가에 수평선 그리기 Plot1(highestHigh, "HighestHighLine", lineColor, lineThickness); Plot2(lowestLow, "LowestLowLine", lineColor, lineThickness); // 색 채우기 FillArea(lowestLow, highestHigh, fillColor, "FillBetweenLines"); end; 2-2. 아래는 키움지표인데 이 지표도 잘 못 나타낸 것인데 하고 싶은 것은 이 ww2에 해당하는 연속 캔들의 값을 4등분으로 나뉘어 4개의 선을 만들고 싶고(고저 기준으로 간격이 동일한 4개선) 이 선들은 굵기 조절 몇 선 자체를 없애거나 나오게도 할 수있게 조절할 수도 있게 만들고 싶습니다 이런 4개이 수평선을 긋고 그 다음 ww2에 해당하면 다시 4개의 수평선을 긋고 하는 식으로 예스트레이더로 변형을 부탁드립니다(캔들의 중간사이에서 잘 보이게 선 굵기를 조정할 수 있게(캔들보다도 더 크게 할수도 작게 할수도 조절할수 있게) 부탁드립니다)도 부탁드려요- 결론적으로 위 1-1과 1-2는 캔들들 중 고가와 저가에 선을 긋는 것이라면 2-2는 그냥 그 고저를 4등분한 선을 긋고 싶습니다(선 굵는 크게 크게 할 수도 있게) ww1=ADX(14)<20; ww2=if(ww1, 1,0); valuewhen(1,ww2,((고가-저가)/2+저가)) 아래는 제가 하긴 했는데 위 의도되로 이 ww2에 해당되는 캔들 각각의 중앙값만 연결한 것이지 연속된 이 값들의 가운데에 선 한개만 만들고 싶습니다 아래는 제가 의도되로 만들지는 못했지만 그냥 중앙선만 연결한 지표를 참고로 붙였습니다. 의도와 잘못되게 작성한 지표(단순 참고 , 쳇gpt이용) // 입력값 input: ADX_Period(14), ADX_Threshold(20), lineThickness(5), lineColor(RGB(255, 0, 0)); // 선 굵기와 색상 // 변수 선언 var: adxValue(0), isBelowThreshold(false), midPrice(0), linePosition(0); // ADX 계산 adxValue = ADX(ADX_Period); // ADX 값이 기준값 이하일 경우 True 설정 isBelowThreshold = adxValue < ADX_Threshold; // 고가와 저가의 중간 값 계산 midPrice = ((High - Low) / 2) + Low; // ADX 값이 기준 이하일 경우 중간값을 기록 if isBelowThreshold then begin // 중간값에 선을 긋고, 굵기를 설정 (캔들의 중간에 선을 그리도록) linePosition = midPrice; // 캔들의 중간에 선을 그리되, 선의 굵기를 캔들보다 크게 설정 Plot1(linePosition, "MidPriceLine", lineColor, lineThickness); end;