라이브러리

[PHP] trader_plus_di - 플러스 방향 표시기




Trader Plus DI (Trader Plus Directional Indicator)

Trader Plus DI는 기술적 분석 도구 중 하나로, 주식이나 다른 금융 시장에서 가격의 이동 방향을 예측하는 데 사용됩니다. 이 도구는 가격의 움직임을 분석하여 BUY, SELL, 또는 HOLD 신호를 생성합니다.

Trader Plus DI의 구성 요소

Trader Plus DI는 다음과 같은 구성 요소로 구성됩니다.

1. DI (Directional Indicator): 가격의 이동 방향을 예측하는 데 사용됩니다.
2. DX (Directional Index): DI의 이동 방향을 예측하는 데 사용됩니다.

Trader Plus DI의 계산 방법

Trader Plus DI는 다음과 같이 계산됩니다.

1. DI: 14일 이동 평균의 이동 평균을 계산합니다.
2. DX: DI의 이동 평균을 계산합니다.

Trader Plus DI의 신호

Trader Plus DI는 다음과 같은 신호를 생성합니다.

1. BUY 신호: DI가 상승하고 DX가 상승할 때 생성됩니다.
2. SELL 신호: DI가 하락하고 DX가 하락할 때 생성됩니다.
3. HOLD 신호: DI와 DX가 동일할 때 생성됩니다.

PHP 예제

PHP에서 Trader Plus DI를 구현하는 예제는 다음과 같습니다.

#hostingforum.kr
php

<?php



// Trader Plus DI 클래스

class TraderPlusDI {

    private $data;

    private $di;

    private $dx;



    // 생성자

    public function __construct($data) {

        $this->data = $data;

        $this->di = array();

        $this->dx = array();

    }



    // DI 계산

    public function calculateDi() {

        for ($i = 0; $i < count($this->data); $i++) {

            if ($i < 14) {

                $this->di[] = 0;

                $this->dx[] = 0;

            } else {

                $plusDi = 0;

                $minusDi = 0;

                for ($j = $i - 13; $j <= $i - 1; $j++) {

                    if ($this->data[$j] > $this->data[$j + 1]) {

                        $plusDi += $this->data[$j] - $this->data[$j + 1];

                    } else {

                        $minusDi += $this->data[$j + 1] - $this->data[$j];

                    }

                }

                $this->di[] = $plusDi - $minusDi;

                $this->dx[] = abs($this->di[$i - 1] - $this->di[$i]) / 0.0001;

            }

        }

    }



    // BUY 신호 생성

    public function buySignal() {

        for ($i = 0; $i < count($this->di); $i++) {

            if ($this->di[$i] > 0 && $this->dx[$i] > 0) {

                return $i;

            }

        }

        return -1;

    }



    // SELL 신호 생성

    public function sellSignal() {

        for ($i = 0; $i < count($this->di); $i++) {

            if ($this->di[$i] < 0 && $this->dx[$i] < 0) {

                return $i;

            }

        }

        return -1;

    }



    // HOLD 신호 생성

    public function holdSignal() {

        for ($i = 0; $i < count($this->di); $i++) {

            if ($this->di[$i] == 0 && $this->dx[$i] == 0) {

                return $i;

            }

        }

        return -1;

    }

}



// 데이터 생성

$data = array(

    100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300

);



// Trader Plus DI 객체 생성

$tpdi = new TraderPlusDI($data);



// DI 계산

$tpdi->calculateDi();



// BUY 신호 생성

$buySignal = $tpdi->buySignal();

if ($buySignal != -1) {

    echo "BUY 신호 생성: $buySignal
";

} else {

    echo "BUY 신호 없음
";

}



// SELL 신호 생성

$sellSignal = $tpdi->sellSignal();

if ($sellSignal != -1) {

    echo "SELL 신호 생성: $sellSignal
";

} else {

    echo "SELL 신호 없음
";

}



// HOLD 신호 생성

$holdSignal = $tpdi->holdSignal();

if ($holdSignal != -1) {

    echo "HOLD 신호 생성: $holdSignal
";

} else {

    echo "HOLD 신호 없음
";

}



이 예제에서는 Trader Plus DI 클래스를 생성하고 DI를 계산합니다. BUY, SELL, HOLD 신호를 생성하고 결과를 출력합니다.

주의

Trader Plus DI는 기술적 분석 도구로, 실제 투자 결정을 내릴 때는 전문가의 조언을 받아야 합니다. 이 예제는 교육 목적으로만 제공되며, 실제 투자에 사용하지 마십시오.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 72 페이지

검색

게시물 검색