MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 214

 
Vladimir Tkach :

이틀 동안 아름다운 소켓이 흐려졌습니다. 하지만 그것을 통해 입력으로 지정된 EA 매개 변수를 변경할 수 없다는 것이 밝혀졌습니다.

이제 내가 무엇을 할 수 있습니까?

판타지가 전혀 없습니까?

input double _PARAM=1.0; // да, input менять в коде нельзя, они типа const

double PARAM=0;         // но никто не заставляет использовать только и исключительно их

int OnInit()

{

   if (MoonPhaze()==0 && _PARAM>0.1) {

       PARAM=_PARAM;       // всё что задаёт пользователь через input должно проверяться и использоваться только внутри OnInit - это просто хороший тон

   }

}
 

그들이 나를 이해하지 못했다고 말해요.

패널(차트에 있음)에서 매개변수를 변경하지만 전문가의 입력에서는 변경되지 않습니다. 슬픔은 슬픔입니다.


 
프로그램 실행 과정에서 값이 변경되지만. 알겠습니다. 그렇게 할 것입니다.
 
missha32 :

도와주세요. 함수를 작성하는 데 완전히 혼란스러워합니다.

함수는 하루에 마감된 주문 수를 반환해야 합니다.


나는 다음과 같이 쓸 것이다:

 int CountInHistoryCloseOrder() 
{
int kp= 0 ;
for ( int i= OrdersHistoryTotal (); i>= 0 ; i--) 
 {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) 
   {
     if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==mn) 
     { //mn - должна быть глобальной
       if ( TimeToString ( OrderCloseTime (), TIME_DATE )== TimeToString ( TimeCurrent (), TIME_DATE ))
       {
        kp++;
       }
     }
   }
 }
return (kp);
 
missha32 :

도와주세요. 함수를 작성하는 데 완전히 혼란스러워합니다.

함수는 하루에 마감된 주문 수를 반환해야 합니다.

int OrdersClosedInDay(datetime time) {

datetime from=time-TimeHour(time)*60*60-TimeMinutes(time)*60-TimeSeconds(time);

datetime to=from+24*60*60;

int count=0;

for(int pos=OrdersHistoryTotal()-1;pos>=0;pos--) {

   if (!OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)) continue;

   if (OrderCloseTime()>=from && OrderCloseTime()<to)   count++;

}

return count;

}

 
Valerius :


나는 다음과 같이 쓸 것이다:

도움 덕분에 정리되기 시작했지만 새 날이 오면 값이 0으로 재설정되며 같은 날 다음 일련의 마감 주문까지 남아 있어야합니다

이해가 하나 더 추가된 기능

 
Artyom Trishkin :
개체는 허용되지 않습니다. 그러나 CCanvas 클래스를 사용하여 그릴 수 있습니다.
고맙습니다!
 
Vladimir Tkach :

그들이 나를 이해하지 못했다고 말해요.

패널(차트에 있음)에서 매개변수를 변경하지만 전문가의 입력에서는 변경되지 않습니다. 슬픔은 슬픔입니다.


중복 입력을 시작한 다음 프로그램에서 사용하기에 너무 게으른 경우 항상 사용자 매개 변수를 "extern"으로 설정할 수 있습니다. 해당 값은 작업 과정에서 프로그래밍 방식으로 변경할 수 있습니다.
 
말해 주세요. 어드바이저에서 다음 캔들에 마감을 표시하는 방법은 무엇입니까?
 
AlGuru :
말해 주세요. 고문에서 다음 촛불의 마감을 어떻게 표시합니까?
포지션이 열린 바가 1이면 이 포지션을 닫습니다.