[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 72

 

http://www.soft-sib.ru/articles/programs/10/

파일-서버 접근 방식과 비교하여 DBMS 및 클라이언트-서버 아키텍처를 사용할 때의 또 다른 이점은 데이터 조작을 위해 트랜잭션 메커니즘을 사용할 수 있다는 것입니다. 데이터 서버에서 제공하는 이 서비스를 사용하면 여러 작업을 결합하여 데이터를 하나의 분할할 수 없는 작업(트랜잭션)으로 변경할 수 있습니다 . 트랜잭션을 사용하면 IS의 클라이언트 및 서버 부분 모두에서 하드웨어 및 소프트웨어 오류로부터 정보를 안정적으로 보호할 수 있습니다.

 
흠, 내가 보이지 않거나 아무도 도와주고 싶지 않거나 할 수 없는((
 
PerlOF :


가이드 및 자습서는 서버에 대한 필수 연결의 필요성을 나타냅니다(Expert Advisor, 스크립트, 표시기의 작동을 위해).

(원칙적으로) 서버에 연결하지 않고도 특수 기능을 호출할 수 있나요?


상당히. 서버 자체는 start() 함수를 시작하는 틱을 수신하는 데 필요합니다.

start() 는 주요 기능입니다. 다음 틱이 도착한 후 Expert Advisors를 위해 호출됩니다. 지표가 차트에 연결된 후 재계산할 때, 클라이언트 터미널을 열 때(지표가 차트에 연결된 경우), 다음 틱이 도착한 후에도 사용자 지정 지표에 대해 호출됩니다. 스크립트의 경우 차트에 첨부하고 초기화를 수행한 직후에 실행됩니다. 모듈에 start() 함수가 포함되어 있지 않으면 이 모듈(EA, 스크립트 또는 사용자 지정 표시기)을 시작할 수 없습니다.

스크립트는 무한 루프에서 작동할 수 있으므로 눈금이 필요하지 않으며 표시기 및 Expert Advisors에 눈금이 필요합니다(표준 구성에서 Expert Advisor도 무한 루프에서 작동할 수 있기 때문에).

그러나 틱은 VINAPI의 도움으로 인위적으로 발생할 수도 있습니다. 또한 전략 테스터 (틱을 생성할 수도 있음)와 같은 표준 기능이 있습니다.

두뇌를 켜고 사이트(포럼)에서 검색하기만 하면 됩니다.

파일 서버 기술의 장점이나 단점을 여기로 끌어들이는 대신.

 
MXDEEM :

안녕하세요 주문이 있는지 확인하는 코드가 있는데 오픈 주문이 있으면 다시 확인을 하고 주문이 0이 될때까지 계속 반복하지만 전문가는 분명히 이 코드를 무시하고 무한한 주문을 열어서 알려줍니다 나 무슨 잘못이야?

int 함수BUYnext()
{
int b=OrdersTotal();
만약 (b>0)
{FunctionBUYnext();}
else {FunctionSELL();}
}



MQL4 커뮤니티 포럼 네비게이터
규칙 검색 게시 방법 포럼 관리위반 신고 텔레파시 클럽
묻지 말아야 할 질문
올바른 질문을 하는 방법
유용한 문헌 유용한 소프트웨어 지표 찾기(전문가, 스크립트)
 

iCustom 기능을 사용하여 Trading Advisor에서 선을 그릴 필요가 있었습니다.
테스트로 ZigZag를 사용했습니다.

 for ( int cnt= 0 ; cnt< 10000 ; cnt++) {
   double zigzag1= iCustom ( NULL , 0 , "ZigZag" , 15 , 0 , 3 ,   0 ,cnt+ 1 );
   if ( zigzag1!= 0 ) 
       break ;
}


제 경우 iCustom의 목적은 단지 선을 그리는 것이기 때문에
( 지표 데이터는 Expert Advisor에서 사용되지 않음 ), 나는 코드를 deinit()에 넣기로 결정했습니다. 그러나 그곳에서 그는 일하지 않고 아무것도 그리지 않습니다.
start()에서는 모든 것이 정상입니다.
1. 왜 deinit()에서 작동하지 않습니까?
2. 테스트 및 최적화 과정에서 위 코드의 무의미한 작업을 피하기 위해 필요합니다.
(CPU 낭비가 아님) 테스트된 기록의 마지막 막대에서만 실행합니다.
- 이를 달성하는 방법은 무엇입니까?
고맙습니다!
 
Roll :

코드가 터무니없다.

왜?? 가르친 대로의 모든 것
 
MXDEEM :

왜?? 가르친 대로의 모든 것

오 이상하게 당신은 배웠습니다 ...

제공한 "코드"의 본문에서 호출된 함수는 어디에 있습니까?

"코드" 자체도 꽤 재미있습니다...

 int FunctionBUYnext()
{
int b= OrdersTotal ();
if (b> 0 )
{FunctionBUYnext();}
else {FunctionSELL();}
} 

자신에 대한 호출을 사용하는 중... 주문이 없을 때 FunctionBUYnext()를 종료하지 않는 이유는 무엇입니까?

더 나아가 - 주문 유형에 대한 확인, 기호 및 마법에 대한 확인이 없습니다...

나는 당신의 "선생님"을 선반으로 보낼 것입니다 ...

 

문제에 직면...

이 형식에서 스크립트는 MessageBox() 함수와 함께 작동합니다.

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

#include <WinUser32.mqh>
#import "user32.dll"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   int result = MessageBox ( "Are you ok?" , "Caption" , MB_YESNO | MB_ICONQUESTION );
   if (result != IDYES ) Alert ( "Кнопка да не нажата" );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

그러나 문서화되지 않은 함수 MessageBoxTimeoutA() 를 사용하면 전혀 작동하지 않습니다.

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

#include <WinUser32.mqh>
#import "user32.dll"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   int result = MessageBoxTimeoutA( 0 , "Are you ok?" , "Caption" , MB_YESNO | MB_ICONQUESTION , 0 , 10000 );
   if (result != IDYES ) Alert ( "Кнопка да не нажата" );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

예/아니오 버튼이 있는 메시지 상자도 표시되지 않습니다.

누가 직면했는지 - 개가 묻힌 곳을 알려주시겠습니까?

 
artmedia70 :

오 이상하게 당신이 배웠습니다 ...

제공한 "코드"의 본문에서 호출된 함수는 어디에 있습니까?

"코드" 자체도 꽤 재미있습니다...

자신에 대한 호출을 사용하는 중... 주문이 없을 때 FunctionBUYnext()를 종료하지 않는 이유는 무엇입니까?

더 나아가 - 주문 유형에 대한 확인, 기호 및 마법에 대한 확인이 없습니다...

나는 당신의 "선생님"을 선반으로 보낼 것입니다 ...

의미를 설명합니다. 이 부분에서 확인이 필요하기 때문입니다. 종료하면 시작 성능으로 다시 돌아가고, 저는 이것이 필요하지 않습니다. 기호와 마법은 고려되지 않습니다. 선생님 인터넷)) , 기본 아이디어 - 주문이 있는 경우 더 이상 기다리지 마십시오. 그렇지 않은 경우 특정 기능 으로 건너뛰십시오.

 
MXDEEM :

의미를 설명합니다. 이 부분에서 확인이 필요하기 때문입니다. 종료하면 시작 성능으로 다시 돌아가고, 저는 이것이 필요하지 않습니다. 기호와 마법은 고려되지 않습니다. 선생님 인터넷)) , 기본 아이디어 - 주문이 있는 경우 더 이상 방치하지 마십시오. 주문이 없으면 특정 기능으로 건너뜁니다.

아, 그렇게 외치지 마세요... CapsLock이 멈춘 것 같습니다... 글꼴 크기 를 두 배로 늘려야 하지만 굵게...

너무...후퇴...

이제 나도 설명하겠습니다.

의미를 설명합니다. 재귀 호출을 하면 Expert Advisor가 이 특정 부분에서 반복되도록 할 수 있습니다. 주문이나 시장 위치가 있는 경우 모든 주문을 수동으로 삭제하고 해당 위치를 닫을 때까지 고문은 중단하고 아무 것도 하지 않아야 합니다(간단히 중단)? 그렇다면 고문이 당신의 개입없이 단단히 매달린다면 그러한 자동 거래의 요점은 무엇입니까?

EA 논리에 대한 접근 방식을 재고하십시오