답변완료
다시 문의 드립니다.
<< 92418 >>
1.번 수식은 지표가 보조 지표란에 나옵니다
2.번 수식은 나타 나지 않읍니다
다시 한번 부탁 드립니다.
감사 합니다.
그리고,
1번과 2번은 분리 해 주십시요
각선의 굵기, 글자, 색상 조절도 할수 있게 해주십시요
1
input : Period(8);
var : R(0),A(0),B(0);
R = RSI(Period);
if CrossUp(R,50) Then
{
A = C;
B = C;
}
Else
{
if A > 0 and C > A Then
A = C;
if B > 0 and C < B Then
B = C;
}
Plot1(A);
plot2((A+B)/2);
plot3(B);
2
input : ChangeMethod(1); //1:전환율, 2: 포인트(원), 3: 틱수, 4: n봉 최고가/최저가 갱신
input : Change(0.13); //ChangeMethod에 따라 변화율, 포인트, 틱수, n봉이 됨
input : UseClose(0); //0이면 고가/저가 사용, 1이면 종가
Array : HD[10](0),HT[10](0),HV[10](0); //고점 날짜, 시간, 가격 저장할 배열
Array : LD[10](0),LT[10](0),LV[10](0); //저점 날짜, 시간, 가격 저장할 배열
var : cnt(0),Hprice(0),Lprice(0);
var : UpTrend(false),DownTrend(False),Trend(0);
var : ZigZagTL(0),Text(0),LTL(0),HTL(0);
HPrice = IFf(UseClose == 1 ,C,H);
LPrice = IFf(UseClose == 1 ,C,L);
if Index == 0 Then
{
//초기 최고값
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
//초기 최저값
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
}
Else
{
if ChangeMethod == 1 Then
{
UpTrend = HPrice >= LV[0]*(1+Change/100);
DownTrend = LPrice <= HV[0]*(1-Change/100);
}
else if ChangeMethod == 2 Then
{
UpTrend = HPrice >= LV[0]+Change;
DownTrend = LPrice <= HV[0]-Change;
}
else if ChangeMethod == 3 Then
{
UpTrend = HPrice >= LV[0]+Change*PriceScale;
DownTrend = LPrice <= HV[0]-Change*PriceScale;
}
Else
{
UpTrend = HPrice >= Highest(HPrice,Change)[1];
DownTrend = LPrice <= Lowest(LPrice,Change)[1];
}
if trend <= 0 and UpTrend == true Then
{
trend = 1;
For cnt = 9 DownTo 1
{
HD[cnt] = HD[cnt-1];
HT[cnt] = HT[cnt-1];
HV[cnt] = HV[cnt-1];
}
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]);
TL_SetColor(ZigZagTL,Red);
TL_SetSize(ZigZagTL,1);
Text = Text_New(HD[0],HT[0],HV[0],NumToStr(HV[0],2));
Text_SetColor(Text,Red);
Text_SetSize(Text,12);
Text_SetStyle(Text,2,1);
if HV[1] > 0 Then
{
HTL = TL_New(HD[1],HT[1],HV[1],HD[0],HT[0],HV[0]);
TL_SetColor(HTL,Orange);
TL_SetSize(HTL,0);
}
}
Else if trend >= 0 and DownTrend Then
{
trend = -1;
For cnt = 9 DownTo 1
{
LD[cnt] = LD[cnt-1];
LT[cnt] = LT[cnt-1];
LV[cnt] = LV[cnt-1];
}
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]);
TL_SetColor(ZigZagTL,Blue);
TL_SetSize(ZigZagTL,1);
Text = Text_New(LD[0],LT[0],LV[0],NumToStr(LV[0],2));
Text_SetColor(Text,Blue);
Text_SetSize(Text,12);
Text_SetStyle(Text,2,0);
if LV[1] > 0 Then
{
LTL = TL_New(LD[1],LT[1],LV[1],LD[0],LT[0],LV[0]);
TL_SetColor(LTL,Cyan);
TL_SetSize(LTL,0);
}
}
Else
{
if trend == 1 Then
{
if HPrice > HV[0] Then
{
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]);
Text_SetLocation(Text,HD[0],HT[0],HV[0]);
Text_SetString(Text,NumToStr(HV[0],2));
TL_SetEnd(HTL,HD[0],HT[0],HV[0]);
}
}
if trend == -1 Then
{
if LPrice < LV[0] Then
{
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]);
Text_SetLocation(Text,LD[0],LT[0],LV[0]);
Text_SetString(Text,NumToStr(LV[0],2));
TL_SetEnd(LTL,LD[0],LT[0],LV[0]);
}
}
}
}
---------------------------------------------------------------------------
2025-04-22
227
글번호 190329
지표
답변완료
수식추가
input : EmaPeriod(80);
input : RSIPeriod1(7),RSIPeriod2(14),RSIPeriod3(21),RSI차이(7);
input : ADXPeriod(20);
input : 익절(50),손절(50);
var : Emav(0,Data1),RSI1(0,Data1),RSI2(0,Data1),RSI3(0,Data1),ADXv(0,Data1);
var : Bcond(False,Data1),Scond(False,Data1);
Input : 당일수익틱수(200);
Var : N1(0,Data1),dayPl(0,Data1),당일수익(0,Data1);
var : Tcond(false,Data1),Xcond(false,Data1);
if Bdate != Bdate[1] Then
{
Xcond = False;
}
당일수익 = data1(PriceScale*당일수익틱수);
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
}
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] then
{
if daypl >= 당일수익 Then
Xcond = true;
if (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then
Xcond = true;
}
Emav = data1(Ema(C,EmaPeriod));
RSI1 = data1(RSI(RSIPeriod1));
RSI2 = data1(RSI(RSIPeriod2));
RSI3 = data1(RSI(RSIPeriod3));
ADXv = data1(ADX(ADXperiod));
Bcond = MarketPosition == 0 and MarketPosition(1) == 1 and MarketPosition(2) == 1;
Scond = MarketPosition == 0 and MarketPosition(1) == -1 and MarketPosition(2) == -1;
if Xcond == false then
{
if C > Emav and
RSI1 >= RSI2+RSI차이 and RSI2 >= RSI3+RSI차이 and
ADXV >= 21 and
Bcond == False and
Data2(ma(C,60) > ma(C,10)) Then
buy();
if C < Emav and
RSI1 <= RSI2-RSI차이 and RSI2 <= RSI3-RSI차이 and
ADXV >= 21 and
Scond == False and
Data2(ma(C,60) < ma(C,10)) Then
Sell();
}
if MarketPosition == 1 then
{
ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts));
}
if MarketPosition == -1 then
{
ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts));
}
안녕하세요
위식에 추가식 부탁드립니다
매수식
기존식에 신호발생에서 신호발생봉에 저점을 하향시 진입
매도식
깃손식에 신호발생에서 십호발생 봉의 고점을 돌파시 진입
2025-04-22
263
글번호 190324
시스템
답변완료
질문드리겠습니다
1번 답변주신 내용으로 적용하면 아무것도 나오지가 않습니다
제가 구현하고자 하는건 if h>l*1.08을 만족하는 현재만족봉(A1라고 했을때) 이후 새로운 다음봉이(A0라고 했을때) 5거래일 보다 적으면 스킵을 하고,
A1봉을 다시 기준점으로 해서 (다음봉인 A0봉이 새로운 기준점이 아니라) , A0 이후에 나오는 만족봉이 A1봉과 비교해서 5거래일 이상이면 값이 나타나게 하려고 합니다
즉 기준봉은 이전껄로 고정된 상태로, "최초로" 5일 이상 간격이 발생하는 새로운 봉이 나오면 var1에 index 값을 저장하려고 합니다. 그 후로 그 봉을 기준으로 또 다시 반복을 하려고 합니다.
단순히 현재봉과 직전봉을 비교하면 간격이 큰 봉이 나오지 않는 이상 값이 계속 안나오게 되는걸 방지하려고 생각해본 것입니다
예를 들어 간격이 계속 1거래일인 조건봉들이 12개가 연달아 나오면 결과값이 나오지 않게 되지만 이 방식으로 하면 두개는 나오기 때문입니다
한번 더 검토 부탁드립니다
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
지난 질문은 참고로 올렷습니다
질문1)
아래식에서
if d2 == 0 or (d2 > 0 and d1 >= d2+5)
이 조건에 의하면 현재봉과 전봉의 거래일 간격을 단순하게 계산해서
차이가 5거래일 이상 나지 않으면 표현을 안하게 되는데요,
h>l*1.08 조건을 만족하는 봉들을 가지고
현재만족봉 기준 다음 만족봉이 5거래일 보다 적으면 건너뛰고 다다음봉이 클때 var1에 index 값을 대입하려고 합니다
예를들어 현재봉 - 다음봉 (3거래일 후) - 다다음봉 (현재봉 기준으로 해서 6거래일 후)
라면 다음봉은 건너뛰고 다다음봉에만 해당하게 조건을 작성하고 싶습니다
아래는 수식입니다
var : cnt(0), sum1(0), sumi1(0),summ(0),tt(0),hh(0),ll(0),tl(0),tl1(0),n(0);
var: sum2(0),sumi2(0);
var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0),ee(0),e1(0),e2(0);
Array : ii[50](0),aa[50](0),cc[50](0),vv[150](0),ttl[30](0),tttl[40](0),tttl1[40](0),tttl2[40](0),sd[45](0),st[45
](0);
Var33=Money/100000000;
if Bdate != Bdate[1] Then
{
DD = DD+1;
}
if h>l*1.08 Then
{
d1 = dd;
d2 = d1[1];
if d2 == 0 or (d2 > 0 and d1 >= d2+5) Then
{
var1 = Index;
Var2 = var1[1];
Var3= Var2[1];
tl=TL_NEW(sDatE,sTimE,100,sDatE,sTimE,999999);
TL_SetSize(tl,0);
TL_SetColor(tl,Gray);
}
}
2025-04-22
265
글번호 190318
지표