문제는 이러한 티켓이 두 개 이상 있다는 것입니다. 아마도 4, 나는 확실하지 않습니다. 따라서 orderselect가 저장하지 않는 티켓 번호 및 기타 정보가 있는 클래스를 만들었습니다. 따라서 아래에 액세스하는 것이 바람직합니다. 그러나 지금까지는 클래스 개체를 만들고 CarrayObj 에 던진 다음 인덱스로 가져와 티켓을 비교하고 추가로 분석하는 것만 생각했습니다. 문제는 그가 질문한 이유입니다. 오류 처리로 인해 손실된 내용입니다. 그러나 나는 그것을 알아 냈습니다. 감사합니다. 다른 곳에서 비난해야합니다. 악의적인 신사 여러분 AlexeyVik- 신속한 답변에 감사드립니다!
안녕하세요! 전략 테스터 에서 거래가 열리지 않는 이유를 작성하십시오. 오류는 로그에 기록됩니다. (2015.07.13 00:22:39.218 TestGenerator: 일치하지 않는 데이터 오류(2013.07.11 05:00에서 높은 값 1.31150에 도달하지 않음) 최소 기간에서 높은 가격 1.31140 불일치) 업데이트된 인용문 EA 코드는 다음과 같습니다.
int ticket;
int init;
int start()
{
int bars0;
int bars1;
int bars2;
int bars3;
int stoploss= 50 ;
int takeprofit= 30 ;
int slipage= 2 ;
//-------------------------------------------------------------------+if ( OrdersTotal ()< 1 && Open[bars0]<Close[bars0] && Open[bars1]<Close[bars1] )
if ( Open[bars2]>Close[bars2]&& Open[bars3]>Close[bars3] )
if (V1()== true )
ticket = OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask,slipage,Ask-stoploss* Point ,Ask+takeprofit* Point , "" , 123 , 0 ,Red);
//-------------------------------------------------------------------+ if ( OrdersTotal ()< 1 && Open[bars0]>Close[bars0] && Open[bars1]>Close[bars1]&& Open[bars2]<Close[bars2])
if ( Open[bars2]<Close[bars2]&& Open[bars3]<Close[bars3] )
if (V2()== true )
ticket = OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid,slipage,Bid+stoploss* Point ,Bid-takeprofit* Point , "" , 123 , 0 ,Red);
//-------------------------------------------------------------------+ return ;}
//+------------------------------------------------------------------+bool V1( ){
int i, k= OrdersTotal ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType()==OP_BUY) {
return ( false );
}
}
}
return ( true );
}
bool V2( ){
int i, k= OrdersTotal ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType()==OP_SELL) {
return ( false );
}
}
}
return ( true );
}
rylay : 안녕하세요! 전략 테스터에서 거래가 열리지 않는 이유를 작성하세요. 로그에 오류가 기록됩니다. (2015.07.13 00:22:39.218 TestGenerator: 일치하지 않는 데이터 오류(2013.07.11 05:00에서 높은 값 1.31150에 도달하지 않음) 최소 기간에서 높은 가격 1.31140 불일치) 업데이트된 인용문 EA 코드는 다음과 같습니다. )
언급한 테스터의 오류에 관해서는 진드기를 테스트할 때 항상 그렇습니다. MT4에서 인용의 역사는 불완전하며 항상 불일치가 있습니다.
코드는 버그로 가득 차 있습니다. 변수 막대*가 초기화되지 않고 시작 함수가 반환하는 내용이 명확하지 않으며 거래 함수 실행에 대한 검사가 없습니다. 수정하십시오.
그리고 우리는 이미 주문 유형을 결정하기 위한 두 가지 함수를 만들었기 때문에 각 유형의 주문 카운터를 거기에 포함하고 비교하는 대신 if( OrdersTotal()<1...) if( OrdersBuy<1... ), 만약 ( OrdersSell<1 ...)? 더 정확할 것입니다.
하나의 바 조건에서 하나의 딜만 여는 방법을 알려주세요, 딜이 바 내부에서 이루어지는데 딜이 체결되는 시점에 바로 같은 바에 오프닝 시그널이 나타납니다.
즉, 바는 주문을 열라는 신호를 주었습니다. 열렸고 짧은 시간이 걸렸습니다. 거래가 마감되었지만 고문은 첫 번째 주문을 마감하면 이 막대 내에서 열 수 있는 조건이 여전히 있기 때문에 두 번째 주문을 즉시 엽니다. 한 바에 하나의 거래만 있다면 그게 필요합니다. 그리고 다음 거래를 열기 위해 다른 바가 열리기를 기다립니다.
하나의 바 조건에서 하나의 딜만 여는 방법을 알려주세요, 만약 딜이 바 안에서 이루어지는데 딜이 체결되는 순간 같은 바에 바로 오프닝 시그널이 나타납니다.
즉, 바는 주문을 열라는 신호를 주었습니다. 열렸고 짧은 시간이 걸렸습니다. 거래가 마감되었지만 고문은 첫 번째 주문을 마감하면 이 막대 내에서 열 수 있는 조건이 여전히 있기 때문에 두 번째 주문을 즉시 엽니다. 한 바에 하나의 거래만 있다면 그게 필요합니다. 그리고 다음 거래를 열기 위해 다른 바가 열리기를 기다립니다.
bool _이미 열림 = 거짓;
if (isNewBar()){ _이미 열림 = 거짓;}
if (! OrderSend (...) ) { /* 오류 처리 */; } else { _ybe 열림 = true; }
isNewBar() - 기사에서와 같이 표준, 정적 datetime 사용 date = Time[0];
언급한 테스터의 오류에 관해서는 진드기를 테스트할 때 항상 그렇습니다. MT4에서 인용의 역사는 불완전하며 항상 불일치가 있습니다.
코드는 버그로 가득 차 있습니다. 변수 막대*가 초기화되지 않고 시작 함수가 반환하는 내용이 명확하지 않으며 거래 함수 실행에 대한 검사가 없습니다. 수정하십시오.
코드 시작 부분에 #property strict 를 추가합니다.
그리고 우리는 이미 주문 유형을 결정하기 위한 두 가지 함수를 만들었기 때문에 각 유형의 주문 카운터를 거기에 포함하고 비교하는 대신 if( OrdersTotal()<1...) if( OrdersBuy<1... ), 만약 ( OrdersSell<1 ...)? 더 정확할 것입니다.
고맙습니다. 수정하겠습니다 .. 조건이 하나였을 때:
if ( OrdersTotal ()< 1 && Open[bars0]<Close[bars0]
ticket = OrderSend ( Symbol (),OP_BUY, 0.1 ,Ask,slipage,Ask-stoploss* Point ,Ask+takeprofit* Point , "" , 123 , 0 ,Red);
포럼에서 새 막대의 정의에 대한 기사를 찾고, 거기에 isNewBar() 함수를 복사하십시오. 아마도 이해할 수 있을 것입니다. 복잡한 것은 없습니다. 새 막대 의 여는 시간 이 비교됩니다(인덱스 0, 즉 마지막 것), 시간이 이전보다 길면 새 막대가 방금 나타납니다. 표시되면 다른 조건이 있는 경우 이미 새 거래를 열 수 있습니다.
문제는 이러한 티켓이 두 개 이상 있다는 것입니다. 아마도 4, 나는 확실하지 않습니다. 따라서 orderselect가 저장하지 않는 티켓 번호 및 기타 정보가 있는 클래스를 만들었습니다. 따라서 아래에 액세스하는 것이 바람직합니다. 그러나 지금까지는 클래스 개체를 만들고 CarrayObj 에 던진 다음 인덱스로 가져와 티켓을 비교하고 추가로 분석하는 것만 생각했습니다. 문제는 그가 질문한 이유입니다. 오류 처리로 인해 손실된 내용입니다. 그러나 나는 그것을 알아 냈습니다. 감사합니다. 다른 곳에서 비난해야합니다. 악의적인 신사 여러분 AlexeyVik - 신속한 답변에 감사드립니다!
)
안녕하세요! 전략 테스터에서 거래가 열리지 않는 이유를 작성하세요. 로그에 오류가 기록됩니다. (2015.07.13 00:22:39.218 TestGenerator: 일치하지 않는 데이터 오류(2013.07.11 05:00에서 높은 값 1.31150에 도달하지 않음) 최소 기간에서 높은 가격 1.31140 불일치) 업데이트된 인용문 EA 코드는 다음과 같습니다.
)
언급한 테스터의 오류에 관해서는 진드기를 테스트할 때 항상 그렇습니다. MT4에서 인용의 역사는 불완전하며 항상 불일치가 있습니다.
코드는 버그로 가득 차 있습니다. 변수 막대*가 초기화되지 않고 시작 함수가 반환하는 내용이 명확하지 않으며 거래 함수 실행에 대한 검사가 없습니다. 수정하십시오.
코드 시작 부분에 #property strict 를 추가합니다.
그리고 우리는 이미 주문 유형을 결정하기 위한 두 가지 함수를 만들었기 때문에 각 유형의 주문 카운터를 거기에 포함하고 비교하는 대신 if( OrdersTotal()<1...) if( OrdersBuy<1... ), 만약 ( OrdersSell<1 ...)? 더 정확할 것입니다.
하나의 바 조건에서 하나의 딜만 여는 방법을 알려주세요, 딜이 바 내부에서 이루어지는데 딜이 체결되는 시점에 바로 같은 바에 오프닝 시그널이 나타납니다.
즉, 바는 주문을 열라는 신호를 주었습니다. 열렸고 짧은 시간이 걸렸습니다. 거래가 마감되었지만 고문은 첫 번째 주문을 마감하면 이 막대 내에서 열 수 있는 조건이 여전히 있기 때문에 두 번째 주문을 즉시 엽니다. 한 바에 하나의 거래만 있다면 그게 필요합니다. 그리고 다음 거래를 열기 위해 다른 바가 열리기를 기다립니다.
하나의 바 조건에서 하나의 딜만 여는 방법을 알려주세요, 만약 딜이 바 안에서 이루어지는데 딜이 체결되는 순간 같은 바에 바로 오프닝 시그널이 나타납니다.
즉, 바는 주문을 열라는 신호를 주었습니다. 열렸고 짧은 시간이 걸렸습니다. 거래가 마감되었지만 고문은 첫 번째 주문을 마감하면 이 막대 내에서 열 수 있는 조건이 여전히 있기 때문에 두 번째 주문을 즉시 엽니다. 한 바에 하나의 거래만 있다면 그게 필요합니다. 그리고 다음 거래를 열기 위해 다른 바가 열리기를 기다립니다.
bool _이미 열림 = 거짓;
if (isNewBar()){ _이미 열림 = 거짓;}
if (! OrderSend (...) ) { /* 오류 처리 */; } else { _ybe 열림 = true; }
isNewBar() - 기사에서와 같이 표준, 정적 datetime 사용 date = Time[0];
if (_이미 열림) { 반환; // 주문을 보내지 않음 }
언급한 테스터의 오류에 관해서는 진드기를 테스트할 때 항상 그렇습니다. MT4에서 인용의 역사는 불완전하며 항상 불일치가 있습니다.
코드는 버그로 가득 차 있습니다. 변수 막대*가 초기화되지 않고 시작 함수가 반환하는 내용이 명확하지 않으며 거래 함수 실행에 대한 검사가 없습니다. 수정하십시오.
코드 시작 부분에 #property strict 를 추가합니다.
그리고 우리는 이미 주문 유형을 결정하기 위한 두 가지 함수를 만들었기 때문에 각 유형의 주문 카운터를 거기에 포함하고 비교하는 대신 if( OrdersTotal()<1...) if( OrdersBuy<1... ), 만약 ( OrdersSell<1 ...)? 더 정확할 것입니다.
bool _이미 열림 = false;
if (isNewBar()){ _이미 열림 = 거짓;}
if (!OrderSend(...) ) { /* 오류 처리 */; } else { _ybe 열림 = true; }
isNewBar() - 기사에서와 같이 표준, 정적 datetime 사용 date = Time[0];
if (_이미 열림) { 반환; // 주문을 보내지 않음 }
그것은 'isNewBar'를 씁니다 - 함수 가 정의되지 않았습니다 2015년
저는 사실 마스터가 아닙니다. 가능하면 복사해서 붙여넣기 해주시면 감사하겠습니다.
그것은 'isNewBar'를 씁니다 - 함수가 정의되지 않았습니다 2015년
저는 사실 마스터가 아닙니다. 가능하면 복사해서 붙여넣기 해주시면 감사하겠습니다.
그것은 'isNewBar'를 씁니다 - 함수가 정의되지 않았습니다 2015년
저는 사실 마스터가 아닙니다. 가능하면 복사해서 붙여넣기 해주시면 감사하겠습니다.
예, 코드 기반의 모든 Expert Advisor에서 찾을 수 있습니다!
예, 코드 기반의 모든 Expert Advisor에서 찾을 수 있습니다!
감사합니다)) 가장 강한 것은 간단합니다! 모든 것이 처음으로 작동했습니다!
모두에게 감사합니다!