답변완료
추세선 값 질문
현재 차트에 추세선을 그리는 수식을 사용하고 있는데
추세선과 종가의 차이를 보고싶어서 추가로 차트 밑에 지표를 만들어서 보려고하니
예상과 다른 결과가 나오는데요
추세선은 일직선으로 잘 나오는데
TL_GetValue 함수를 사용해서 지표를 그려보면 일직선으로 그려지는 차트상의 추세선과는 달리
그 값은 들쑥날쑥하고 차트상의 추세선 값과 지표에서 그려지는 값도 다르게 나오는데
새로운 추세선이 그려지는 시점도 아닌데 왜 이렇게 다른 값이 나오는건지
어떻게하면 정확한 값을 그려지게 만들 수 있는지 궁금합니다.
밑에는 사용한 수식입니다:
input : 비교고저점기준(5);
var : cnt(0);
array : BTL[10](0), STL[5](0);
Array : HH[20](0),HD[20](0),HT[20](0);
Array : LL[20](0),LD[20](0),LT[20](0);
var : TLHighValue(0), TLLowValue(0);
if SwingHigh(1,H,비교고저점기준,비교고저점기준,비교고저점기준*2+1) != -1 Then{
HH[0] = H[비교고저점기준];
HD[0] = sdate[비교고저점기준];
HT[0] = sTime[비교고저점기준];
Condition1 = false;
for cnt = 1 to 19{
HH[cnt] = HH[cnt-1][1];
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
if Condition1 == false and HH[cnt] > HH[0] and HH[cnt] > 0 Then{
Condition1 = true;
BTL[3] = BTL[2];
BTL[2] = BTL[1];
BTL[1] = BTL[0];
TL_Delete(BTL[3]);
BTL[0] = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetExtRight(BTL[0],true);
TL_SetColor(BTL[0],BLUE);
TL_SetSize(BTL[0], 4);
TL_SetSize(BTL[1], 2);
TL_SetSize(BTL[2], 0);
//TLHighValue = TL_GetValue(BTL[0], sDate, sTime);
//TL_Delete(BTL[0]);
}
}
}
TLHighValue = TL_GetValue(BTL[0], sDate, sTime);
Plot1(TLHighValue, "추세선 BLUE", BLUe, DEF, 3);
if SwingLow(1,L,비교고저점기준,비교고저점기준,비교고저점기준*2+1) != -1 Then{
LL[0] = L[비교고저점기준];
LD[0] = sdate[비교고저점기준];
LT[0] = sTime[비교고저점기준];
Condition2 = false;
for cnt = 1 to 19{
LL[cnt] = LL[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
if Condition2 == false and LL[cnt] < LL[0] and LL[cnt] > 0 Then{
Condition2 = true;
STL[3] = STL[2];
STL[2] = STL[1];
STL[1] = STL[0];
TL_Delete(STL[3]);
STL[0] = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetExtRight(STL[0],true);
TL_SetColor(STL[0],RED);
TL_SetSize(STL[0], 4);
TL_SetSize(STL[1], 2);
TL_SetSize(STL[2], 0);
//TLLowValue = TL_GetValue(STL[0], sDate, sTime);
//TL_Delete(STL[0]);
}
}
}
TLLowValue = TL_GetValue(STL[0], sDate, sTime);
Plot2(TLLowValue, "추세선 RED", RED, DEF, 3);
plot3(close, "종가", BLACk, DEF, 2);
2021-12-28
919
글번호 154919
지표
답변완료
수식작성 부탁드립니다.
마틴게일로 [상승신호], [하락신호] 두가지 수식 부탁드립니다.
기준봉은 1분봉 기준입니다.
################################################################
[상승시 진입기준]
날이 바뀌고
1)당일의 캔들봉이 11번째 캔들봉이 양봉이면 1계약 매수 후
20틱 상승시 수익청산, 20틱 하락시 손실청산
20틱 수익청산후 다음봉이 양봉이면 1계약 재매수 후
20틱 상승시 수익청산, 20틱 하락시 손실청산 이렇게 계속 반복하다가
2)어느순간 20틱 손실이 발생하면 다음봉에 2계약 매수하여
20틱 상승시 매수수익청산, 20틱 하락시 매수손실청산을 반복하는 구조입니다.
그래서 손실후 재진입해서 계속 수익이 날때까지 2의 배수로 계약수로 진입을 하게 됩니다.(1,2,4,8,16~~)
그리고 진입시마다 진입회차를 텍스트로 표현 부탁드립니다.
[청산기준]
청산기준은 n차 금액이 될때까지 반복후 n차 금액이 도달하면 매매 종료하면 됩니다.
예)50만원 수익이 될때까지 매매를 반복실행
[하락시 진입기준]
날이 바뀌고
1)당일의 캔들봉이 11번째 캔들봉이 음봉이면 1계약 매도 후
20틱 하락시 수익청산, 20틱 상승시 손실청산
20틱 수익청산후 다음봉이 음봉이면 1계약 재매도 후
20틱 하락시 수익청산, 20틱 상승시 손실청산 이렇게 계속 반복하다가
2)어느순간 20틱 손실이 발생하면 다음봉에 2계약 매도하여
20틱 하락시 매도수익청산, 20틱 상승시 매도손실청산을 반복하는 구조입니다.
그래서 손실후 재진입해서 계속 수익이 날때까지 2의 배수로 계약수로 진입을 하게 됩니다.(1,2,4,8,16~~)
그리고 진입시마다 진입회차를 텍스트로 표현 부탁드립니다.
[청산기준]
청산기준은 n차 금액이 될때까지 반복후 n차 금액이 도달하면 매매 종료하면 됩니다.
예)50만원 수익이 될때까지 매매를 반복실행
2021-12-27
877
글번호 154908
시스템
답변완료
수식작성 오류검토 부탁드립니다.^^
안녕하세요
예스스탁입니다.
랭귀지는 청산과 동일포지션 진입이 동시에 발생하면
해당 진입도 같이 다시 청산이 됩니다.
그러므로 청산이후 동일시점에 즉시 재매수가 가능하지 않습니다.
청산이 발생하면 진입은 다음봉 시가에 진입하게 작성했습니다.
1
input : Price(350),익절틱수(50),손절틱수(50);
if TotalTrades == 0 and MarketPosition == 0 and H < Price Then
buy("b",AtStop,price,1);
if TotalTrades > TotalTrades[1] and MarketPosition == 0 Then
buy("bb",AtMarket,price,iff(PositionProfit(1) >= 0,1,MaxContracts(1)*2));
if MarketPosition == 1 Then
{
ExitLong("bp",Atlimit,EntryPrice+PriceScale*익절틱수);
ExitLong("bl",AtStop,EntryPrice-PriceScale*손절틱수);
}
2
input : Price(350),익절틱수(50),손절틱수(50);
if TotalTrades == 0 and MarketPosition == 0 and L > Price Then
sell("s",AtStop,price,1);
if TotalTrades > TotalTrades[1] and MarketPosition == 0 Then
sell("ss",AtMarket,price,iff(PositionProfit(1) >= 0,1,MaxContracts(1)*2));
if MarketPosition == -1 Then
{
ExitShort("sp",Atlimit,EntryPrice-PriceScale*익절틱수);
ExitShort("sl",AtStop,EntryPrice+PriceScale*손절틱수);
}
마틴게일 기법 오래전것인것 같습니다.
적용해보니 실행이 안되어 실행되게 부탁드립니다.
2021-12-27
643
글번호 154907
시스템