찻주전자의 질문 - 페이지 147

 
alph :

가격 이 이동 평균 아래로 마감되고 모멘텀이 평균 수준 아래에 있으면 매도 거래를 엽니다 . 구매는 반대입니다.

조건이 충족되지 않으면 아무 조치도 취하지 않아야 한다는 것이 밝혀졌습니다. 그렇다면 함수의 마지막 줄에 return(false)을 작성하고 단계적으로 전술에 맞는지 확인하십시오.
 
Yedelkin :
조건이 충족되지 않으면 아무 조치도 취하지 않아야 한다는 것이 밝혀졌습니다. 그렇다면 함수의 마지막 줄에 return(false)을 작성하고 단계적으로 전술에 맞는지 확인하십시오.
void OnTick() 섹션에 있습니까?
 
alph :
void OnTick() 섹션에 있습니까?

그것은 분명히 timeOntrade에 관한 것이었습니다.

하지만 미얀은 개인적으로 반환되지 않은 결과에 당황스러워 조만간 원하는 형태로 변환할 수 있게 될 것이다.

이것이 나를 혼란스럽게하는 것입니다.

 bool timeOntrade ( int TradeHour)
   {
   MqlDateTime timeOntrade ;
 
alph :
void OnTick() 섹션에 있습니까?

여기:

 bool timeOntrade( int TradeHour)
   {
   MqlDateTime timeOntrade;
   TimeTradeServer (timeOntrade);
   if (timeOntrade.hour!=TradeHour) return ( false );
   timeOntrade.hour= 0 ;
   timeOntrade.min = 0 ;
   timeOntrade.sec = 1 ;
   if (timeOntrade.hour== 4 || timeOntrade.hour== 15 || timeOntrade.hour== 16 ) return ( true );
   return ( false );
   }

마지막 줄에 false를 입력하고 이 접근 방식이 선택한 전술과 어떻게 일치하는지 확인하십시오. 저것들. 이 변경 사항을 고려하여 Expert Advisor의 작업을 "스크롤"합니다.

 
Interesting :
그것은 분명히 timeOntrade에 관한 것이었습니다.
timetrade에서 마지막에 false만 입력하면 원하는 결과를 얻을 수 없지만 내 버전에서는 실제 확인을 위해 시간 단위로 트랜잭션을 엽니다. 이 형식의 시계가 있는 코드의 바로 그 버전은 작동시킨 후 포럼의 어딘가에 있습니다. 2개의 타임트리드를 통과하는 데 겨우 몇 분밖에 걸리지 않았습니다. 나는 전체 코드가 적어도 3분의 1은 짧아야 한다고 확신합니다.
 
alph :
timetrade에서 마지막에 false만 입력하면 원하는 결과를 얻을 수 없지만 내 버전에서는 실제 확인을 위해 시간 단위로 트랜잭션을 엽니다.
timeOntrade.hour 가 = 5라고 말하면 어떻게 됩니까?
 
Interesting :
timeOntrade.hour 가 = 5라고 말하면 어떻게 됩니까?

분명히 거래를 완료하지 않을 것입니다. 왜냐하면 ...

//Open으로의 전환 근거

MqlRates rt[1];
if(CopyRates(Symbol(),MyTframe,0,1,rt)<0) 반환;
if(rt[0].tick_volume>1) 반환;

if(!PositionSelect(_Symbol)&& (timeOntrade(4) || ((timeOntrade(15) || timeOntrade(16))&& timeOntrade2(0)))) Open();//

...지정된 시간에만 오프닝으로 보냅니다.

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5
 
alph :
timetrade에서 마지막에 false만 있으면 원하는 결과를 얻을 수 없습니다...
글쎄, 당신의 코드를 직접보십시오. 그대로, if (timeOntrade.hour== 4 || timeOntrade.hour== 15 || timeOntrade.hour== 16 ) 조건은 완전히 쓸모가 없습니다. 어떤 결과를 반환하든 bool timeOntrade() 함수는 항상 true를 반환합니다.
 

alph, Yedelkin이 이에 대해 이야기하고 있습니다.

우리가 이해하는 이러한 기능의 변형은 동일합니다.

 bool timeOntrade( int TradeHour)
   {
   MqlDateTime timeOntrade;
   TimeTradeServer (timeOntrade);
   if (timeOntrade.hour!=TradeHour) return ( false );
   timeOntrade.hour= 0 ;
   timeOntrade.min = 0 ;
   timeOntrade.sec = 1 ;
   if (timeOntrade.hour== 4 || timeOntrade.hour== 15 || timeOntrade.hour== 16 ) return ( true );
   return ( true );
   }

bool timeOntrade( int TradeHour)
   {
   MqlDateTime timeOntrade;
   TimeTradeServer (timeOntrade);
   if (timeOntrade.hour!=TradeHour) return ( false );
   timeOntrade.hour= 0 ;
   timeOntrade.min = 0 ;
   timeOntrade.sec = 1 ;
   return ( true );
   }
 
Interesting :

그건 그렇고,이 변형에서는 이익 측면에서 테스터의 결과는 작지만 비율은 좋은 것 같습니다.

이제 시간에 대한 참조 없이 더 큰 기간에 대해 테스트하고 있습니다. 아마도 결과가 더 나을 것입니다.