MQL4 프로그래밍에 대한 온라인 책의 베타 버전 - Sergey Kovalev(SK.) - 페이지 9

 
Climber :
Taki는 SK '대형 프로그램의 주문 회계' 에서 복잡한 주문 회계에 대한 멋진 기사를 찾았습니다.
솔직히 이번 이벤트는 다 생각했는데 미끼 아닌가요???
이것은 미끼가 아니지만 열린 눈으로 세상을 바라볼 필요가 있습니다. 더 명확하게 하려면 페이지에서 시작되는 Korey 의 게시물을 읽으십시오. 그리고 다른 기사 My first "grail" 을 참조하십시오.
 
나는 전에 성배 에 대해 읽었습니다 :)
그러나 성배에 대한 기사에서 설명한 캐릭터와 달리 나는 그와 같이 생각하지 않습니다. "나만!". 지금은 뭔가 잘못되었거나 운이 좋았다고 생각합니다. 챔피언십 결과를 보면 3개월 만에 훨씬 더 나은 결과를 볼 수 있다. 기본적으로 불가능한 것은 없다. 그럼에도 불구하고 누가 그 생각이 실생활에서 그렇게 "빠르게" 발전하도록 내버려 두겠습니까?
 
Climber :
그럼에도 불구하고 누가 그 생각이 실생활에서 그렇게 "빠르게" 발전하도록 내버려 두겠습니까?

이것은 간단한 질문입니다. 그리고 그에 대한 대답은 명백합니다. 정직하게 일하는 사람입니다(중개인은 여기에서 논의되지 않습니다).

더 어려운 질문은 EA가 실제로 안정적이고 높은 결과를 제공하는지 여부입니다. 아니면 역사나 사고에 부합하는가?

 
SK. писал (а):
더 어려운 질문은 어드바이저가 정말 안정적인 서비스를 제공하는지,
고득점? 아니면 역사나 사고에 부합하는가?
그래서 아직 고문이 없고, 만약 그가 있었다면 많은 것이 밝혀졌을 것이라고 생각합니다. 나는 또한 임의성에 기대고 있다. 이것은 지금 데모에서 수동으로 나입니다.

이전에는 훨씬 더 겸손한 결과를 얻었습니다. 그리고 일반적으로 당신의 책(거의 한 달)과 전체 언어를 통틀어 공부하는 동안 나는 Forex를 알고 2년 동안 몰랐고 의심하지 않았던 거래에 대해 많은 것을 배웠습니다. . 지금도 그렇게 많이 모른채라도 어떻게 하면 조금이라도 벌 수 있을까 생각하고 있어요)) 그냥 데모로 처음 거래를 했을 때 벌 수 있다는 강한 인상을 받았지만 300달러 이하 달마다. 원칙적으로 당신이 누구에게도 빚진 것이 없다는 점을 감안할 때, 당신은 당신이 원할 때 당신이 원하는 방식으로 일한다는 점을 감안할 때, 특히 모든 종류의 상사에 대한 나의 알레르기를 고려할 때 나쁘지 않습니다. :)

나는 책을 처음 읽은 후 일주일 만에 첫 번째 조언자를 썼다. 하지만 저는 쓰지 않고 복사해서 거래 기준이 포함된 블록만 대체하고 나머지는 MA를 사용하는 어드바이저의 예에서 가져왔습니다. 그러나 내가 그것을 썼을 때 나는 단지 그렇게 하면 어떻게 되는지 알기를 희망했습니다. 저것들. 길고 지루한 시간 동안 수동으로 확인하지 않도록 테스터의 기능을 사용하십시오. 눈에 보이지도 않는 성배 에 대한 기사에서와 같은 생각. 이와 관련하여 나는 더 땅에 떨어졌습니다. :) 글쎄, 나는 예금의 완전한 배수를보고 결과에 만족했습니다 (나는 하나의 옵션이 적다는 것에 만족합니다). 그 아이디어는 불명예를 주기 쉬우므로 확인하지 않는 것이 죄였습니다. 그러나 마지막 전략은 MQL4 도구를 사용하여 설명한다는 측면에서 (저에게) 더 복잡하므로 지금은 기꺼이 펜으로 작업해야 합니다. 그러나 수동 모드의 결과는 Expert Advisor의 추가 작성이 필요합니다. 그래서 천천히 해보지만 글을 씁니다.
 
Climber :
..내가 훨씬 더 겸손한 결과를 얻기 직전. 그리고 일반적으로 당신의 책(거의 한 달)과 전체 언어를 통틀어 공부하는 동안 나는 Forex를 알고 2년 동안 몰랐고 의심하지 않았던 거래에 대해 많은 것을 배웠습니다. . 지금도 나는 예전에 어떻게 그렇게 많은 일을 할 수 있었는지 생각합니다. 적어도 뭔가를 벌 수 있습니다.))).
..하지만 마지막 전략은 MQL4 도구를 사용하여 설명한다는 측면에서 (저에게는) 더 복잡하므로 지금은 기꺼이 펜으로 작업해야 합니다. 그러나 수동 모드의 결과는 Expert Advisor의 추가 작성이 필요합니다. 그래서 천천히 노력하고 있지만 글을 씁니다.
제 생각에 지속 가능한 수익성 전략을 수립하는 데 드는 인건비는 언어를 배우는 데 드는 인건비보다 약 100배(100배) 더 높습니다. 본질적으로 프로그래밍은 기술적 수단일 뿐이며 대체로 예측 가능하므로 전략 작성자의 의지에 따라야 합니다. 그러나 공정하게 말하면, 트레이더는 프로그래밍의 세부 사항을 탐구함으로써 전체 시장 거래 전략 현상을 보다 명확하게 보기 시작한다고 말해야 합니다. 그리고 경험이 쌓이면 잘못된 생각은 제거되고 유망한 방향이 결정됩니다. 이런 의미에서 프로그래밍의 관행은 과대평가하기 어렵습니다. 따라서 개발자는 자동 거래에 베팅하기로 결정했을 때 백번 옳았습니다.
 

SK로

변수, .

다음을 작성했습니다.

" 모든 배열은 기본적으로 정적입니다. 즉 초기화 중에 명시적으로 지정되지 않은 경우에도 정적처럼 보입니다. "

하지만

표시기를 가정해 보겠습니다. 배열이 호출하는 서브루틴에 등록되어 있습니다.

하나)

이중합[]; //표준 함수 호출 ........................................................................... . . .

i= ArrayMinimum (합계, 반복, 0); // 두 번째 호출 시 오류: <ArrayMinimum 함수에 대해 잘못된 시작 위치 0>

2) 오류 옵션

정적 이중 합계[];

//...........................................................................

i=ArrayMinimum(합계, 반복, 0); // 두 번째 호출 시 동일한 오류: <ArrayMinimum 함수에 대해 잘못된 시작 위치 0>

3) 오류 없는 옵션

이중 합계[1000];

...........................................................

i=ArrayMinimum(합계, 반복, 0); // 정상 실행

4) 오류 없는 옵션

정적 이중 합계[1000];

...........................................................

i=ArrayMinimum(합계, 반복, 0); // 정상 실행



배열이 동적으로 할당된다는 것은 예제 1과 2에서 나온 것입니다.

예제 2에서 차원이 없는 배열은 정적으로 초기화되지 않지만(명백한) 컴파일 오류에는 나타나지 않습니다(((

예제 3 4에서 정적 할당은 사전 정의된 배열에만 내재되어 있습니다.

흥미롭게도 런타임 시스템은 오류를 포착하고 잘 설계된 실시간 터미널 시스템을 나타내는 예제 1과 2에서 결정합니다. 저것들. 배열은 객체처럼 작동합니다. 개발자들에게 경의를 표합니다.

그러나 단순한 변수로 모든 것이 그렇게 순조로운 것은 아닙니다.

double instik(int &t) // 이 함수는 호출 프로그램의 변수를 변경합니다.

{

t++;

}

이 호출은 다음과 같은 경우 모든 틱에 계산됩니다.

//............................................................

정적 int 틱;


인스틱(틱);

인쇄("틱=",틱);

// ...........................................

그리고 이것은 메모리 할당이 동적이고 두 번째 호출의 연결된 주소가 일치하지 않기 때문에 계산되지 않습니다.

.......................

정수 틱;


인스틱(틱);

인쇄("틱=",틱);

// 서브루틴 instik은 알 수 없는 바이트를 증가시키지만 터미널은 충돌하지 않습니다!!!! 다시 한 번 개발자들에게 경의를 표합니다.

 
SK. писал (а):

그러나 정의
그것을 위해 프로그래밍의 세부 사항을 탐구하는 것도 말해야합니다.
거래자는 전체 현상 시장 거래 전략을 살펴보기 시작합니다.
더 선명한 모습. 그리고 경험치를 얻으면 제거됩니다.
잘못된 생각의 방향과 유망한 방향이 결정됩니다.
100% 동의합니다. 저도 처음에는 깜짝 놀랐고, 프로그래밍을 배우려고 하는 것 같았는데, 이전에 알고 있던 것보다 트레이딩에 대해 더 많이 배웠습니다. 그래서 계속 경험을 쌓아가겠습니다 :)
 
Korey :

SK로

변수, 정적 변수.

...


틱마다 특수 기능이 새로 시작된다는 사실을 놓치고 있는 것 같습니다. 이 경우 정적 변수는 값을 유지하며 초기화되지 않는 반면 비정적 변수는 코드에 따라 초기화됩니다. 코드에서 정수 변수 tik은 기본적으로 0으로 초기화됩니다.

 //----------------------------------------------------------------------------------
int start ()
   {
   int tik ;                // Инициализация нолём на каждом тике
   instik ( tik ) ;            // Вызов функции, передача параметра по ссылке
   Alert ( " tick= " , tik ) ;   // Всё время выводит 1, как и ожидается
   return ;
   }
//----------------------------------------------------------------------------------
double instik ( int & t )      // Функция изменяет переменную в вызывающей программе
   {                       // При каждом обращении заходит 0
   t ++;                    // Увеличение значения на 1, как и заказано, т.е.
   }                       // ..при каждом исполнении уходит 1
//----------------------------------------------------------------------------------

instik() 함수에서는 모든 것이 의도한 대로 발생합니다. start() 시 Alert() 시 tik 변수의 값은 1이며, 이것이 Alert()가 출력하는 것입니다.

그러나 이것이 진실의 전부는 아닙니다. tik 변수는 정적으로 선언되지 않았기 때문에 그 값은 저장되지 않습니다. 저것들. 실행 사양에 대한 다음 호출에서. start() 함수에서 tik 변수는 다시 0으로 초기화됩니다. 그리고 모든 것이 다시 시작됩니다. 따라서 Alert는 하나씩 안전하게 출력합니다.

 
세르게이 코발레프 축하합니다!

MQL4 언어 튜토리얼의 출시는 2월 1일로 예정되어 있으며 이미 MQL4.community 웹사이트에 통합되었습니다. 영어 번역이 한창입니다.
 
세르게이!
어드바이저에서 주문 마감 가능성을 구현하는 방법 - 카운터? 튜토리얼에서 못찾았는데...