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

 

여러분, 이유를 찾았습니다. 요점은 일일 이익을 허용하는 데 필요한 잔액을 계산하는 것입니다. 이 공식은 오류가 발생하지 않지만 작동하지 않습니다.

   datetime TimeCheck_sb = StrToTime( "1:00" );

   if ( TimeCurrent ()==TimeCheck_sb)
     {
       sb1 = AccountBalance();
     }
// и это мне вы тут насоветовали на форуме!!!!!!


   далее там условие такое if (sb1 + sb1/ 100 *LotRisk*(DayMultiplicatorProfit/ 100 ) > AccountBalance())
                               {

                                условие открытия ордера...

                                }

재미를 위해 넣으면 작동합니다.

AccountBalance()>0

당신이 그것을 넣으면, 아니

sb1>0

더블 SB1; - 그렇다면 발표 ...


로 문제를 해결하십시오.

 sb1 = AccountBalance();
 
Порт-моне тв :

여러분, 원인을 확인했습니다. 요점은 일일 이익을 허용하는 데 필요한 잔액을 계산하는 것입니다. 이 공식은 오류가 발생하지 않지만 작동하지 않습니다.

재미를 위해 넣으면 작동합니다.

당신이 그것을 넣으면, 아니

더블 SB1; - 그렇다면 발표 ...


로 문제를 해결하십시오.

   datetime TimeCheck_sb = StrToTime( "1:00" );

   if ( TimeCurrent ()==TimeCheck_sb)

매일 일할 필요가 없습니다 ... 게다가 정기적으로 작동하면 이상합니다

 
Maxim Kuznetsov :

매일 일할 필요가 없습니다 ... 게다가 규칙적으로 작동하면 전혀 이상합니다.

그러면 하루의 시작 부분에서 잔액 값을 어떻게 고칠 수 있습니까?

 

죄송하지만 여전히 따라잡을 수 없습니다. KEY_TILDE를 두 개의 이벤트(선택 및 선택 해제)에 할당하는 방법입니다. 터미널에서 메시지의 동시 트리거 및 출력을 얻거나 그러한 기본 옵션을 얻습니다. 그것을 하는 방법을 두뇌가 없는에게 설명하십시오?

 if (id== CHARTEVENT_KEYDOWN )
     {
       switch ( int (lparam))
        {
         case KEY_TILDE:
             ObjectSetInteger ( 0 , "RectLabel" , OBJPROP_SELECTABLE , true );
             ObjectSetInteger ( 0 , "RectLabel" , OBJPROP_SELECTED , true );
             Print ( "Выделить!" );
             break ;
            
             default :
             ObjectSetInteger ( 0 , "RectLabel" , OBJPROP_SELECTABLE , false );
             ObjectSetInteger ( 0 , "RectLabel" , OBJPROP_SELECTED , false );
             Print ( "Отменить выделение!" );
             break ;
        }
        
     }
 
DYM :

죄송하지만 여전히 따라잡을 수 없습니다. KEY_TILDE를 두 개의 이벤트(선택 및 선택 해제)에 할당하는 방법입니다. 터미널에서 메시지의 동시 트리거 및 출력을 얻거나 그러한 기본 옵션을 얻습니다. 그것을 하는 방법을 두뇌가 없는에게 설명하십시오?

이벤트를 포착했습니다 - 상태를 확인했습니다 ... 선택된 경우 - 선택을 제거합니다. 그렇지 않으면 선택하십시오.

 
DYM :

죄송하지만 여전히 따라잡을 수 없습니다. KEY_TILDE를 두 개의 이벤트(선택 및 선택 해제)에 할당하는 방법입니다. 터미널에서 메시지의 동시 트리거 및 출력을 얻거나 그러한 기본 옵션을 얻습니다. 그것을 하는 방법을 두뇌가 없는에게 설명하십시오?


 //+------------------------------------------------------------------+
if (id== CHARTEVENT_KEYDOWN )
     {
       switch ( int (lparam))
        {
         case KEY_TILDE: 
         TILDE(); 
         break ;
        }
     }
//+------------------------------------------------------------------+
void TILDE()
  {
   if ( ObjectGetInteger ( 0 , "RectLabel" , OBJPROP_SELECTABLE )== false )
     {
       ObjectSetInteger ( 0 , "RectLabel" , OBJPROP_SELECTABLE , true );
       ObjectSetInteger ( 0 , "RectLabel" , OBJPROP_SELECTED , true );
       Print ( "Выделить!" );
     }
   else
     {
       ObjectSetInteger ( 0 , "RectLabel" , OBJPROP_SELECTABLE , false );
       ObjectSetInteger ( 0 , "RectLabel" , OBJPROP_SELECTED , false );
       Print ( "Отменить выделение!" );
     }
  }
 
Порт-моне тв :

그러면 하루의 시작 부분에서 잔액 값을 어떻게 고칠 수 있습니까?

생각이 있는 사람이 있습니까?

 
Порт-моне тв :

생각이 있는 사람이 있습니까?

   if (AccountBalance()> 0 )
     {
      sb1 = AccountBalance()-DayProfit();
     }
................

//+--------------------------------------------------------------------------------------------------------------------+
//|  Суммарный профит в валюте депозита закрытых с определённой даты позиций                                           |
//+--------------------------------------------------------------------------------------------------------------------+
double DayProfit()
  { double p = 0 ; datetime st=StrToTime( "1:00" );
   for ( int pos=OrdersHistoryTotal()- 1 ;pos>= 0 ;pos--)
     {
       if ( OrderSelect (pos,SELECT_BY_POS,MODE_HISTORY)== true )
        {
         if (OrderCloseTime()>=st){p+=OrderProfit()+OrderSwap()+OrderCommission();}
        }
     }
   return (p);
  }
//+--------------------------------------------------------------------------------------------------------------------+
 
MakarFX :


어떻게 감사해야 할지 모르겠어... 내가 말하지 않는 한 - 도와주셔서 정말 감사합니다. 더 이상 귀찮게 하지 않도록 노력하겠습니다 :)
 
Порт-моне тв :

생각이 있는 사람이 있습니까?

날의 변화를 포착하고 그 순간의 균형 가치를 계산합니다 .

헛되이 그들은 "적절한 지표를 취하라"고 말했습니다. 그것은 몇 줄의 코드에 맞지 않을 것입니다. 상당히 방대한 알고리즘입니다.

"지금 알려진 날짜의 숫자는 전날의 숫자와 같지 않습니다"라는 요일 변경을 잡기 쉽지만 더 복잡합니다.