답변완료
수식 의뢰 부탁드립니다.
개발자님의 노고에 항상 감사드립니다.
전략1)
3회 연속손실 발생 시 당일 매매정지, 익일 재개
하지만 3회 연속손실 이후 매매신호에 의해 이익이 1회 발생하면 다시 매매재개
이 전략을 구현하려면 매매정지 이후에도 가상의 매매(?)가 계속 되어야 합니다
가능할까요?
안된다면 3회 연속손실 시 당일 매매정지, 익일 재개로 하고 싶습니다.
전략2)
아래와 같이 수식을 작성했는데 의도대로 되지 않습니다
봉수조건은 잘 되는데 최근 5개봉 동안 상승 또는 하락이 안 맞습니다
수정 부탁드립니다
#매수조건 양봉수 < 음봉수 and 최근 5개봉 동안 상승
if AccumN(iff(C> O,1,0),5) < AccumN(iff(C< O,1,0),5) and ( C[1] > C[6] ) Then
buy("long",AtMarket);
#매도조건 양봉수 > 음봉수 and 최근 5개봉 동안 하락
if AccumN(iff(C> O,1,0),5) > AccumN(iff(C< O,1,0),5) and ( C[1] < C[6] ) Then
sell("short",AtMarket);
#매수청산조건 양봉수 < 음봉수
if MarketPosition == 1 and AccumN(iff(C>0,1,0),5) < AccumN(iff(C<0,1,0),5) Then
exitlong("exitlong");
#매도청산조건 양봉수 > 음봉수
if MarketPosition == -1 and AccumN(iff(C>0,1,0),5) > AccumN(iff(C<0,1,0),5) Then
exitshort("exitshort");
2020-06-04
1962
글번호 139531
시스템
답변완료
문의 드립니다.
안녕하세요
바쁜 업무에 수고 많습니다. 파동선 지표2개 또는 3개를
하나의 지표로 만드는 것이 시간이 많이 걸리고 힘드시다고 하여
개인적으로 아래 지표와 같이 지그재그 파동선을 단기, 중기, 장기로
3개를 한 지표에 만들어 보았습니다. 혹시 잘못된 부분은
없는지 아님 더 간단하게 수정은 가능한지 틀린 부분과 수정이 가능한 부분이
있으면 수정 부탁 드리며 첨부한 차트 그림과 같이 단기,중기,장기
파동선 꼭지점이 서로 같이 만날때 시스템 신호가 나오게
할 수 있으면 부탁드립니다. 감사합니다.
++++++++++++++++++
input: period1(60),period2(20),period3(5),
선두께1(5),상승색1(green),하락색1(cyan),
선두께2(3),상승색2(red),하락색2(blue),
선두께3(1),상승색3(black),하락색3(black);
Var:j1(0),J2(0),J3(0),T1(0),T2(0),T3(0);
Var: date11(0),time11(0),date12(0),time12(0),TL1(0);
Var: date21(0),time21(0),date22(0),time22(0),TL2(0);
Var: date31(0),time31(0),date32(0),time32(0),TL3(0),Tx(0),Tx1(0);
Array:HiVal1[20](0),LoVal1[20](0),HiBar1[20](0),LoBar1[20](0);
Array:HiVal2[20](0),LoVal2[20](0),HiBar2[20](0),LoBar2[20](0);
Array:HiVal3[20](0),LoVal3[20](0),HiBar3[20](0),LoBar3[20](0);
Array:r[7](0),fr[7](0);
For j1 = 0 To 19
{
HiBar1[j1] = HiBar1[j1] + 1;
LoBar1[j1] = LoBar1[j1] + 1;
}
if crossup(c,highest(c,Period1)[1]) Then
T1 = 1;
if CrossDown(c,Lowest(c,Period1)[1]) Then
T1 = -1;
If T1 == -1 Then
{
If T1[1] != -1 Then
{
For j1 = 18 DownTo 0
{
LoVal1[j1+1] = LoVal1[j1];
LoBar1[j1+1] = LoBar1[j1];
}
LoVal1[0] = close;
LoBar1[0] = 0;
date11 = date[HiBar1[0]];
time11 = stime[HiBar1[0]];
Value11 = HiVal1[0];
date12 = date[LoBar1[0]];
time12 = stime[LoBar1[0]];
Value12 = LoVal1[0];
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,하락색1);
}
If LoVal1[0] > close Then
{
LoVal1[0] = close;
LoBar1[0] = 0;
date12 = date[LoBar1[0]];
time12 = stime[LoBar1[0]];
Value12 = LoVal1[0];
TL_SetEnd(TL1, date12,time12,Value12);
}
}
If T1 == 1 Then
{
If T1[1] != 1 Then
{
For j1 = 18 DownTo 0
{
HiVal1[j1+1] = HiVal1[j1];
HiBar1[j1+1] = HiBar1[j1];
}
HiVal1[0] = close;
HiBar1[0] = 0;
date11 = date[LoBar1[0]];
time11 = stime[LoBar1[0]];
Value11 = LoVal1[0];
date12 = date[HiBar1[0]];
time12 = stime[HiBar1[0]];
Value12 = HiVal1[0];
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,상승색1);
}
If HiVal1[0] < close Then
{
HiVal1[0] = close;
HiBar1[0] = 0;
date12 = date[HiBar1[0]];
time12 = stime[HiBar1[0]];
Value12 = HiVal1[0];
TL_SetEnd(TL1, date12,time12,Value12);
}
}
TL_SetSize(tL1,선두께1);
For j2 = 0 To 19
{
HiBar2[j2] = HiBar2[j2] + 1;
LoBar2[j2] = LoBar2[j2] + 1;
}
if crossup(close,highest(close,Period2)[1]) Then
T2 = 1;
if CrossDown(close,Lowest(close,Period2)[1]) Then
T2 = -1;
If T2 == -1 Then
{
If T2[1] != -1 Then
{
For j2 = 18 DownTo 0
{
LoVal2[j2+1] = LoVal2[j2];
LoBar2[j2+1] = LoBar2[j2];
}
LoVal2[0] = close;
LoBar2[0] = 0;
date21 = date[HiBar2[0]];
time21 = stime[HiBar2[0]];
Value21 = HiVal2[0];
date22 = date[LoBar2[0]];
time22 = stime[LoBar2[0]];
Value22 = LoVal2[0];
TL2 = TL_New(date21,time21,Value21,date22,time22,Value22);
TL_SetColor(TL2,하락색2);
}
If LoVal2[0] > close Then
{
LoVal2[0] = close;
LoBar2[0] = 0;
date22 = date[LoBar2[0]];
time22 = stime[LoBar2[0]];
Value22 = LoVal2[0];
TL_SetEnd(TL2, date22,time22,Value22);
}
}
If T2 == 1 Then
{
If T2[1] != 1 Then
{
For j2 = 18 DownTo 0
{
HiVal2[j2+1] = HiVal2[j2];
HiBar2[j2+1] = HiBar2[j2];
}
HiVal2[0] = close;
HiBar2[0] = 0;
date21 = date[LoBar2[0]];
time21 = stime[LoBar2[0]];
Value21 = LoVal2[0];
date22 = date[HiBar2[0]];
time22 = stime[HiBar2[0]];
Value22 = HiVal2[0];
TL2 = TL_New(date21,time21,Value21,date22,time22,Value22);
TL_SetColor(TL2,상승색2);
}
If HiVal2[0] < close Then
{
HiVal2[0] = close;
HiBar2[0] = 0;
date22 = date[HiBar2[0]];
time22 = stime[HiBar2[0]];
Value22 = HiVal2[0];
TL_SetEnd(TL2, date22,time22,Value22);
}
}
TL_SetSize(tL2,선두께2);
r[0] = 0;
r[1] = 0.25;
r[2] = 0.375;
r[3] = 0.5;
r[4] = 0.625;
r[5] = 0.75;
r[6] = 1;
For j3 = 0 To 19
{
HiBar3[j3] = HiBar3[j3] + 1;
LoBar3[j3] = LoBar3[j3] + 1;
}
if crossup(close,highest(close,Period3)[1]) Then
T3 = 1;
if CrossDown(close,Lowest(close,Period3)[1]) Then
T3 = -1;
If T3 == -1 Then
{
If T3[1] != -1 Then
{
For j3 = 18 DownTo 0
{
LoVal3[j3+1] = LoVal3[j3];
LoBar3[j3+1] = LoBar3[j3];
}
LoVal3[0] = close;
LoBar3[0] = 0;
date31 = date[HiBar3[0]];
time31 = stime[HiBar3[0]];
Value31 = HiVal3[0];
date32 = date[LoBar3[0]];
time32 = stime[LoBar3[0]];
Value32 = LoVal3[0];
TL3 = TL_New(date31,time31,Value31,date32,time32,Value32);
TL_SetColor(TL3,하락색3);
Tx = Text_New(date31,time31,Value31,"▼");
Text_SetColor(Tx,blue);
Text_SetStyle(Tx,2,1);
Text_SetSize(tx,11);
tx = Text_New(date31,time31,Value31,NumToStr(value31,2)+NewLine);
Text_SetStyle(tx,2,1);
Text_SetSize(tx,11);
date31 = date[HiBar3[0]];
time31 = stime[HiBar3[0]];
date32 = date[0];
time32 = stime[0];
for j3 = 0 to 6
{
fr[j3] = LoVal3[1] + ((HiVal3[0] - LoVal3[1]) * r[j3]);
}
}
If LoVal3[0] > close Then
{
LoVal3[0] = close;
LoBar3[0] = 0;
date32 = date[LoBar3[0]];
time32 = stime[LoBar3[0]];
Value32 = LoVal3[0];
TL_SetEnd(TL3, date32,time32,Value32);
}
}
If T3 == 1 Then
{
If T3[1] != 1 Then
{
For j3 = 18 DownTo 0
{
HiVal3[j3+1] = HiVal3[j3];
HiBar3[j3+1] = HiBar3[j3];
}
HiVal3[0] = close;
HiBar3[0] = 0;
date31 = date[LoBar3[0]];
time31 = stime[LoBar3[0]];
Value31 = LoVal3[0];
date32 = date[HiBar3[0]];
time32 = stime[HiBar3[0]];
Value32 = HiVal3[0];
TL3 = TL_New(date31,time31,Value31,date32,time32,Value32);
TL_SetColor(TL3,상승색3);
Tx1 = Text_New(date31,time31,Value31,"▲");
Text_SetColor(Tx1,red);
Text_SetStyle(Tx1,2,5);
Text_SetSize(tx1,11);
tx = Text_New(date31,time31,Value31,NewLine+NumToStr(value31,2));
Text_SetStyle(tx,2,0);
Text_SetSize(tx,11);
date31 = date[LoBar3[0]];
time31 = stime[LoBar3[0]];
date32 = date[0];
time32 = stime[0];
for j3 = 0 to 6
{
fr[j3] = LoVal3[0] + ((HiVal3[1] - LoVal3[0]) * r[j3]);
}
}
If HiVal3[0] < close Then
{
HiVal3[0] = close;
HiBar3[0] = 0;
date32 = date[HiBar3[0]];
time32 = stime[HiBar3[0]];
Value32 = HiVal3[0];
TL_SetEnd(TL3, date32,time32,Value32);
}
}
TL_SetSize(tL3,선두께3);
2020-06-03
2313
글번호 139524
시스템