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

 
Konstantin Nikitin :

고맙습니다. 즉, 이익을 통화로 나누는 것은 무엇입니까?

.../( OrderSymbol ()==Sy_1 ? tickValue_1 : tickValue_2));
   
막심 쿠즈네초프 :
서로 다른 두 악기의 포인트는 추가할 수 없습니다.

포인트 비용이 다른건 알겠는데, 이 경우는 상관없습니다.

 
PolarSeaman :

고맙습니다. 즉, 이익을 통화로 나누는 것은 무엇입니까?

예금 통화 의 포인트 값.
나에 관해서는 1 문자에 대해 이 기능을 작성하는 것이 더 정확할 것입니다.

 int Punkts_B( const string symbol= "" , const int _Mag=- 1 )
  {
   double profit = 0 ;
   for ( int t= 0 ;t< OrdersTotal ();t++)
     {
       if ( ! OrderSelect (t, SELECT_BY_POS , MODE_TRADES ) )   continue ;
       if ( OrderSymbol ()!=symbol )                       continue ;
       if ( OrderMagicNumber ()!=_Mag )                   continue ;
       if ( OrderType ()!= OP_BUY && OrderType ()!= OP_SELL ) continue ;

      profit+= OrderProfit ()+ OrderSwap ()+ OrderCommission ();
     }
   return ( ( int ) MathFloor (profit/ SymbolInfoDouble (symbol, SYMBOL_TRADE_TICK_VALUE )) );
  }

int xxx = Punkts_B( "EURUSD" , 12345 ) + Punkts_B( "GBPUSD" , 12345 );
전화를 걸 때 필요한 경우 포인트를 추가하십시오.
 
Konstantin Nikitin :

예금 통화 의 포인트 값.

단어 식에서와 같이 ( OrderSymbol ()==Sy_1 ? tickValue_1 : tickValue_2)); 어떻게 말할까?

0을 인쇄합니다. Print(Punkts_B("GBPUSD", "AUDUSD",11151));

 
PolarSeaman :

단어 식에서와 같이 ( OrderSymbol ()==Sy_1 ? tickValue_1 : tickValue_2));

0을 인쇄합니다. Print(Punkts_B("GBPUSD", "AUDUSD",11151));

조건 연산자 ?:

 
Konstantin Nikitin :

조건 연산자 ?:

고맙습니다.

 

동료 여러분, 이해를 돕습니다.

레지스트리 작업을 마스터하려고하는데 테스트를 위해 간단한 고문을 던졌습니다. 시스템 레지스트리에서 데이터를 읽는 것은 문제 없이 진행되지만 쓰기에 문제가 있고 MT와 메모리가 충돌합니다... (((

내 눈이 흐릿하고 명확한 것을 보지 못하는 것일 수도 있습니다 ...

파일:
TestReg.mq5  25 kb
 

곡선의 끝 부분 근처에 이름을 붙여야 하는 별도의 창에 이름을 배치해야 합니다.

어떻게 하는지 설명해주세요.

 
khorosh :

곡선의 끝 부분 근처에 이름을 붙여야 하는 별도의 창에 이름을 배치해야 합니다.

어떻게 하는지 설명해주세요.

개체 - 모든 터미널 창과 해당 하위 창에 표시할 수 있습니다.

 

Artyom Trishkin :

개체 - 모든 터미널 창과 해당 하위 창에 표시할 수 있습니다.

-------------------------------------------------- -------------------------------------------------- ----------------------------------

이렇게 시도했지만 무언가가 작동하지 않습니다.

  if ( ObjectFind ( "Spread" )< 0 ) 
    {
     ObjectCreate ( 1 , "Spread" , OBJ_TEXT , 0 , Time [ 0 ],LevLabelSpread );
     ObjectSetText ( "Spread" , "                    Spread" , 10 , "Arial" , clrYellow );
    }
   else
    {
     ObjectMove ( 1 , "Spread" , 0 , Time [ 0 ], LevLabelSpread);
    } 
아마도 창 번호와 관련된 것입니다. 차트에 별도의 창이 하나 있는 경우 해당 번호는 ==1입니까?
 
Kirill Belousov :

표현식에서 &&를 "AND AT THE SAME TIME"으로 바꾸고 || 단어 "OR"로 교체

결과를 읽을 때 그것이 무엇이며 어떻게 작동하는지 명확해야 합니다.


첫 번째 줄은 magic=7777(hand_orders=false 사용) 또는 magic=0(hand_orders=true 사용)으로 작동합니다.

두 번째 줄은 항상 magic=7777에서 작동하고 hand_orders=true에서는 magic=0과 함께 추가로 작동합니다.

고맙습니다!