친애하는!제발 도와주세요. 이전 막대 (i + 1)에 MACD를 작성했습니다. 표시기 창에 보이는 MACD 차트 값 중에서 최대 값과 최소 값을 찾습니다. 최대, 최소 및 현재 값을 출력합니다. Comment.Max 및 차트의 Comment에 있는 기본 및 신호 라인의 최소값은 올바르게 반영되지만 라인의 현재 값은 그렇지 않습니다! 누군가가 그것을 알아내는 데 도움이 될 수 있습니다.
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_width1 2
//--- buffers
double Macd1Buffer[];
double Signal1Buffer[];
//--- for one bar
datetime last;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,Macd1Buffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,Signal1Buffer);
IndicatorDigits(Digits+1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
if(last>=Time[0]) return;
double max_M1=-0.01,min_M1=0.01,
max_S1=-0.01,min_S1=0.01,
max1=-0.01,min1=0.01;
int bars_counted=WindowBarsPerChart()-1,
limit;
limit=bars_counted;
//---- macd counted in the 1-st buffer
for( int i=0; i<limit; i++)
{
Macd1Buffer[i]=iMA(NULL,0,6,0,MODE_EMA,PRICE_CLOSE,i+1)-iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i+1);
max_M1=MathMax(Macd1Buffer[i],max_M1);
min_M1=MathMin(Macd1Buffer[i],min_M1);
}
//---- macd counted in the 2-nd buffer
for( i=0; i<limit; i++)
{
Signal1Buffer[i]=iMAOnArray(Macd1Buffer,Bars,5,0,MODE_SMA,i);
max_S1=MathMax(Signal1Buffer[i],max_S1);
min_S1=MathMin(Signal1Buffer[i],min_S1);
}
max1=MathMax(max_M1,max_S1);
min1=MathMin(min_M1,min_S1);
Comment( "\n"," Баров = ",WindowBarsPerChart()-1,
"\n"," max1 = ",max1,
"\n"," min1 = ",min1,
"\n"," Macd1Buffer = ",Macd1Buffer[i],
"\n"," Signal1Buffer = ",Signal1Buffer[i]);
last=Time[0];
//----
return(0);
}
//+------------------------------------------------------------------+
친애하는!제발 도와주세요. 이전 막대 (i + 1)에 MACD를 작성했습니다. 표시기 창에 보이는 MACD 차트 값 중에서 최대 값과 최소 값을 찾습니다. 최대, 최소 및 현재 값을 출력합니다. Comment.Max 및 차트의 Comment에 있는 기본 및 신호 라인의 최소값은 올바르게 반영되지만 라인의 현재 값은 그렇지 않습니다! 누군가가 그것을 알아내는 데 도움이 될 수 있습니다.
더블 데이터는 도트 뒤에 4자리의 10진수로 출력됩니다. 숫자를 더 정확하게 표시하려면 DoubleToStr() 함수를 사용해야 합니다.
올바른 질문을 하십시오.
당신에게 대답을 줄 것입니다
귀하가 주도권을 잡았으므로 5분 차트(테스터에서 작업할 수 있는 기능 포함)에 있는 분 초의 시가에 대한 정보와 함께 매분 신호를 보내는 코드를 생각해 보겠습니다. 내 버전을 제공합니다.
이 옵션이 더 좋습니다 .
그리고 그 덕분에
친애하는!제발 도와주세요. 이전 막대 (i + 1)에 MACD를 작성했습니다. 표시기 창에 보이는 MACD 차트 값 중에서 최대 값과 최소 값을 찾습니다. 최대, 최소 및 현재 값을 출력합니다. Comment.Max 및 차트의 Comment에 있는 기본 및 신호 라인의 최소값은 올바르게 반영되지만 라인의 현재 값은 그렇지 않습니다! 누군가가 그것을 알아내는 데 도움이 될 수 있습니다.
친애하는!제발 도와주세요. 이전 막대 (i + 1)에 MACD를 작성했습니다. 표시기 창에 보이는 MACD 차트 값 중에서 최대 값과 최소 값을 찾습니다. 최대, 최소 및 현재 값을 출력합니다. Comment.Max 및 차트의 Comment에 있는 기본 및 신호 라인의 최소값은 올바르게 반영되지만 라인의 현재 값은 그렇지 않습니다! 누군가가 그것을 알아내는 데 도움이 될 수 있습니다.
더블 데이터는 도트 뒤에 4자리의 10진수로 출력됩니다. 숫자를 더 정확하게 표시하려면 DoubleToStr() 함수를 사용해야 합니다.
예시:
더블 데이터는 도트 뒤에 4자리의 10진수로 출력됩니다. 숫자를 더 정확하게 표시하려면 DoubleToStr() 함수를 사용해야 합니다.
더블 데이터는 도트 뒤에 4자리의 10진수로 출력됩니다. 숫자를 더 정확하게 표시하려면 DoubleToStr() 함수를 사용해야 합니다.
예시: