커뮤니티

하이킨아시스무스 쌍바닥

프로필 이미지
고성
2026-09-04 21:16:53
135
글번호 233511
답변완료

당시 주가의 고저와 관계없이, 하락하는 하이킨아시 음봉중의 최저점과 (직전저점)

반등후 다음 하락음봉중의 최저점이, -0.5P  ~  +0.5P 사이에서 쌍바닥을 이루며 양전환되면 매수.

다음봉에 매수청산.   세저점이  -1  ~   +1  (max,min) 사이에서 쓰리바닥이면 매수, 다음봉에 매수청산. 

조건 추가: 최근 100봉중 최고점으로부터 -10P 아래에서만 매수신호 발생.

쌍봉 쓰리봉 매도는 반대.    감사합니다.


input : MaPeriod(2),MaPeriod2(1);

var : maOpen(0),maClose(0),maLow(0),maHigh(0);

var : haOpen(0),haClose(0),haLow(0),haHigh(0);

var : ExtMapBuffer1(0),ExtMapBuffer2(0),ExtMapBuffer3(0),ExtMapBuffer4(0);

var : ExtMapBuffer5(0),ExtMapBuffer6(0),ExtMapBuffer7(0),ExtMapBuffer8(0);

var : r(0),g(0),b(0), TL(0),t(0),tx(0);

if Index == 0 Then

{

      maOpen=Open;

      maClose=Close;

      maLow=Low;

      maHigh=High;

}

Else

{

      maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod;

      maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod;

      maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod;

      maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriod;

      haOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2;

      haClose=(maOpen+maHigh+maLow+maClose)/4;

      haHigh=Max(maHigh, Max(haOpen, haClose));

      haLow=Min(maLow, Min(haOpen, haClose));      

      if (haOpen<haClose) then

      {

            r=255;

            g=10;

            b=0;

            ExtMapBuffer7=haLow;

            ExtMapBuffer8=haHigh;

                  t = 1;

      }

      else

      {

            r=0;

            g=191;

            b=255;

            ExtMapBuffer7=haHigh;

            ExtMapBuffer8=haLow;

                  t = -1;

      }      

      ExtMapBuffer5=haOpen;

      ExtMapBuffer6=haClose;

      ExtMapBuffer1=WMA(ExtMapBuffer7,MAperiod2);

      ExtMapBuffer2=WMA(ExtMapBuffer8,MAperiod2);

      ExtMapBuffer3=WMA(ExtMapBuffer5,MAperiod2);

      ExtMapBuffer4=WMA(ExtMapBuffer6,MAperiod2);

}

PlotPaintBar(ExtMapBuffer2,ExtMapBuffer1,ExtMapBuffer3,ExtMapBuffer4,"강조",Rgb(r,g,b));

if t == 1 and t != t[1] Then

{

  Text_Delete(tx);

      tx = Text_New(sDate,sTime,L-1,"■");

      Text_SetStyle(tx,2,2);

      Text_SetColor(tx,Red);

      Text_SetSize(tx,30);  

}

if t == -1 and t != t[1] Then

{

  Text_Delete(tx);

      tx = Text_New(sDate,sTime,H+1,"■");

      Text_SetStyle(tx,2,2);

      Text_SetColor(tx,Blue);

      Text_SetSize(tx,30);  

}


시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-09-07 10:15:37

안녕하세요 예스스탁입니다. input : MaPeriod(2),MaPeriod2(1); var : maOpen(0),maClose(0),maLow(0),maHigh(0); var : haOpen(0),haClose(0),haLow(0),haHigh(0); var : ExtMapBuffer1(0),ExtMapBuffer2(0),ExtMapBuffer3(0),ExtMapBuffer4(0); var : ExtMapBuffer5(0),ExtMapBuffer6(0),ExtMapBuffer7(0),ExtMapBuffer8(0); var : r(0),g(0),b(0), TL(0),t(0),tx(0); var : hh(0),ll(0),hh1(0),ll1(0),hh2(0),ll2(0); if Index == 0 Then { maOpen=Open; maClose=Close; maLow=Low; maHigh=High; } Else { maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod; maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod; maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod; maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriod; haOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2; haClose=(maOpen+maHigh+maLow+maClose)/4; haHigh=Max(maHigh, Max(haOpen, haClose)); haLow=Min(maLow, Min(haOpen, haClose)); if (haOpen<haClose) then { r=255; g=10; b=0; ExtMapBuffer7=haLow; ExtMapBuffer8=haHigh; t = 1; } else { r=0; g=191; b=255; ExtMapBuffer7=haHigh; ExtMapBuffer8=haLow; t = -1; } ExtMapBuffer5=haOpen; ExtMapBuffer6=haClose; ExtMapBuffer1=WMA(ExtMapBuffer7,MAperiod2); ExtMapBuffer2=WMA(ExtMapBuffer8,MAperiod2); ExtMapBuffer3=WMA(ExtMapBuffer5,MAperiod2); ExtMapBuffer4=WMA(ExtMapBuffer6,MAperiod2); } if t == 1 and t != t[1] Then { Text_Delete(tx); tx = Text_New(sDate,sTime,L-1,"■"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Red); Text_SetSize(tx,30); } if t == -1 and t != t[1] Then { Text_Delete(tx); tx = Text_New(sDate,sTime,H+1,"■"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Blue); Text_SetSize(tx,30); } if T == 1 Then { if T != T[1] Then { hh = haHigh; hh1 = hh[1]; hh2 = hh1[1]; if ll1 > 0 and max(ll,ll1) <= min(ll, ll1)+0.5 and haclose < highest(hahigh,100) Then Buy("b1"); if ll2 > 0 and max(ll,ll1,ll2) <= min(ll, ll1,ll2)+1.0 and haclose < highest(hahigh,100) Then Buy("b2"); } Else { if haHigh > hh Then hh = haHigh; } } if T == -1 Then { if T != T[1] Then { ll = haLow; ll1 = ll[1]; ll2 = ll1[1]; if hh1 > 0 and max(hh,hh1) <= min(hh, hh1)+0.5 and haclose > lowest(halow,100) Then Sell("s1"); if hh2 > 0 and max(hh,hh1,hh2) <= min(hh, hh1,hh2)+1.0 and haclose > lowest(halow,100) Then Sell("s2"); } Else { if haLow < ll Then ll = haLow; } } if MarketPosition == 1 and BarsSinceEntry == 1 then ExitLong("bx"); if MarketPosition == -1 and BarsSinceEntry == 1 then ExitShort("sx1"); 즐거운 하루되세요