포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 646

 
valeryk :


아니요, 방금 확인했습니다. 실제로 인터넷이 꺼지면 타이머도 꺼집니다.
여기!) 그리고 나는 결함이 있다고 생각했습니다.)) 이 문제를 어떻게 해결할 수 있습니까?
 
지식이 더 많은 사람들이 아직 실제로 파악하지 못한 혁신을 사용하지 않는 것이 좋습니다! :)
 
Megan :
여기!) 그리고 나는 결함이 있다고 생각했습니다.)) 이 문제를 어떻게 해결할 수 있습니까?



개발자가 타이머의 이러한 동작을 "바보 보호"로 생각하지 않았다면 버그는 분명합니다. 결국 타이머는 인터넷에서 시작되며 그 순간부터 자동으로 작동해야 합니다. 서비스 데스크에 요청을 제출해야 합니다.
 
사회자가 이것을 읽었습니다. barabashkakvn - 문제가 있는지 확인하고 서비스 데스크에 편지를 써야 합니까?
 
Megan :
이벤트 세트 타이머(1); 소송 비용. 그리고 연결이 되면 이상하게도 모든 것이 작동합니다 .OnInit()에는 언로드가 없습니다. 이유를 모르겠어...

MetaTrader 4 빌드 660. 실제로 터미널이 실행 되는 순간 연결이 없으면 OnInit()이 발생하지 않습니다.

절반 측정값으로 처리하려면 전문가를 다시 연결하거나 기간을 두 번 전환합니다.


 
barabashkakvn :

MetaTrader 4 빌드 660. 실제로 터미널이 실행되는 순간 연결이 없으면 OnInit()이 발생하지 않습니다.

절반 측정값으로 처리하려면 전문가를 다시 연결하거나 기간을 두 번 전환합니다.


이 문제와 함께) 내 고문은 자율 작업을 위해 설계되었습니다(
 
Megan :
이 문제와 함께) 내 고문은 자율 작업을 위해 설계되었습니다(


서비스 데스크에 요청서를 작성해야 합니다.
 

안녕하세요. 친구는 초보자를 돕습니다. .xls 파일에서 미리 편집된 따옴표를 터미널에 로드하는 방법을 알 수 없습니다. 하루종일 고생합니다.

고맙습니다!

 

다시 안녕. 내가 직접 물었고, 내가 직접 대답했다. 이름을 수정할 때 원래 이름이 아닌 다른 이름을 선택했습니다. - RTSI1440.csv로 수정되어 업로드되었습니다.

고맙습니다.

 
Top2n :

안녕하세요!

목표는 거래를 평균화하는 알고리즘을 작성하는 것입니다.

나는 배열에 열린 위치의 가격 값을 채워 구현하기로 결정했습니다. 결과적으로 순열 없이 배열을 채웁니다. 어디선가 놓친...

시작하기 전에 배열을 0으로 만들기:

   if ( ArrayResize (array, 0 ) != 0 ) {
     return false ;
  }

그런데 OrderSelect()가 루프의 적어도 한 번 반복에서 오류를 반환하면 더 이상 결과를 신뢰할 수 없습니다. 즉, 일부 주문이 빠진 경우 나머지 주문으로 계속 작업하려고 해서는 안 됩니다. 대신 오류를 즉시 반환하는 것이 더 합리적입니다. 예를 들어, 상위 레벨 코드는 다음과 같은 오류에 반응할 수 있습니다. 이 틱에서 두 번 다시 시도하거나 이 틱에서 작업을 포기하고 연기하고 다음 틱에서 다시 시도합니다.

Usred()와 Zapis()를 결합하고 "if (OrderSymbol() == Symbol() && OrderType() == type)"과 같은 필터 조건을 결합하는 것이 더 논리적입니다. 어쨌든 Zapis()에서 반복되는 OrderSelect()는 필요하지 않습니다.

개별 주문에 대한 평균 포지션 가격 을 계산하기 위해 모든 것을 배열에 저장할 필요는 없습니다. 이동 중에 계산할 수 있습니다.

S1 = order1_lots * order1_openprice + order2_lots * order2_openprice + ... orderN_lots * orderN_openprice.

S2 = order1_lots + order2_lots + ... + orderN_lots.

원하는 포지션 가격 = S1 / S2.

S1과 S2에 대해 두 개의 변수를 생성하는 경우 0으로 설정하고 루프에 있는 각 변수의 해당 값을 추가할 때마다 루프 후에 S1을 S2로 나누는 것만 남아 있습니다. 0이 아닙니다(이 경우 오류, 즉 결과가 계산되지 않고 존재하지 않음). 아마도 결과 값은 여전히 정규화되어야 할 필요가 있습니다. NormalizeDouble() - 이것은 이미 알고리즘에 따라, 정규화에 필요한지 여부와 프로그램에 대해 채택된 규칙에 따라 호출되거나 호출되는 함수가 정규화됩니다.

그러면 어레이가 필요하지 않습니다.

일반 포지션의 가격 외에 다른 계산이 필요한 경우 변수 자체를 참조로 전달하여 호출된 함수에 S1 및 S2의 값을 "반환"하고 함수에서 오류 표시기를 반환할 수 있습니다. 즉, 호출된 함수의 프로토타입은 "bool fun(double &S1, double &S2);"과 같을 수 있습니다. 호출 함수는 변수를 생성하여 fun() 에 전달하고 fun()이 true를 반환하면 전달된 변수(자체적으로 다른 이름을 가질 수 있음)의 값을 S1 및 S2로 사용합니다.