안녕하세요. 질문은 다음과 같습니다.MQL4에 있는 MQL 4 책 에서. 커뮤니티"SimpleMQL Programs " 장, "Simple Expert Advisor" 섹션에tradingexpert.mq4 Expert Advisor의 예가 있습니다.다음 내용(첨부파일 참조). 블록 1-2에서 외부 변수 extern doubleStopLoss 가 선언되었습니다.=200 및 외부더블이익을 취하다=39 . 블록 8-9에서 SL 및 TP 매개변수를 계산하기 위해 함수 호출 New_Stop(StopLoss) 및 New_Stop(TakeProfit) 이 사용됩니다. 블록 11-12에는 기능에 대한 설명이 있습니다.
질문 : New_Stop 함수 의 형식 매개변수 는 int ( int매개변수 ), 매개변수가 함수 호출에서 전달되는 동안New_Stop(StopLoss) ( New_Stop(TakeProfit) ) 유형은 double ... MQL4에 있는 MQL 4 책에서. "함수" 섹션의 "언어의 기초" 장의 "함수 속성" 하위 섹션에 다음과 같이 나와 있습니다 . " 함수 호출에서 전달된 매개변수의 번호, 유형 및 순서는 숫자와 일치해야 합니다 . 함수 설명에 지정된 형식 매개변수의 순서(예외는 기본 매개변수가 있는 함수 호출입니다. 함수 호출 및 함수 설명 참조 및 연산자 반환 ". 이 모순을 설명하는 방법: 결국 후자에 따라) , StopLoss 및 TakeProfit 변수를 선언할 때 double이 아닌 int 유형을 지정해야 했습니다 ( 컴파일러에서 오류가 발생하지 않음).
안녕하세요. 질문은 다음과 같습니다.MQL4에 있는 MQL 4 책 에서. 커뮤니티"Simple Expert Advisor" 섹션의 "SimpleMQL Programs" 장에 tradingexpert.mq4 Expert Advisor의 예가 있습니다.다음 내용(첨부파일 참조). 블록 1-2에서 외부 변수 extern doubleStopLoss 가 선언되었습니다.=200 및 외부더블이익을 취하다=39 . 블록 8-9에서 SL 및 TP 매개변수를 계산하기 위해 함수 호출 New_Stop(StopLoss) 및 New_Stop(TakeProfit) 이 사용됩니다. 블록 11-12에는 기능에 대한 설명이 있습니다.
질문 : New_Stop 함수의 형식 매개변수는 int ( int매개변수 ), 매개변수가 함수 호출에서 전달되는 동안New_Stop(StopLoss) ( New_Stop(TakeProfit) ) 유형은 double ... MQL4에 있는 MQL 4 책에서. "함수" 섹션의 "언어의 기초" 장의 "함수 속성" 하위 섹션에 다음과 같이 나와 있습니다 . " 함수 호출에서 전달된 매개변수의 번호, 유형 및 순서는 숫자와 일치해야 합니다 . 함수 설명에 지정된 형식 매개변수의 순서(예외는 기본 매개변수가 있는 함수 호출입니다. 함수 호출 및 함수 설명 참조 및 연산자 반환 ". 이 모순을 설명하는 방법: 결국 후자에 따라) , StopLoss 및 TakeProfit 변수를 선언할 때 double이 아닌 int 유형을 지정해야 했습니다 ( 컴파일러에서 오류가 발생하지 않음).
포럼을 어지럽히지 않기 위해 답변에 미리 감사드립니다.
외부 매개변수(extern double StopLoss =200; extern double TakeProfit =39; )는 원칙적으로 정수 유형이어야 합니다(더 정확하게는 저자의 생각에 따르면 이것은 포인트 단위의 값입니다). 함수를 호출할 때 암시적 형식 변환이 사용됩니다. 부동 소수점 유형은 정수로 다운캐스트 됩니다. 이 경우에는 중요하지 않습니다. 스톱 및 이익의 크기는 항상 정수인 핍으로 설정됩니다.
IMHO, 예제 코드는 보기 흉하게 작성되었습니다.
상수의 절대값을 사용하는 것은 니모닉 이름이 있을 때 매우 나쁘고 잘못된 스타일입니다.
if ( OrderType ()> 1 ) // Попался отложенный
{
정렬 순서 구현의 최악의 변형: 더 "느린" 것을 생각하기 어렵습니다. 마치 의도적으로 브레이크를 추가하는 것처럼 추가 계산, 불필요한 함수 호출 - 가장 시간이 많이 걸리는 작업, 심지어 루프의 각 반복에서도. 그리고 이것은 주문 수가 사이클 내에서 변경되지 않는다는 사실에도 불구하고.
for ( int i= 1 ; i<= OrdersTotal (); i++) // Цикл перебора ордер
{
if ( OrderSelect (i- 1 ,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров:
이것은 도움말에서 가져온 것이지만 어드바이저가 작동하는 기호만 "감시"하기 위해 기호로 NULL을 사용할 수 있습니까?
동일한 유형의 여러 Expert Advisor가 다른 쌍에 대해 계획되어 있다는 것입니다.
예를 들면 다음과 같습니다.
이것은 도움말에서 가져온 것이지만 어드바이저가 작동하는 기호만 "감시"하기 위해 기호로 NULL을 사용할 수 있습니까?
예를 들면 다음과 같습니다.
NULL은 다음과 같이 전달되지 않습니다.
그러나 Symbol() 은 작동합니다 =)
안녕하세요. 질문은 다음과 같습니다. MQL4에 있는 MQL 4 책 에서. 커뮤니티 "Simple MQL Programs " 장, "Simple Expert Advisor" 섹션에 tradingexpert.mq4 Expert Advisor의 예가 있습니다. 다음 내용(첨부파일 참조). 블록 1-2에서 외부 변수 extern double StopLoss 가 선언되었습니다. = 200 및 외부 더블 이익을 취하다 = 39 . 블록 8-9에서 SL 및 TP 매개변수를 계산하기 위해 함수 호출 New _ Stop ( StopLoss ) 및 New _ Stop ( TakeProfit ) 이 사용됩니다. 블록 11-12에는 기능에 대한 설명이 있습니다.
질문 : New _ Stop 함수 의 형식 매개변수 는 int ( int 매개변수 ), 매개변수가 함수 호출에서 전달되는 동안 New _ Stop ( StopLoss ) ( New _ Stop ( TakeProfit ) ) 유형은 double ... MQL4에 있는 MQL 4 책에서. "함수" 섹션의 "언어의 기초" 장의 "함수 속성" 하위 섹션에 다음과 같이 나와 있습니다 . " 함수 호출에서 전달된 매개변수의 번호, 유형 및 순서는 숫자와 일치해야 합니다 . 함수 설명에 지정된 형식 매개변수의 순서(예외는 기본 매개변수가 있는 함수 호출입니다. 함수 호출 및 함수 설명 참조 및 연산자 반환 ". 이 모순을 설명하는 방법: 결국 후자에 따라) , StopLoss 및 TakeProfit 변수를 선언할 때 double이 아닌 int 유형을 지정해야 했습니다 ( 컴파일러에서 오류가 발생하지 않음).
포럼을 어지럽히지 않기 위해 답변에 미리 감사드립니다.
안녕, 말해봐 ... 인터넷의 바닥을 삽질했고 정보가 다릅니다.
고문의 본질은 다양한 도구에 대한 입장을 여는 것입니다. "실제"가 작동하고 현재 가격을 보여주지만 기록을 통해 실행할 수 없습니다... 함수는 0을 반환합니다.
예를 들어 EURUSD 및 EURCHF의 두 가지 통화에 대한 현재 견적을 표시해야 합니다.
함수를 사용하여 현재 견적을 호출합니다(EURUSD 차트가 활성화된 상태에서 기록을 실행합니다).
MarketInfo("EURUSD",MODE_BID) ---> 현재 가격 가져오기
MarketInfo("EURCHF ",MODE_BID) ---> null 반환
이 포럼에서 MarketInfo가 기록에서 작동하지 않는다는 정보를 찾았습니다. "iClose"를 사용하세요.
그러나 인용 기능을 호출할 때도
iClose("EURUSD",PERIOD_M1,0) ---> 현재 가격 가져오기
iClose("EURCHF",PERIOD_M1,0) ---> 0 반환
전략 테스터 에서 다른 도구에 대한 현재 견적을 다른 방법으로 얻을 수 있습니까? 감사해요
MT4 테스터는 다중 통화가 아닙니다. 즉, 단일 통화 Expert Advisor만 테스트할 수 있습니다.
MT4 테스터는 다중 통화가 아닙니다. 즉, 단일 통화 Expert Advisor만 테스트할 수 있습니다.
고맙습니다
고맙습니다
보다 정확하게는 하나의 도구에서 테스트하고 다른 도구를 사용하여 분석할 수 있습니다.
또는 다음과 같은 것:
안녕하세요. 질문은 다음과 같습니다. MQL4에 있는 MQL 4 책 에서. 커뮤니티 "Simple Expert Advisor" 섹션의 " Simple MQL Programs" 장에 tradingexpert.mq4 Expert Advisor의 예가 있습니다. 다음 내용(첨부파일 참조). 블록 1-2에서 외부 변수 extern double StopLoss 가 선언되었습니다. = 200 및 외부 더블 이익을 취하다 = 39 . 블록 8-9에서 SL 및 TP 매개변수를 계산하기 위해 함수 호출 New _ Stop ( StopLoss ) 및 New _ Stop ( TakeProfit ) 이 사용됩니다. 블록 11-12에는 기능에 대한 설명이 있습니다.
질문 : New _ Stop 함수의 형식 매개변수는 int ( int 매개변수 ), 매개변수가 함수 호출에서 전달되는 동안 New _ Stop ( StopLoss ) ( New _ Stop ( TakeProfit ) ) 유형은 double ... MQL4에 있는 MQL 4 책에서. "함수" 섹션의 "언어의 기초" 장의 "함수 속성" 하위 섹션에 다음과 같이 나와 있습니다 . " 함수 호출에서 전달된 매개변수의 번호, 유형 및 순서는 숫자와 일치해야 합니다 . 함수 설명에 지정된 형식 매개변수의 순서(예외는 기본 매개변수가 있는 함수 호출입니다. 함수 호출 및 함수 설명 참조 및 연산자 반환 ". 이 모순을 설명하는 방법: 결국 후자에 따라) , StopLoss 및 TakeProfit 변수를 선언할 때 double이 아닌 int 유형을 지정해야 했습니다 ( 컴파일러에서 오류가 발생하지 않음).
포럼을 어지럽히지 않기 위해 답변에 미리 감사드립니다.
외부 매개변수(extern double StopLoss =200; extern double TakeProfit =39; )는 원칙적으로 정수 유형이어야 합니다(더 정확하게는 저자의 생각에 따르면 이것은 포인트 단위의 값입니다). 함수를 호출할 때 암시적 형식 변환이 사용됩니다. 부동 소수점 유형은 정수로 다운캐스트 됩니다. 이 경우에는 중요하지 않습니다. 스톱 및 이익의 크기는 항상 정수인 핍으로 설정됩니다.
IMHO, 예제 코드는 보기 흉하게 작성되었습니다.
상수의 절대값을 사용하는 것은 니모닉 이름이 있을 때 매우 나쁘고 잘못된 스타일입니다.
정렬 순서 구현의 최악의 변형: 더 "느린" 것을 생각하기 어렵습니다. 마치 의도적으로 브레이크를 추가하는 것처럼 추가 계산, 불필요한 함수 호출 - 가장 시간이 많이 걸리는 작업, 심지어 루프의 각 반복에서도. 그리고 이것은 주문 수가 사이클 내에서 변경되지 않는다는 사실에도 불구하고.