코딩 도움말 - 페이지 88

 

친애하는 믈라덴,

기본적인 질문에 대해 죄송합니다. 코드에 날짜 및 시간 작업이 필요할 때 항상 문제가 있습니다. 며칠 전에 이 포럼에 게시한 AverageJoe EA의 97행에는 일정한 120 개가 있습니다.

if (OrderType() == OP_SELL && CurTime()-LastSellTime >=120) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );

120 의 측정 단위는 무엇입니까?

문안 인사,

크리스토프

 
mladen:
Chrisstoff 그것은 초입니다 (메타 트레이더는 1.1.1970 이후의 시간을 초 단위로 절약합니다. 제가 실수하지 않는다면 요점은 datetime 변수가 선언되거나 CurrentTime()과 같은 함수가 호출될 때 항상 초로 작동한다는 것입니다)

믈라덴,

빠른 응답에 감사드립니다.

 
chrisstoff:
친애하는 믈라덴,

기본적인 질문에 대해 죄송합니다. 코드에 날짜 및 시간 작업이 필요할 때 항상 문제가 있습니다. 며칠 전에 이 포럼에 게시한 AverageJoe EA의 97행에는 일정한 120 개가 있습니다.

if (OrderType() == OP_SELL && CurTime()-LastSellTime >=120) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );

120 의 측정 단위는 무엇입니까?

문안 인사,

크리스토프

크리스토프

입니다

 

지표 수정 감사합니다!

#속성 표시기_차트_창

#속성 표시기_버퍼 5

//---- 입력 매개변수

extern int TimeFramePeriod;

외부 정수 N=100;

//

외부 이중 CustoMA1;

외부 이중 CustoMA2;

외부 이중 CustoMA3;

외부 이중 CustoMA4;

extern 더블 하이20;

외부 더블 로우20;

//

#property indicator_color1 빨간색

#property indicator_color2 라임

#property indicator_color3 주황색

#property indicator_color4 빨간색

//--- 버퍼

이중 CustoMA1[];

이중 CustoMA2[];

이중 CustoMA3[];

이중 CustoMA4[];

더블 tr[];

//

정수 초기화() {

SetIndexStyle(0, DRAW_LINE);

SetIndexBuffer(0, CustoMA1);

SetIndexStyle(1, DRAW_LINE);

SetIndexBuffer(1, CustoMA2);

SetIndexStyle(2, DRAW_LINE);

SetIndexBuffer(2, CustoMA3);

SetIndexStyle(3, DRAW_LINE);

SetIndexBuffer(3, CustoMA4);

SetIndexStyle(4, DRAW_LINE);

SetIndexBuffer(4,tr);

리턴(0);

}

//---- 버퍼

더블 버프[];

//+----------------------------------------------- -------------------+

//| 커스텀 인디케이터 초기화 기능 |

//+----------------------------------------------- -------------------+

//int 초기화()

//{

//if (막대 < MIN_BARS_REQUIRED) return(-1);

//IndicatorDigits(숫자);

//SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);

//SetIndexBuffer(0, 버프);

//문자열 paramDesc = "("+getPeriodDesc(TimeFramePeriod) + ", "")";

//IndicatorShortName("" + paramDesc);

// 인덱스 레이블 설정

//SetIndexLabel(0, "" + paramDesc);

//----

//반환(0);

}

//+----------------------------------------------- -------------------+

//| 커스텀 인디케이터 초기화 해제 기능 |

//+----------------------------------------------- -------------------+

정수 시작()

{

정수 제한;

int counted_bars=IndicatorCounted();

//----

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

int limit=막대-카운트된_막대;

정수 i=0;

for (i=Mathmin(Bars-5,Limit);i>=0;i--);

tr[]=MathMax(MathMax(High-Low,MathAbs(Close-High)),MathAbs(Close-Low));

higt20=H=HHV(H,N);

low20=L=LLV(L,N);

//

MA1=H-tr[]*0.1;

MA2=H-tr[]*0.2;

MA3=L+tr[]*0.1;

MA4=L+tr[]*0.2;

//

CustoMA1=REF(MA1,BarsSince(higt20));

CustoMA2=REF(MA2,BarsSince(higt20));

CustoMA3=REF(MA3,BarsSince(low20));

CustoMA4=REF(MA4,BarsSince(low20));

//

플롯(CustoMA1,"TREND",colorRed);

플롯(CustoMA2,"TREND",colorLime);

플롯(CustoMA3,"TREND",colorOrange);

플롯(CustoMA4,"TREND",colorRed);

//----

리턴(0);

//+----------------------------------------------- -------------------+

문자열 getPeriodDesc(int aNumMinutes)

{

스위치(aNumMinutes)

{

케이스 PERIOD_M1 : return("M1");

케이스 PERIOD_M15: return("M15");

케이스 PERIOD_M30: return("M30");

케이스 PERIOD_H1 : return("H1");

케이스 PERIOD_H4 : return("H4");

케이스 PERIOD_D1 : return("D1");

케이스 PERIOD_W1 : return("W1");

케이스 PERIOD_MN1: return("MN1");

사례 0: return("차트");

기본값: return("M" + aNumMinutes);

}

}

//+----------------------------------------------- -------------------+

//| |

//+----------------------------------------------- -------------------+

이중 getDeMarker(int aShift)

{

return(iDeMarker(NULL, TimeFramePeriod, 13, iBarShift(NULL, TimeFramePeriod, 시간[aShift])));

}

//+----------------------------------------------- -------------------+

//| |

//+----------------------------------------------- -------------------+

정수 시작()

{

for(int shift=Bars-1;shift>=0;shift--)

{

버프[시프트]=getDeMarker(시프트);

}

리턴(0);

}

//+----------------------------------------------- -------------------+

죄송합니다 ! 여기에 코드를 붙여넣으세요.

크랭가스트

2013/5/21

 
Kreangast:
지표 수정 감사합니다!

#속성 표시기_차트_창

#속성 표시기_버퍼 5

//---- 입력 매개변수

extern int TimeFramePeriod;

외부 정수 N=100;

//

외부 이중 CustoMA1;

외부 이중 CustoMA2;

외부 이중 CustoMA3;

외부 이중 CustoMA4;

extern 더블 하이20;

외부 더블 로우20;

//

#property indicator_color1 빨간색

#property indicator_color2 라임

#property indicator_color3 주황색

#property indicator_color4 빨간색

//--- 버퍼

이중 CustoMA1[];

이중 CustoMA2[];

이중 CustoMA3[];

이중 CustoMA4[];

더블 tr[];

//

정수 초기화() {

SetIndexStyle(0, DRAW_LINE);

SetIndexBuffer(0, CustoMA1);

SetIndexStyle(1, DRAW_LINE);

SetIndexBuffer(1, CustoMA2);

SetIndexStyle(2, DRAW_LINE);

SetIndexBuffer(2, CustoMA3);

SetIndexStyle(3, DRAW_LINE);

SetIndexBuffer(3, CustoMA4);

SetIndexStyle(4, DRAW_LINE);

SetIndexBuffer(4,tr);

리턴(0);

}

//---- 버퍼

더블 버프[];

//+----------------------------------------------- -------------------+

//| 커스텀 인디케이터 초기화 기능 |

//+----------------------------------------------- -------------------+

//int 초기화()

//{

//if (막대 < MIN_BARS_REQUIRED) return(-1);

//IndicatorDigits(숫자);

//SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);

//SetIndexBuffer(0, 버프);

//문자열 paramDesc = "("+getPeriodDesc(TimeFramePeriod) + ", "")";

//IndicatorShortName("" + paramDesc);

// 인덱스 레이블 설정

//SetIndexLabel(0, "" + paramDesc);

//----

//반환(0);

}

//+----------------------------------------------- -------------------+

//| 커스텀 인디케이터 초기화 해제 기능 |

//+----------------------------------------------- -------------------+

정수 시작()

{

정수 제한;

int counted_bars=IndicatorCounted();

//----

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

int limit=막대-카운트된_막대;

정수 i=0;

for (i=Mathmin(Bars-5,Limit);i>=0;i--);

tr[]=MathMax(MathMax(High-Low,MathAbs(Close-High)),MathAbs(Close-Low));

higt20=H=HHV(H,N);

low20=L=LLV(L,N);

//

MA1=H-tr[]*0.1;

MA2=H-tr[]*0.2;

MA3=L+tr[]*0.1;

MA4=L+tr[]*0.2;

//

CustoMA1=REF(MA1,BarsSince(higt20));

CustoMA2=REF(MA2,BarsSince(higt20));

CustoMA3=REF(MA3,BarsSince(low20));

CustoMA4=REF(MA4,BarsSince(low20));

//

플롯(CustoMA1,"TREND",colorRed);

플롯(CustoMA2,"TREND",colorLime);

플롯(CustoMA3,"TREND",colorOrange);

플롯(CustoMA4,"TREND",colorRed);

//----

리턴(0);

//+----------------------------------------------- -------------------+

문자열 getPeriodDesc(int aNumMinutes)

{

스위치(aNumMinutes)

{

케이스 PERIOD_M1 : return("M1");

케이스 PERIOD_M15: return("M15");

케이스 PERIOD_M30: return("M30");

케이스 PERIOD_H1 : return("H1");

케이스 PERIOD_H4 : return("H4");

케이스 PERIOD_D1 : return("D1");

케이스 PERIOD_W1 : return("W1");

케이스 PERIOD_MN1: return("MN1");

사례 0: return("차트");

기본값: return("M" + aNumMinutes);

}

}

//+----------------------------------------------- -------------------+

//| |

//+----------------------------------------------- -------------------+

이중 getDeMarker(int aShift)

{

return(iDeMarker(NULL, TimeFramePeriod, 13, iBarShift(NULL, TimeFramePeriod, 시간[aShift])));

}

//+----------------------------------------------- -------------------+

//| |

//+----------------------------------------------- -------------------+

정수 시작()

{

for(int shift=Bars-1;shift>=0;shift--)

{

버프[시프트]=getDeMarker(시프트);

}

리턴(0);

}

//+----------------------------------------------- -------------------+

죄송합니다 ! 여기에 코드를 붙여넣으세요.

크랭가스트

2013/5/21

그것은 tadestation의 코드를 metatrader의 코드와 결합하려는 사람입니다. 그런 식으로 작동하지 않으며 그런 식으로 결합 할 수 없습니다.

 

받는 사람:mladen

MT4로 가도 될까요? TS 코드의 일부인 MT4를 작성하지 않겠습니다. 고맙습니다.

크랭가스트

2013-5-21

 
Kreangast:
받는 사람:mladen

MT4로 가도 될까요? TS 코드의 일부인 MT4를 작성하지 않겠습니다. 고맙습니다.

크랭가스트

2013-5-21

당신이 게시 한 것에서 그것이 무엇을해야하는지 볼 수 없습니다

 

받는 사람:mladen

어떻게 해야 하는지 묻고 싶습니다.

고맙습니다

크랭가스트

 
Kreangast:
받는 사람:mladen

어떻게 해야 하는지 묻고 싶습니다.

고맙습니다

크랭가스트

시작하려면 먼저 https://www.mql5.com/en/forum/172969/page2 를 읽은 다음 tradestation과 유사한 내용을 읽어야 합니다. 그런 다음 한 코딩 언어에서 다른 코딩 언어로 코드를 변환할 수 있습니다.

 
mladen:
시작하려면 먼저 https://www.mql5.com/en/forum/172969/page2 를 읽은 다음 tradestation과 유사한 내용을 읽어야 합니다. 그런 다음 한 코딩 언어에서 다른 코딩 언어로 코드를 변환할 수 있습니다.

하지만 이 코드는 MT4에 문제를 일으키지 않습니다. 매우 감사합니다

크랭가스트

2013/5/21