1 - 하나의 통화(아래 차트의 예시 EUR)는 여러 기간에 걸쳐 일관되게 높은 값을 가지며,
2 - 두 번째 통화(예: 차트의 JPY)는 동일한 기간 동안 지속적으로 낮은 값을 나타냅니다.
예를 들어 M15, M30, H1 및 H4(사용자가 선택한 기간)를 지정하면 경고가 표시됩니다.
1 - EUR에는 HiScore(변수, 기본값 70) 이상의 4가지 판독값이 모두 있습니다.
2 - JPY에 LowScore(변수, 기본값 35) 이하의 네 가지 판독값이 모두 있습니다.
("hanover --- 확장 가능한 기능 .mgh"와 "hanover --- function header.mgh"는 차트를 제대로 보려면 전문가/include 폴더에 넣어야 합니다. "PLCC___" 글꼴도 설치해야 한다고 생각합니다. Windows에서는 하지만 여기에 해당 글꼴을 업로드하는 데 성공하지 못했습니다.)
코드를 제대로 게시하는 방법이 있습니까? 스페이스바가 작동하지 않습니다. 이유를 모르겠습니다.
코드를 제대로 게시하는 방법이 있습니까? 스페이스바가 작동하지 않습니다. 이유를 모르겠습니다.
그림과 같이 할 수 있습니다(php 상자에 코드를 붙여넣기만 하면 됩니다)
또는 일반 첨부 파일을 사용하여 코드를 첨부할 수 있습니다.
그림과 같이 할 수 있습니다(php 상자에 코드를 붙여넣기만 하면 됩니다)
문제는 상자가 보이지 않는다는 것입니다. 이유를 모르겠습니다. Firefox와 Internet Explorer를 사용했지만 상자가 표시되지 않았습니다. / 어쨌든 다른 컴퓨터를 사용하여 다시 시도하겠습니다.
자, 여기 지표에 대한 코드가 있습니다.
주간
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("WS1");
ObjectDelete("WS2");
ObjectDelete("WS3");
ObjectDelete("WR1");
ObjectDelete("WR2");
ObjectDelete("WR3");
ObjectDelete("WEEKLY PIVOT");
ObjectDelete("Weekly Support 1");
ObjectDelete("Weekly 2");
ObjectDelete("Weekly 3");
ObjectDelete("Weekly Pivot level");
ObjectDelete("Weekly Resistance 1");
ObjectDelete("Weekly Resistance 2");
ObjectDelete("Weekly Resistance 3");
Comment(" ");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
double rates[1][6],weekly_close,weekly_high,weekly_low;
ArrayCopyRates(rates, Symbol(), PERIOD_W1);
if(DayOfWeek() == 1)
{
if(TimeDayOfWeek(iTime(Symbol(),PERIOD_W1,1)) == 5)
{
weekly_close = rates[1][4];
weekly_high = rates[1][3];
weekly_low = rates[1][2];
}
else
{
for(int d = 5;d>=0;d--)
{
if(TimeDayOfWeek(iTime(Symbol(),PERIOD_W1,d)) == 5)
{
weekly_close = rates[d][4];
weekly_high = rates[d][3];
weekly_low = rates[d][2];
}
}
}
}
else
{
weekly_close = rates[1][4];
weekly_high = rates[1][3];
weekly_low = rates[1][2];
}
//---- Calculate Pivots
Comment("\nWeekly quotations:\nH ",weekly_high,"\nL ",weekly_low, "\nC ",weekly_close);
double R = weekly_high - weekly_low;//range
double wp = (weekly_high + weekly_low + weekly_close)/3;// Standard Pivot
double wr3 = wp + (R * 1.000);
double wr2 = wp + (R * 0.618);
double wr1 = wp + (R * 0.382);
double ws1 = wp - (R * 0.382);
double ws2 = wp - (R * 0.618);
double ws3 = wp - (R * 1.000);
drawLine(wr3,"WR3", LimeGreen,0);
drawLabel(" WR 3",wr3,LimeGreen);
drawLine(wr2,"WR2", LimeGreen,0);
drawLabel(" WR 2",wr2,LimeGreen);
drawLine(wr1,"WR1", LimeGreen,0);
drawLabel(" WR 1",wr1,LimeGreen);
drawLine(wp,"WEEKLY PIVOT",Black,1);
drawLabel(" WP",wp,Black);
drawLine(ws1,"WS1",Crimson,0);
drawLabel(" WS 1",ws1,Crimson);
drawLine(ws2,"WS2",Crimson,0);
drawLabel(" WS 2",ws2,Crimson);
drawLine(ws3,"WS3",Crimson,0);
drawLabel(" WS 3",ws3,Crimson);
//----
return(0);
}
//+------------------------------------------------------------------+
void drawLabel(string name,double lvl,color Color)
{
if(ObjectFind(name) != 0)
{
ObjectCreate(name, OBJ_TEXT, 0, Time[10], lvl);
ObjectSetText(name, name, 8, "Arial", EMPTY);
ObjectSet(name, OBJPROP_COLOR, Color);
}
else
{
ObjectMove(name, 0, Time[10], lvl);
}
}
void drawLine(double lvl,string name, color Col,int type)
{
if(ObjectFind(name) != 0)
{
ObjectCreate(name, OBJ_HLINE, 0, Time[0], lvl,Time[0],lvl);
if(type == 1)
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
else
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
else
{
ObjectDelete(name);
ObjectCreate(name, OBJ_HLINE, 0, Time[0], lvl,Time[0],lvl);
if(type == 1)
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
else
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
}[/PHP]
Monthly
[PHP]//+------------------------------------------------------------------+
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("MS1");
ObjectDelete("MS2");
ObjectDelete("MS3");
ObjectDelete("MR1");
ObjectDelete("MR2");
ObjectDelete("MR3");
ObjectDelete("MONTHLY PIVOT");
ObjectDelete("Monthly Support 1");
ObjectDelete("Monthly 2");
ObjectDelete("Monthly 3");
ObjectDelete("Monthly Pivot level");
ObjectDelete("Monthly Resistance 1");
ObjectDelete("Monthly Resistance 2");
ObjectDelete("Monthly Resistance 3");
Comment(" ");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
double rates[1][6],monthly_close,monthly_high,monthly_low;
ArrayCopyRates(rates, Symbol(), PERIOD_MN1);
if(DayOfWeek() == 1)
{
if(TimeDayOfWeek(iTime(Symbol(),PERIOD_MN1,1)) == 5)
{
monthly_close = rates[1][4];
monthly_high = rates[1][3];
monthly_low = rates[1][2];
}
else
{
for(int d = 5;d>=0;d--)
{
if(TimeDayOfWeek(iTime(Symbol(),PERIOD_MN1,d)) == 5)
{
monthly_close = rates[d][4];
monthly_high = rates[d][3];
monthly_low = rates[d][2];
}
}
}
}
else
{
monthly_close = rates[1][4];
monthly_high = rates[1][3];
monthly_low = rates[1][2];
}
//---- Calculate Pivots
Comment("\nMonthly quotations:\nH ",monthly_high,"\nL ",monthly_low, "\nC ",monthly_close);
double R = monthly_high - monthly_low;//range
double mp = (monthly_high + monthly_low + monthly_close)/3;// Standard Pivot
double mr3 = mp + (R * 1.000);
double mr2 = mp + (R * 0.618);
double mr1 = mp + (R * 0.382);
double ms1 = mp - (R * 0.382);
double ms2 = mp - (R * 0.618);
double ms3 = mp - (R * 1.000);
drawLine(mr3,"MR3", Lime,0);
drawLabel(" MR 3",mr3,Lime);
drawLine(mr2,"MR2", Lime,0);
drawLabel(" MR 2",mr2,Lime);
drawLine(mr1,"MR1", Lime,0);
drawLabel(" MR 1",mr1,Lime);
drawLine(mp,"MONTHLY PIVOT",Black,1);
drawLabel(" MP",mp,Black);
drawLine(ms1,"MS1",Red,0);
drawLabel(" MS 1",ms1,Red);
drawLine(ms2,"MS2",Red,0);
drawLabel(" MS 2",ms2,Red);
drawLine(ms3,"MS3",Red,0);
drawLabel(" MS 3",ms3,Red);
//----
return(0);
}
//+------------------------------------------------------------------+
void drawLabel(string name,double lvl,color Color)
{
if(ObjectFind(name) != 0)
{
ObjectCreate(name, OBJ_TEXT, 0, Time[10], lvl);
ObjectSetText(name, name, 8, "Arial", EMPTY);
ObjectSet(name, OBJPROP_COLOR, Color);
}
else
{
ObjectMove(name, 0, Time[10], lvl);
}
}
void drawLine(double lvl,string name, color Col,int type)
{
if(ObjectFind(name) != 0)
{
ObjectCreate(name, OBJ_HLINE, 0, Time[0], lvl,Time[0],lvl);
if(type == 1)
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
else
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
else
{
ObjectDelete(name);
ObjectCreate(name, OBJ_HLINE, 0, Time[0], lvl,Time[0],lvl);
if(type == 1)
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
else
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
}문제는 상자가 보이지 않는다는 것입니다. 이유를 모르겠습니다. Firefox와 Internet Explorer를 사용했지만 상자가 표시되지 않았습니다. / 어쨌든 다른 컴퓨터를 사용하여 다시 시도하겠습니다.
류신
상자가 표시되지 않고 다음과 같이 표시됩니다.
결과는 다음과 같습니다.
안녕하세요 여러분,
제 코드 좀 봐주시겠어요? 그것은 매우 간단하지만 내가 원하는 방식으로 작동하지 않는 이유를 모르겠습니다. 기본적으로 표시기의 두 연속 값인지 확인 하고 싶습니다. 그것들이 같으면 촛불을 닫고 화살표를 그립니다.
now=iCustom(NULL,0,"Stoch",period,5,i+1);
previous=iCustom(NULL,0,"Stoch",period,5,i+2);
if ( (now==previous))
{
CrossUp=previous;
}
[/CODE]
The code above is not showing any arrows when it should (I checked in data window)
The parameters, indicators name is all working fine because with the following code, it is showing arrows
[CODE]
now=iCustom(NULL,0,"Stoch",period,5,i+ 1 );
previous=iCustom(NULL,0,"Stoch",period,5,i+ 1 );
if ( (now==previous))
{
CrossUp=previous;
}
첫 번째 코드 세트가 동일하지 않은 이유를 누가 도울 수 있습니까?
데이터 창의 값은 동일합니다!..
미리 감사합니다!
안녕하세요 여러분,
제 코드 좀 봐주시겠어요? 그것은 매우 간단하지만 내가 원하는 방식으로 작동하지 않는 이유를 모르겠습니다. 기본적으로 표시기의 두 연속 값인지 확인하고 싶습니다. 그것들이 같으면 촛불을 닫고 화살표를 그립니다.
now=iCustom(NULL,0,"Stoch",period,5,i+1);
previous=iCustom(NULL,0,"Stoch",period,5,i+2);
if ( (now==previous))
{
CrossUp=previous;
}
[/CODE]
The code above is not showing any arrows when it should (I checked in data window)
The parameters, indicators name is all working fine because with the following code, it is showing arrows
[CODE]
now=iCustom(NULL,0,"Stoch",period,5,i+ 1 );
previous=iCustom(NULL,0,"Stoch",period,5,i+ 1 );
if ( (now==previous))
{
CrossUp=previous;
}
첫 번째 코드 세트가 동일하지 않은 이유를 누가 도울 수 있습니까?
데이터 창의 값은 동일합니다!..
미리 감사합니다!유후
데이터 창의 지표 데이터는 IndicatorDigits() 함수로 다르게 정의하지 않는 한 4자리 정밀도로만 표시됩니다. 표시되지 않는 것은 동등한 조건을 얻지 못하는 원인입니다. NormalizeDouble()을 사용 하면 더 자주 발생해야 합니다.
다음과 같이 사용하십시오.
또는 값을 반올림하려는 4 대신 다른 숫자를 사용하십시오.
CSM 객관적 측정
안녕
누군가 다음 코딩을 도와줄 수 있습니까?
알림을 제공할 때
1 - 하나의 통화(아래 차트의 예시 EUR)는 여러 기간에 걸쳐 일관되게 높은 값을 가지며,
2 - 두 번째 통화(예: 차트의 JPY)는 동일한 기간 동안 지속적으로 낮은 값을 나타냅니다.
예를 들어 M15, M30, H1 및 H4(사용자가 선택한 기간)를 지정하면 경고가 표시됩니다.
1 - EUR에는 HiScore(변수, 기본값 70) 이상의 4가지 판독값이 모두 있습니다.
2 - JPY에 LowScore(변수, 기본값 35) 이하의 네 가지 판독값이 모두 있습니다.
("hanover --- 확장 가능한 기능 .mgh"와 "hanover --- function header.mgh"는 차트를 제대로 보려면 전문가/include 폴더에 넣어야 합니다. "PLCC___" 글꼴도 설치해야 한다고 생각합니다. Windows에서는 하지만 여기에 해당 글꼴을 업로드하는 데 성공하지 못했습니다.)
고맙습니다!
Mladen에게 정말 감사합니다. 당신은 영웅입니다![](https://c.mql5.com/forextsd/smiles/smile.png)
잘 지내세요!!
mladen, 내 메타 트레이더가 0시를 지나면 주간 및 월간 피벗 표시기가 다시 작동하기 시작했습니다. 월요일 에는 왜 안되는지 모르겠어요 :/ 어쨌든 관심을 가져주셔서 감사합니다.