그 지표는 각각에 대해 기울기와 유사한 것을 계산하고 있습니다(각도가 아니라 시계열 차트에서 각도를 정확히 계산할 수 없기 때문에 기울기에 필요한 것과 다른 수학을 사용하려고 하기 때문에 정확한 기울기도 아님). 그리고 ma의 모든 바. 그것을 뒤집고 싶다면(정확히 원하는 것이 무엇인지 추측하고 있습니다) 결과적으로 시작 ma를 얻게 될 것입니다(그래서 차트에서 이동 평균을 얻게 될 것입니다).
mladen: 그 지표는 각각에 대해 기울기와 유사한 것을 계산하고 있습니다(각도가 아니라 시계열 차트에서 각도를 정확히 계산할 수 없기 때문에 기울기에 필요한 것과 다른 수학을 사용하려고 하기 때문에 정확한 기울기도 아님). 그리고 ma의 모든 바. 그것을 뒤집고 싶다면(정확히 원하는 것이 무엇인지 추측하고 있습니다) 결과적으로 시작 ma를 얻게 될 것입니다(그래서 차트에서 이동 평균을 얻게 될 것입니다). 마지막 막대의 기울기를 확장하려는 경우 마지막 막대의 기울기를 사용하여 이동 평균을 확장하는 이 표시기 https://www.mql5.com/en/forum/173235/page36 와 유사한 것을 사용할 수 있습니다.
iStdDevOnArry() 함수를 사용하면 모든 값에 대해 볼린저 밴드 를 계산할 수 있습니다.
사용하려는 값(예: 평균 값)으로 배열을 채우고 iStdDevOnArray()를 사용하여 편차를 계산하고 iMaOnArray()를 사용하여 볼린저 밴드의 중간선을 계산합니다(iStrDevOnArry()가 사용하는 것과 동일한 배열 사용). 밴드는 간단합니다 : 중간 라인 + 편차 * 위쪽에 대한 승수, 중간 라인 - 편차 * 아래쪽 밴드에 대한 승수
답변 감사합니다!
그러나 이 인디 히스토그램 코드와 같이 일반 차트에서 MA의 각도 선을 어떻게 얻을 수 있습니까?
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 FireBrick
#property indicator_color3 Yellow
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
//---- indicator parameters
extern int TimeFrame = 60;
extern int MAMode = 0;
extern int MAPeriod = 50;
extern int Price = 4;
extern double AngleTreshold = 0.25;
extern int StartMAShift = 2;
extern int EndMAShift = 0;
extern int MaxBars = 500;
string TF1;
//---- indicator buffers
double UpBuffer[];
double DownBuffer[];
double ZeroBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 2 additional buffers are used for counting.
IndicatorBuffers(3);
//---- drawing settings
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2 );
//---- 3 indicator buffers mapping
if(!SetIndexBuffer(0,UpBuffer) &&
!SetIndexBuffer(1,DownBuffer) &&
!SetIndexBuffer(2,ZeroBuffer))
Print("cannot set indicator buffers!");
SetIndexLabel(0,"");
SetIndexLabel(1,"");
SetIndexLabel(2,"");
switch(TimeFrame)
{
case 1: TF1="M1"; break;
case 5: TF1="M5"; break;
case 15: TF1="M15"; break;
case 30: TF1="M30"; break;
case 60: TF1="H1"; break;
case 240: TF1="H4"; break;
case 1440: TF1="D1"; break;
case 10080: TF1="W1"; break;
case 43200: TF1="MN1"; break;
default: {TimeFrame = Period(); init(); return(0);}
}
IndicatorShortName("MAAngle MTF * "+TF1+" *");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| The angle for EMA |
//+------------------------------------------------------------------+
int start()
{
double fEndMA, fStartMA;
double fAngle, mFactor, dFactor;
int nLimit, i;
int nCountedBars;
double angle;
int ShiftDif;
string Sym;
if (MAMode >= 4) MAMode = 0;
if(EndMAShift >= StartMAShift)
{
Print("Error: EndMAShift >= StartMAShift");
StartMAShift = 6;
EndMAShift = 0;
}
nCountedBars = IndicatorCounted();
dFactor = 2*3.14159/180.0;
mFactor = 10000.0;
Sym = StringSubstr(Symbol(),3,3);
if (Sym == "JPY") mFactor = 100.0;
ShiftDif = StartMAShift-EndMAShift;
mFactor /= ShiftDif;
//---- check for possible errors
if(nCountedBars<0) return(-1);
//---- last counted bar will be recounted
if(nCountedBars>0) nCountedBars--;
nLimit=Bars-nCountedBars;
nLimit=MathMax(nLimit,TimeFrame/Period());
nLimit=MathMin(nLimit,MaxBars );
//---- main loop
for(i=0; i<nLimit; i++)
{
int y = iBarShift(NULL,TimeFrame,Time);
if (TimeFrame<Period()) TimeFrame=Period();
fEndMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+EndMAShift);
fStartMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+StartMAShift);
// 10000.0 : Multiply by 10000 so that the fAngle is not too small
// for the indicator Window.
fAngle = mFactor * (fEndMA - fStartMA)/2.0;
//fAngle = MathArctan(fAngle)/dFactor;
DownBuffer = 0.0;
UpBuffer = 0.0;
ZeroBuffer = 0.0;
if(fAngle > AngleTreshold)
UpBuffer = fAngle;
else if (fAngle < -AngleTreshold)
DownBuffer = fAngle;
else ZeroBuffer = fAngle;
}
return(0);
}
//+------------------------------------------------------------------+
그 지표는 각각에 대해 기울기와 유사한 것을 계산하고 있습니다(각도가 아니라 시계열 차트에서 각도를 정확히 계산할 수 없기 때문에 기울기에 필요한 것과 다른 수학을 사용하려고 하기 때문에 정확한 기울기도 아님). 그리고 ma의 모든 바. 그것을 뒤집고 싶다면(정확히 원하는 것이 무엇인지 추측하고 있습니다) 결과적으로 시작 ma를 얻게 될 것입니다(그래서 차트에서 이동 평균을 얻게 될 것입니다).
마지막 막대의 기울기를 확장하려는 경우 마지막 막대의 기울기를 사용하여 이동 평균을 확장하는 이 표시기 https://www.mql5.com/en/forum/173235/page36 와 유사한 것을 사용할 수 있습니다.
그 지표는 각각에 대해 기울기와 유사한 것을 계산하고 있습니다(각도가 아니라 시계열 차트에서 각도를 정확히 계산할 수 없기 때문에 기울기에 필요한 것과 다른 수학을 사용하려고 하기 때문에 정확한 기울기도 아님). 그리고 ma의 모든 바. 그것을 뒤집고 싶다면(정확히 원하는 것이 무엇인지 추측하고 있습니다) 결과적으로 시작 ma를 얻게 될 것입니다(그래서 차트에서 이동 평균을 얻게 될 것입니다). 마지막 막대의 기울기를 확장하려는 경우 마지막 막대의 기울기를 사용하여 이동 평균을 확장하는 이 표시기 https://www.mql5.com/en/forum/173235/page36 와 유사한 것을 사용할 수 있습니다.
mladen 감사합니다! 내가 원하는 것과 매우 비슷하다.
MTF 모드도 마찬가지인가요?
믈라덴..
이 표시기를 수정하는 데 도움이 필요합니다 https://www.mql5.com/en/forum/general
믈라덴,
이동 평균 의 데이터를 사용하여 BBands를 계산합니다.
비표준 MT4 스타킹에 적용하는 예입니다.
AllAverages의 이동 평균 유형 중 하나의 예입니다.
평균에서 실제 데이터를 사용하는 BBands입니다.
이동 평균 유형이 다른 BBands SMA가 없습니다.
믈라덴,
이동 평균의 데이터를 사용하여 BBands를 계산합니다.
비표준 MT4 스타킹에 적용하는 예입니다.
AllAverages의 이동 평균 유형 중 하나의 예입니다.
평균에서 실제 데이터를 사용하는 BBands입니다.
이동 평균 유형이 다른 BBands SMA가 없습니다.안톤산
iStdDevOnArry() 함수를 사용하면 모든 값에 대해 볼린저 밴드 를 계산할 수 있습니다.
사용하려는 값(예: 평균 값)으로 배열을 채우고 iStdDevOnArray()를 사용하여 편차를 계산하고 iMaOnArray()를 사용하여 볼린저 밴드의 중간선을 계산합니다(iStrDevOnArry()가 사용하는 것과 동일한 배열 사용). 밴드는 간단합니다 : 중간 라인 + 편차 * 위쪽에 대한 승수, 중간 라인 - 편차 * 아래쪽 밴드에 대한 승수
안톤산
다음은 모든 값의 볼린저 밴드 를 구축하기 위한 템플릿으로 사용할 수 있는 매우 간단한 샘플 코드입니다. 다음 줄에서 iRsi() 호출을 교체하기만 하면 됩니다.
for(i=limit, i >= 0, i--) 값 = iRSI(NULL,0,RsiLength,RsiPrice,i);
원하는 함수 또는 사용자 지정 표시기에 대한 iCustom() 호출을 사용하여 해당 값에 대한 볼린저 밴드를 계산합니다.
person77 옵션이 하나 더 추가되었습니다. AllowCloseEqualOpen. 이제 해당 옵션으로 제어할 수 있습니다.
잘했어 mlanden! 다시 한번 감사합니다.
EA에 대한 좋은 지표
여보세요,
이 표시기는 5개의 라인을 가지고 있습니다.(피벗+R1+R2+S1+S2)
이 라인을 기반으로 하는 ea를 만들고 싶습니다. 불행히도 이 줄에는 버퍼가 없습니다. 누군가가 각 줄에 버퍼를 할당해야 합니다.
도와주세요
친애하는;
바믹
여보세요,
이 표시기는 5개의 라인을 가지고 있습니다.(피벗+R1+R2+S1+S2)
이 라인을 기반으로 하는 ea를 만들고 싶습니다. 불행히도 이 줄에는 버퍼가 없습니다. 누군가가 각 줄에 버퍼를 할당해야 합니다.
도와주세요
친애하는;
바믹바르닉
이 스레드를 확인하셨습니까? https://www.mql5.com/en/forum/172894
해당 스레드에서 버퍼를 사용하는 많은 피벗 표시기가 있습니다.
바르닉
이 스레드를 확인했습니까? https://www.mql5.com/en/forum/172894
해당 스레드에서 버퍼를 사용하는 많은 피벗 표시기가 있습니다.도움을 주신 deer mladen에게 감사드립니다.
이 지표의 대부분을 다운로드하여 테스트했습니다. "AutoPivotIndicator_ver5" 지표만 "TARGETS-LINES"와 같았습니다.
불행히도 이 표시기는 버퍼를 사용하지 않고 개체를 사용합니다.
내 간단한 표시기를 변경해 주시겠습니까.(각 줄에 버퍼를 할당하십시오.) 작은 표시기입니다.
감사해요