[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 370

 
Bion >> :

조언해주신대로 했습니다

날짜 시간 마지막 시간;
날짜 시간 일시 중지 = 3600;

정수 시작()
{
if(TimeCurrent()<LastTime+Pause)return(0);

...

부울 cl() {if(주문 선택(0,SELECT_BY_POS)==true){ int t=주문 유형();
더블 l=OrderLots();
int tik=OrderTicket();Alert("tik=", tik);
}
if (t==OP_BUY) OrderClose(tik,l,Bid,3,Red);
if (t==OP_SELL) OrderClose(tik,l,Ask,3,Green);
LastTime=TimeCurrent();
}

마찬가지로 테스터에 반응하지 않고 조건에 따라 주문을 모두 연달아 열지만 동시에 시간에 반응하지 않습니다.

그리고 테스터에서는 대기 중인 주문 수명 매개변수가 응답하지 않습니다. 즉, 떠날 시간이 되었을 때 삭제되지 않습니다.

이렇게 되어야 합니까?

주문이 마감된 후 경과된 시간의 매개변수를 테스트에 고려하는 방법은 무엇입니까?


먼저 닫는 함수를 만들었기 때문에 함수에서 값을 반환하는 것이 좋을 것입니다. 함수가 Boolean 유형의 값을 반환하면 성공하면 값을 할당할 수 있습니다. 전역 변수는 물론, if 아래에서 변수를 선언하는 것도 어찌보면 놀랍지만 이것은 당신의 일입니다 .... 그건 그렇고))) 그리고 당신의 코드에서 주제에 대해 당신은 이 함수가 호출되는 것을 볼 수 있습니다 그리고 그것이 전혀 호출되는지 여부. 결과를 로그 파일에 입력하여 디버깅을 시도하면 즉시 이해할 수 있습니다.
 

여기에 완전한 코드가 있습니다. 모든 기능을 제거하고 변수를 그래야만 하는 대로 선언했지만 결과는 여전히 동일합니다. 테스트 모드에서는 잠시 동안 반응하지 않고 동일한 막대에 추가 주문을 조각합니다.

그는 무엇을 원하는가?


이중 q0=0;
이중 q1=0;
이중 q2=0;
이중 q3=0;
날짜 시간 마지막 시간;
datetimePause=3600;
정수형, tik;
더블 엘;

정수 시작()
{

날짜/시간 t=시();

if (t==8) {q0=0; q1=0; q2=0; q3=0;}

if (t>=9) {

정수 i0=0;
동안 (q0==0) { q0=iCustom(NULL,0,"MorningFlat_V3",0,15,8,45,161.8,청록색,빨간색,금색,은색,0,i0); i0++; }

정수 i1=0;
동안 (q1==0) { q1=iCustom(NULL,0,"MorningFlat_V3",0,15,8,45,161.8,청록색,빨간색,금색,은색,1,i1); i1++; }

정수 i2=0;
동안 (q2==0) { q2=iCustom(NULL,0,"모닝플랫_V3",0,15,8,45,161.8,청록색,빨간색,금색,은색,2,i2); i2++; }

정수 i3=0;
동안 (q3==0) { q3=iCustom(NULL,0,"MorningFlat_V3",0,15,8,45,161.8,청록색,빨간색,금색,은색,3,i3); i3++; }


주석("g0=",q0, "\n","g1=",q1, "\n", "g2=",q2, "\n", "g3=",q3 ); }

이중 os0=iOsMA(NULL,0,5,26,9,4,0);

이중 os1=iOsMA(NULL,0,5,26,9,4,1);

// 여기에서 시청


if(TimeCurrent()<(LastTime+Pause))return(0);

if ( OrdersTotal()==0 ) { if (Bid>q0 && t>=9 && t<=20 && os1>0) OrderSend(Symbol(),OP_BUY,0.1,Ask,3,(Bid-30*Point) ),0,"__",555,0,빨간색);

if (Ask<q1 && t>=9 && t<=20 && os1<0) OrderSend(Symbol(),OP_SELL,0.1,Bid,3,(Ask+30*Point),0,"__",444, 0, 녹색);}

if (OrdersTotal()==1) {OrderSelect(0,SELECT_BY_POS);
typ=주문 유형();
tik=OrderTicket();
l=OrderLots();
if (typ==OP_BUY && os1<0) { LastTime=TimeCurrent(); OrderClose(tik,l,Bid,3,Red);}
if (typ==OP_SELL && os1>0) { LastTime=TimeCurrent();OrderClose(tik,l,Ask,3,Green);}

}

반환(0);
}
//+----------------------------------------------- --------------------+

 

안녕하세요.

전문가를 위한 질문 -

상황은 다음과 같습니다. Expert Advisor가 데모 계정에서 정지하고, 지수가 통과하고, 가격이 변경되지만 Expert Advisor가 한동안 거래를 중지하고, 로그에 오류가 생성됩니다.


2009.12.30 16:46:06 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:06 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:07 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:07 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:08 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:09 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:09 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:10 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:10 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:11 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:11 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:12 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:13 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음

쌍 - USDCAD


오류 출력 시작 2009.12.30 16:46:06 y 에서 멈춤

2009.12.30 17:29:58 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 128. 트랜잭션 시간 초과 만료

동의하십시오. 43분이 중요합니다. 더 나쁜 것은 전문가의 작업 알고리즘을 망칩니다.

더 흥미로운 것은 OP_BUYSTOP :-0 주문을 보내려고 할 때 오류가 발생한다는 것입니다(보류 중인 견적은 무엇입니까?)


136 가격 없음 = 견적 끄기:


화면에서 지속적으로 변경되는 가격이 왜 없습니까?


이 문제는 존경받는 금 상인에 의해 https://www.mql5.com/en/forum/105903/page2 여기에서 제기되었지만 공식적으로 해결되지 않았습니다(이 문제가 앞에서 논의하고 싶지 않은 일종의 금기가 아니길 바랍니다. 모두의)


"왜 그런가", "이런 오류를 예방하거나 처리하는 방법"을 알고 싶습니다.


답변에 미리 감사드립니다.

 
AndBar >> :

안녕하세요.

전문가를 위한 질문 -

상황은 다음과 같습니다. Expert Advisor가 데모 계정에서 정지하고, 지수가 통과하고, 가격이 변경되지만 Expert Advisor가 한동안 거래를 중지하고, 로그에 오류가 생성됩니다.


2009.12.30 16:46:06 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:06 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:07 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:07 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:08 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:09 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:09 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:10 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:10 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:11 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:11 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:12 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음
2009.12.30 16:46:13 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 136. 가격 없음

쌍 - USDCAD


오류 출력 시작 2009.12.30 16:46:06 y 에서 멈춤

2009.12.30 17:29:58 --- Fynktsia put_BUYSTOP_tsina_vhdn_par: pomulka vunuknyla pru vukonanni koda OrderSend() -- 오류 코드 = 128. 트랜잭션 시간 초과 만료

동의하십시오. 43분이 중요합니다. 더 나쁜 것은 전문가의 작업 알고리즘을 망칩니다.

더 흥미로운 것은 OP_BUYSTOP :-0 주문을 보내려고 할 때 발생하는 오류입니다(보류 중인 견적은 무엇입니까?)


136 가격 없음 = 견적 할인:


화면에서 지속적으로 변경되는 가격이 왜 없습니까?


이 문제는 존경받는 금 상인에 의해 https://www.mql5.com/en/forum/105903/page2 여기에서 제기되었지만 공식적으로 해결되지 않았습니다(이 문제가 앞에서 논의하고 싶지 않은 일종의 금기가 아니길 바랍니다. 모두의)


"왜 그런가", "이런 오류를 예방하거나 처리하는 방법"을 알고 싶습니다.

그리고 어떤 플랫폼 개정판?

여기에서는 다른 데이터 스트림에 대해 두 번 이상 논의되었습니다. 스트림은 자동 거래를 위해 폐쇄되었습니다. 보기에.

 
AndBar писал(а) >>

136 가격 없음 = 견적 할인:

이것은 종종 보도 자료가 발표되기 전에 발생합니다. 미리 주문을 하고 가능한 한 가격이 나온 후 뽑는 것 외에는 아무 것도 할 수 없습니다. 43분은 너무 깁니다.

 
Bion писал(а) >>

여기에 완전한 코드가 있습니다. 모든 기능을 제거하고 변수를 그래야만 하는 대로 선언했지만 결과는 여전히 동일합니다. 테스트 모드에서는 잠시 동안 반응하지 않고 동일한 막대에 추가 주문을 조각합니다.

질문은 종료 후 일시 중지에 대한 것입니다. 종료 후 일시 중지됩니다.

-

하나의 바에 여러 개의 구멍이 있습니다. 개봉 후에는 바의 시간을 기억해야 하며, 개봉하기 전에 바의 시간이 마지막 개봉 시간과 같지 않은지 확인해야 합니다. 이 때를 기억하기 위해 GlobalVariable을 사용하는 것이 좋습니다.

-

모든 동안(q0==0 && i<Bars )에 while 검사를 추가하는 것은 문제가 되지 않습니다.

-

LastTime=TimeCurrent(); - 주문이 실제로 마감되었는지 확인한 후 하는 것이 좋습니다. if(OrderClose(...))LastTime=TimeCurrent();

 
Integer писал(а) >>

질문은 종료 후 일시 중지에 대한 것입니다. 종료 후 일시 중지됩니다.

-

하나의 바에 여러 개의 구멍이 있습니다. 개봉 후에는 바의 시간을 기억해야 하며, 개봉하기 전에 바의 시간이 마지막 개봉 시간과 같지 않은지 확인해야 합니다. 이 때를 기억하기 위해 GlobalVariable을 사용하는 것이 좋습니다.

-

모든 동안(q0==0 && i<Bars )에 while 검사를 추가하는 것은 문제가 되지 않습니다.

-

LastTime=TimeCurrent(); - 주문이 실제로 마감되었는지 확인한 후 하는 것이 좋습니다. if(OrderClose(...))LastTime=TimeCurrent();

교과서에서 - GV-변수는 두 배 유형만 가질 수 있습니다. 초 수를 입력하는 방법

주문 마감을 확인했지만 여전히 작동하지 않고 오류가 발생합니다.


if(시간[0]<(LastTime+Pause))return(0);

if ( OrdersTotal()==0) { if (Bid>q0 && t>=9 && t<=20 && os1>0) OrderSend(Symbol(),OP_BUY,0.1,Ask,3,(Bid-30*Point) ),0,"__",555,0,빨간색 );

if (Ask<q1 && t>=9 && t<=20 && os1<0) OrderSend(Symbol(),OP_SELL,0.1,Bid,3,(Ask+30*Point),0,"__",444, 0,녹색);}

if (OrdersTotal()==1) {OrderSelect(0,SELECT_BY_POS);
typ=주문 유형();
tik=OrderTicket();
l=OrderLots();
if (typ==OP_BUY && os1<0) if (OrderClose(tik,l,Bid,3,Red)) LastTime=Time[0];
if (typ==OP_SELL && os1>0) if (OrderClose(tik,l,Ask,3,Green)) LastTime=Time[0];
}

이전 주문 후 1시간 동안 다음 주문 열기를 연기하는 작업이 성공적으로 구현된 예를 제시하거나 링크를 제공할 수 있습니까?

 
Bion писал(а) >>

교과서에서 - GV-변수는 두 배 유형만 가질 수 있습니다. 초 수를 입력하는 방법

AAA 그럼 모두 잊고 즐거운 새해 맞이하세요!

모두 함께 오세요!

 
하나의 표시기로 작업했는데 모든 것이 정상이었고 시간대를 전환할 때 터미널이 멈추기 시작하고 Windows를 다시 설치했지만 여전히 멈춥니다. 왜(((((((((((((
 
Fosfalugel писал(а) >>
하나의 표시기로 작업했는데 모든 것이 정상이었고 시간대를 전환할 때 터미널이 멈추기 시작하고 Windows를 다시 설치했지만 여전히 멈춥니다. 왜(((((((((((((

표시기는 아마도 제거되어야 합니다. 또는 산타 클로스에게 물어보십시오. 새해가 오늘입니다.