초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 59

 
Vitalie Postolache :
문제는 인용문이며 품질이 좋지 않습니다.

표준 Expert Advisor는 그들과 잘 작동합니다. 그리고 데모 계정에는 거래가 없습니다. 거래가 열리지 않습니다. 그들은해야하지만.

 
Michail_David :

Standard Expert Advisor는 잘 작동합니다.

표준과 자신의 표준을 비교하고 차이점을 찾아 결론을 도출하십시오. 그러나 오류의 문구는 한 TF의 값이 다른 TF의 값과 일치하지 않을 때 특히 품질이 낮은 인용문에 대해 말합니다.

또한 " 공개 가격 만" 모드에서 거래를 위해 코드를 작성하면 이러한 문제에서 벗어날 수 있습니다.

을(를) 추가 했습니다. 시작 가격 으로 코드를 만들려고 하는데 왜 모든 틱에 대해 테스트해야 하는지 명확하지 않습니다...
 
Vitalie Postolache :
표준과 자신의 표준을 비교하고 차이점을 찾아 결론을 도출하십시오. " 공개 가격 만" 모드에서 거래를 위해 코드를 작성하면 이러한 문제에서 벗어날 수 있습니다.
표준은 또한 나처럼 종가를 사용합니다.
 
Michail_David :
표준은 또한 나처럼 종가를 사용합니다.

어떤 조언자를 표준이라고 부르나요? 나는 터미널 배달에서 " 종가 기준 " Expert Advisors를 보지 못했습니다.

그리고 개시 가격 의 경우 전체 거래 코드가 이 모드에서 작동하거나 전혀 작동하지 않아야 합니다. 새 막대 에서 실행되는 코드의 일부만 있고 나머지는 모든 틱에서 작동합니다.

 
Vitalie Postolache :

어떤 조언자를 표준이라고 부르나요? 나는 터미널 배달에서 " 종가 기준 " Expert Advisors를 보지 못했습니다.

그리고 개시 가격 의 경우 전체 거래 코드가 이 모드에서 작동하거나 전혀 작동하지 않아야 합니다. 새 막대 에서 실행되는 코드의 일부만 있고 나머지는 모든 틱에서 작동합니다.

저는 표준 MACD 샘플이라고 부릅니다. 새로운 바 검색을 처음으로 옮기는 것이 좋을까요?
 
Michail_David :
저는 표준 MACD 샘플이라고 부릅니다. 새로운 바 검색을 처음으로 옮기는 것이 좋을까요?

MACD 샘플에서 "유일한 시가" 모드는 어디에 있습니까? 그런 것이 보이지 않습니까? 새 막대 검색을 OnTick()의 시작 부분으로 이동하는 것이 좋습니다.

static   datetime  New_Time= TimeCurrent (); // Время текущего бара

전역 수준에서 함수 외부에 선언하는 것이 좋습니다.

더 나은 방법은 시간을 할애하여 여기 포럼에서 새로운 바를 찾기 위한 보다 성공적인 옵션을 확인하는 것입니다.
 
Vitalie Postolache :

MACD 샘플에서 "유일한 시가" 모드는 어디에 있습니까? 그런 것이 보이지 않습니까? 새 막대 검색을 OnTick()의 시작 부분으로 이동하는 것이 좋습니다.

그리고

static   datetime  New_Time= TimeCurrent (); // Время текущего бара

전역 수준에서 함수 외부에 선언하는 것이 좋습니다.

분명히, 나는 표준 Expert Advisor에 따라 " 유일한 공개 가격 "모드를 오해했습니다. 실례합니다. 이제 막 이해하기 시작했습니다. 조언 해주셔서 감사합니다. 전체 코드를 볼 수 있습니까? 아마도 더 많은 의견이있을 것입니다. 신선한 모습은 필수입니다. 나는 매우 감사할 것입니다.
 
Michail_David :
사람들! 말하다. 테스터는 오류를 제공합니다: 2017.02.08 18:24:43.751 TestGenerator: 일치하지 않는 데이터 오류(2016.07.27 19:30의 낮은 값 1.09860은 최소 시간 프레임에서 도달하지 않음, 낮은 가격 1.09880 불일치)
이것은 무엇을 의미하며 어떻게 수정합니까? 내가 뭘 잘못했어?
double Margin_Percent= AccountFreeMargin ()*Percent/ 100 ; //Используемые средства для открытия ордеров
double Lots=Margin_Percent/ MarketInfo ( Symbol (), MODE_MARGINREQUIRED ); //Определение общего количества лотов
double Lots_Volume=( MathFloor (Lots)+ MarketInfo ( Symbol (), MODE_LOTSTEP ));
double MacdCurrent= iMACD ( NULL , 0 ,Fast_EMA_Period,Slow_EMA_Period,Signal_Period, PRICE_CLOSE , MODE_MAIN , 1 ); //Параметры MACD основной линии текущего бара
double MacdPrevious1= iMACD ( NULL , 0 ,Fast_EMA_Period,Slow_EMA_Period,Signal_Period, PRICE_CLOSE , MODE_MAIN , 2 ); //Параметры MACD основной линии предыдущего бара
double MacdPrevious2= iMACD ( NULL , 0 ,Fast_EMA_Period,Slow_EMA_Period,Signal_Period, PRICE_CLOSE , MODE_MAIN , 3 ); //Параметры MACD основной линии со смещением на 2 бара
double StopLoss= iSAR ( NULL , 0 ,Step_PSAR,Maximum_PSAR, 0 ); //Параметры Трейлинг стоп по параметрам ParabolicSAR текущего бара
double Previous_StopLoss= iSAR ( NULL , 0 ,Step_PSAR,Maximum_PSAR, 1 ); //Параметры СтопЛосс по параметрам ParabolicSAR предыдущего бара
double CurrentPSAR= iSAR ( NULL , 0 ,Step_PSAR,Maximum_PSAR, 1 ); //Параметры СтопЛосс по параметрам ParabolicSAR предыдущего бара

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
  
//------
  }
//-------------------------------------------------------------------------------------------------------
처음으로 변수 계산이 이벤트를 생성하는 함수 외부의 전역 수준에서 수행되고 컴파일러가 맹세하지 않는다는 것을 알았습니다. 젠장, 컴파일러는 확실히 맹세하지 않습니다
 
Sergey Gritsay :
처음으로 변수 계산이 이벤트를 생성하는 함수 외부의 전역 수준에서 수행되고 컴파일러가 맹세하지 않는다는 것을 알았습니다.
아니요. 모든 것을 있는 그대로 받아들인다
 
Michail_David :
아니요. 모든 것을 있는 그대로 받아들인다
내가 강조한 모든 것을 OnTick() 함수에 넣으십시오.