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

 
Dimka-novitsek :

ivandurak:a의 게시물을 읽은 후 각 틱 후에 시작만 작동하므로 변수가 전역적으로 열리면 값을 저장하는 것 같다는 것을 즉시 깨달았습니다.

그래서 어딘가에

그래서 컴파일러는 int KolBars=Bars 문자열을 절대적으로 받아들이지 않습니다.

기이!!!!! 일반 변수 선언입니다.

나는 주된 질문을 할 것입니다 - 진드기가 작동하지 않으면 주말에 고문을 디버깅하는 방법????


 //| Бред.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars= Bars ;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
KolBars= Bars ;

return ( 0 );
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return ( 0 );
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{ int r;
r= Bars - KolBars
//----
for ( r> 0 )
int k;

KolBars= Bars ;

//----
return ( 0 );
}
//+------------------------------------------------------------------+ 
테스터가 왜 필요한가요?
 

유전자 알고리즘의 계정에서 !!!

제 경우에는 신경망에 대한 가중치 선택이 사용됩니다. GEN ALGORITHM 없이 최적화를 실행하면 시간이 너무 많이 걸립니다.

코드에는 의사 임의성이 없습니다.

결국, 유전자 알고리즘은 이론적으로 많은 옵션을 분류하지만 특정 프로그램(동일한 간격 및 동일한 조건에서)에 따라 작동합니다. 왜 다른 결과가 얻어지는지 명확하지 않습니다.

그건 그렇고, 아무도 GEN ALGORITHM의 작업을 확인하려고 궁금해하지 않았습니다. 즉, 최적화를 두 번 실행하고 결과를 비교하십시오... 시도하십시오.

 
Stepan241 :

유전자 알고리즘의 계정에서!!!

제 경우에는 신경망에 대한 가중치 선택이 사용됩니다. GEN ALGORITHM 없이 최적화를 실행하면 시간이 너무 많이 걸립니다.

코드에는 의사 임의성이 없습니다.

결국, 유전자 알고리즘은 이론적으로 많은 옵션을 분류하지만 특정 프로그램(동일한 간격 및 동일한 조건에서)에 따라 작동합니다. 왜 다른 결과가 얻어지는지 명확하지 않습니다.

그건 그렇고, 아무도 GEN ALGORITHM의 작업을 확인하려고 궁금해하지 않았습니다. 즉, 최적화를 두 번 실행하고 결과를 비교하십시오... 시도하십시오.


도와주세요.

https://www.mql5.com/ru/articles/1409 https://www.mql5.com/ru/articles/1408 https://www.mql5.com/ru/articles/1511

 

친애하는 전문가 여러분! 잔고에 따라 로트와 주문수 를 변경하는 기능을 알려주세요.

 
Stepan241 :

유전자 알고리즘의 계정에서!!!

그건 그렇고, 아무도 GEN ALGORITHM의 작업을 확인하려고 하지 않았습니다. 즉, 최적화를 두 번 실행하고 결과를 비교하십시오... 시도하십시오.

당신은 오랫동안 mql과 함께 일해왔습니다. 알 의사 난수를 사용하여 초기 설정 패키지를 선택한 다음, 주어진 정의에 따라 어디에서 무엇을 찾아야 하는지를 고려하기 시작합니다.

https://www.mql5.com/ru/articles/1408

유전자 알고리즘의 기능 계획

1. 초기 시간 t=0을 시작합니다. k 개인으로 구성된 초기 모집단을 무작위로 생성합니다 . B0 = {A1,A2,...,Ak)

2. ...

 
fanat :

친애하는 전문가 여러분! 잔고에 따라 로트와 주문수를 변경하는 기능을 알려주세요.


https://www.mql5.com/ru/code/8192

작성자는 동적 로트와 최대 미결 주문 수를 사용합니다.

MaxOrders_Desc = "0인 경우 동시에 열려 있는 위치의 수는 1-3으로 제한되지 않습니다.";
최대 주문 = 1;

lot_Desc = "0개의 동적 로트가 적용된 경우";

로트 = 1;

 

하나의 while 루프에서 입력 조건을 확인한 후 다른 통화 쌍의 주문을 열 수 있는지 알려주십시오. 지속적으로 오류 4051이 발생합니다.

동안(사실)

{
if (Total==0 && Opn_B==true && Total1==0 && Opn_S1==true) // 주문을 엽니다. 첫 번째 쌍에는 아니요 두 번째+에는 여는 기준이 있습니다.
{

새로 고침(); // 데이터 업데이트
이중 입찰 = MarketInfo(Symb2,MODE_BID);
Alert("매수 및 매도를 열려고 합니다. 응답을 기다리는 중입니다..");
티켓=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0);//오픈 구매
Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0);
if (티켓 > 0 && 티켓1 > 0) // 알았습니다 :)
{
Alert("구매 및 판매 주문이 열렸습니다.",Ticket,Ticket1);
반품; // start()에서 종료
}
if (Fun_Error( GetLastError() )==1) // 오류 처리
계속하다; // 재시도
반품; // start()에서 종료
}

 
Dimka-novitsek :

따라서 컴파일러는 int KolBars=Bars 문자열을 절대적으로 허용하지 않습니다. 'Bars' - 초기화 예상 C:\Program Files (x86)\Alpari ÌÒ4\experts\Áðåä åùå.mq4 (8, 13)

나는 주된 질문을 할 것입니다 - 진드기가 작동하지 않으면 주말에 고문을 디버깅하는 방법????

하나.
 //| Бред.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars; //= барс нельзя переменную присвоить вне функций




//| expert initialization function 
|

int init()
{
KolBars= Bars ; // один раз при инициализ.

return ( 0 );
}
...
2. 전략 테스트에서;).
 

안녕하세요!! 르쥬네마고!!!!!! 'for' - 너무 복잡한 표현 C:\Program Files (x86)\Alpari МТ4\experts\bredred.mq4 (34, 1)

''for'' - 표현식이 너무 복잡함 C:\Program Files (x86) \Alpari ??4\experts\???????.mq4 (34, 1)

테스트 모드 에서 주말에 Expert Advisor를 플랫폼에서 틱을 수신할 때와 같은 방식으로 주석, 경고, 기능에서 응답을 수신하는 방식으로 Expert Advisor를 디버그할 수 있습니까?

 
xxxslavaxxx :

하나의 while 루프에서 입력 조건을 확인한 후 다른 통화 쌍의 주문을 열 수 있는지 알려주십시오. 지속적으로 오류 4051이 발생합니다.

동안(사실)

{
if (Total==0 && Opn_B==true && Total1==0 && Opn_S1==true) // 주문을 엽니다. 첫 번째 쌍에는 아니요 두 번째+에는 여는 기준이 있습니다.
{

새로 고침(); // 데이터 업데이트
이중 입찰 = MarketInfo(Symb2,MODE_BID);
Alert("매수 및 매도를 열려고 합니다. 응답을 기다리는 중입니다..");
티켓=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0);//오픈 구매
if(GetLastError()==4051)Alert("Symb1 "+Symb1+" Lts "+Lts+" Ask "+Ask);
//if(티켓>0)Sleep(50);else 계속;

Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0);
if(GetLastError()==4051)Alert("Symb2 "+Symb2+" Lts "+Lts+" bid "+bid);


if (티켓 > 0 && 티켓1 > 0) // 알았습니다 :)
{
Alert("구매 및 판매 주문이 열렸습니다.",Ticket,Ticket1);
반품; // start()에서 종료
}
if (Fun_Error(GetLastError())==1) // 오류 처리
계속하다; // 재시도
반품; // start()에서 종료
}

사유: