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

 
Artyom Trishkin :

멋진 ... 기대하지 않았습니다 .... 과거의 무언가 ... 감사합니다.

 
DanilaMactep :

첫 번째 부분(주문 계산)의 경우 다음을 권장합니다.

 //+----------------------------------------------------------------------------+
//| Подсчет ордеров                                                            |
//+----------------------------------------------------------------------------+
//| -1 - Все типы ордеров                                                      |
//|  0 - ордера типа BUY                                                       |
//|  1 - ордера типа SELL                                                      |
//|  2 - ордера типа BUYLIMIT                                                  |
//|  3 - ордера типа SELLLIMIT                                                 |
//|  4 - ордера типа BUYSTOP                                                   |
//|  5 - ордера типа SELLSTOP                                                  |
//+----------------------------------------------------------------------------+
int CountOrders( string symb= "" , int or_ty=- 1 , int magiс=- 1 ) 
  {
   int cnt= 0 ;
   if (symb== "0" ) symb= _Symbol ;
   for ( int pos= OrdersTotal ()- 1 ;pos>= 0 ;pos--)
     {
       if ( OrderSelect (pos,SELECT_BY_POS)== true )
        {
         if ((OrderSymbol()==symb || symb== "" )&&(or_ty< 0 || or_ty==OrderType()))
           {
             if (magiс< 0 || OrderMagicNumber()==magiс) cnt++;
           }
        }
     }
   return (cnt);
  }

더 나아가

 void OnTick ()
   { // НАЧАЛО ОН ТИК
   int count_orders_market_buy   = CountOrders( _Symbol , 0 ,magik_number); // КОЛИЧЕСТВО БАЙ ОРДЕРОВ
   int count_orders_market_sell  = CountOrders( _Symbol , 1 ,magik_number); // КОЛИЧЕСТВО СЕЛ ОРДЕРОВ
   int count_orders_buy_limit    = CountOrders( _Symbol , 2 ,magik_number); // КОЛИЧЕСТВО БАЙ ЛИМИТ
   int count_orders_sell_limit   = CountOrders( _Symbol , 3 ,magik_number); // КОЛИЧЕСТВО СЕЛ ЛИМИТ
   int count_orders_stop_buy     = CountOrders( _Symbol , 4 ,magik_number); // КОЛИЧЕСТВО БАЙ СТОП
   int count_orders_stop_sell    = CountOrders( _Symbol , 5 ,magik_number); // КОЛИЧЕСТВО СЕЛ СТОП

그리고 오류는 여기에 있을 가능성이 가장 높습니다(노란색으로 강조 표시됨).

 if ( OrderSend ( Symbol (),OP_BUY,lot,Ask,slippages,Ask-sl,Ask+tp,Coment ГДЕ МАГИК? )) Print ( "Buy Open" );
 
Artyom Trishkin :

이것은 주석입니다. 모든 색상이 꺼져 있습니다. 그러나 색상이 왔습니다. 그리고 예고편도 좋고....

치명적이지는 않지만 ... 얼음은 아닙니다 ...

 
속성 창의 피보나치 레벨 설명에서 %$를 통해 해당 값을 가격 값으로 변경할 수 있습니다. 프로그래밍 방식으로 레벨의 가격을 얻는 방법을 찾을 수 없습니다.
 
Galim_V :
속성 창의 피보나치 레벨 설명에서 %$를 통해 해당 값을 가격 값으로 변경할 수 있습니다. 프로그래밍 방식으로 레벨의 가격을 얻는 방법을 찾을 수 없습니다.

OBJPROP_LEVELVALUE

 
MakarFX :

OBJPROP_LEVELVALUE

고마워요 마카르! 그러나 나는 그것을 사용하는 방법을 모른다. 표준 fibo 수준의 가격 값을 가져와야 합니다 .

 #include <stdlib.mqh>

void OnStart () 
  { 
 string name = "FIBO" ;
   string text;
   for ( int i= 0 ;i< 32 ;i++)
  
    {
//    ObjectSetFiboDescription(name,i,???);
     text=ObjectGetFiboDescription(name,i);
     //---- проверим, возможно уровней у объекта меньше, чем 32
     if ( GetLastError ()!=ERR_NO_ERROR) break ;
     Print (name, "номер уровня: " ,i, " описание: " ,text);
    } 
 }      

금지된 기능을 사용하면 표준 기능을 가격 기능으로 대체할 수 있습니다. 하지만 어디서 구할 수 있습니까? 어딘가에 있습니다.

 
Galim_V :

고마워요 마카르! 그러나 나는 그것을 사용하는 방법을 모른다. 표준 fibo 수준의 가격 값을 가져와야 합니다 .

금지된 기능을 사용하면 표준 기능을 가격 기능으로 대체할 수 있습니다. 하지만 어디서 구할 수 있습니까? 어딘가에 있습니다.

fibs 가격 사이에서 이것은 100%이고 다른 모든 수준은 이 값에서 계산됩니다. 다음 공식에 따라 표준 값뿐만 아니라 대략적인 값도 계산할 수 있습니다.

가격_0 + (가격_1 - 가격_0) * 0.27;

그리고 금지된 기능을 사용하면 레벨 설명에 동일한 "%S"를 입력하여 레벨이 가격을 표시하도록 할 수 있습니다.
 
Galim_V :

고마워요 마카르! 그러나 나는 그것을 사용하는 방법을 모른다. 표준 fibo 수준의 가격 값을 가져와야 합니다 .

금지된 기능을 사용하면 표준 기능을 가격 기능으로 대체할 수 있습니다. 하지만 어디서 구할 수 있습니까? 어딘가에 있습니다.

 void OnStart ()
{
   //---  а сколько у нас Фибо-уровней ?
   int levels= ObjectGetInteger ( 0 , "Fibo" , OBJPROP_LEVELS );
   Alert ( "Fibo levels before = " ,levels);
   //---выведем в Журнал=> номер уровня:значения описание_уровня
   for ( int i= 0 ; i<levels; i++) {
       Alert (i, ":" , ObjectGetDouble ( 0 , "Fibo" , OBJPROP_LEVELVALUE ,i),
             "  " , ObjectGetString ( 0 , "Fibo" , OBJPROP_LEVELTEXT ,i));
   }
}

이 같은

 
Alekseu Fedotov :

이 같은

이것이 확인되었습니까?

 
Alexey Viktorov :

이것이 확인되었습니까?

가격을 표시하지 않음

 2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 0 :- 0.25
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 1 : 0.0
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 2 : 0.5
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 3 : 1.0
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 4 : 1.5
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 5 : 2.0
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 6 : 2.5
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 7 : 3.0
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 8 : 3.5
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 9 : 4.0
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 10 : 5.0
2021.01 . 29 16 : 16 : 32.116 Instant direction GBPJPYb,M5: 11 : 6.0
2021.01 . 29 16 : 16 : 37.952 Instant direction GBPJPYb,M5: Fibo levels before = 12