포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 800

 

포인트 현금으로 수익을 이체하는게 맞나요?

(OrderProfit()+OrderCommission()+OrderSwap())/OrderLots()*MarketInfo( Symbol (),MODE_TICKVALUE)*(MarketInfo( Symbol (),MODE_POINT)/MarketInfo( Symbol (),MODE_TICKSIZE))
 
안녕하세요! 기능과 작동 방식을 이해하는 데 도움이 됩니다. 미리 감사드립니다.
 //+----------------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Версия   : 28.11.2006                                                     |
//|  Описание : Модификация одного предварительно выбранного ордера.           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    pp - цена установки ордера                                              |
//|    sl - ценовой уровень стопа                                              |
//|    tp - ценовой уровень тейка                                              |
//|    ex - дата истечения                                                     |
//+----------------------------------------------------------------------------+
void ModifyOrder( double pp=- 1 , double sl= 0 , double tp= 0 , datetime ex= 0 ) 
  {
   bool    fm;
   color   cl=IIFc(OrderType()==OP_BUY
                  || OrderType()==OP_BUYLIMIT
                  || OrderType()==OP_BUYSTOP, clModifyBuy, clModifySell);
   double op,pa,pb,os,ot;
   int     dg=MarketInfo(OrderSymbol(),MODE_DIGITS),er,it;

   if (pp<= 0 ) pp=OrderOpenPrice();
   if (sl< 0 ) sl=OrderStopLoss();
   if (tp< 0 ) tp=OrderTakeProfit();

   pp= NormalizeDouble (pp, dg);
   sl= NormalizeDouble (sl, dg);
   tp= NormalizeDouble (tp, dg);
   op= NormalizeDouble (OrderOpenPrice() , dg);
   os= NormalizeDouble (OrderStopLoss()  , dg);
   ot= NormalizeDouble (OrderTakeProfit(), dg);

   if (pp!=op || sl!=os || tp!=ot) 
     {
       for (it= 1 ; it<=NumberOfTry; it++) 
        {
         if (!IsTesting() && (!IsExpertEnabled() || IsStopped ())) break ;
         while (!IsTradeAllowed()) Sleep ( 5000 );
         RefreshRates();
         fm=OrderModify(OrderTicket(),pp,sl,tp,ex,cl);
         if (fm) 
           {
             if (UseSound) PlaySound (SoundSuccess); break ;
              } else {
            er= GetLastError ();
             if (UseSound) PlaySound (SoundError);
            pa=MarketInfo(OrderSymbol(), MODE_ASK);
            pb=MarketInfo(OrderSymbol(), MODE_BID);
             Print ( "Error(" ,er, ") modifying order: " ,ErrorDescription(er), ", try " ,it);
             Print ( "Ask=" ,pa, "  Bid=" ,pb, "  sy=" ,OrderSymbol(),
                   "  op=" +GetNameOP(OrderType()), "  pp=" ,pp, "  sl=" ,sl, "  tp=" ,tp);
             Sleep ( 1000 * 10 );
           }
        }
     }
  }
//+----------------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Версия   : 11.09.2008                                                     |
//|  Описание : Сопровождение позиций простым тралом                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ( ""  - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   ( -1  - любая позиция)                  |
//|    mn - MagicNumber                ( -1  - любой магик)                    |
//+----------------------------------------------------------------------------+
void SimpleTrailing( string sy= "" , int op=- 1 , int mn=- 1 ) 
  {
   double po,pp;
   int     i,k= OrdersTotal ();

   if (sy== NULL ) sy= Symbol ();
   for (i= 0 ; i<k; i++) 
     {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)) 
        {
         if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) 
           {
            po=MarketInfo(OrderSymbol(),MODE_POINT);
             if (mn< 0 || OrderMagicNumber()==mn) 
              {
               if (OrderType()==OP_BUY) 
                 {
                  pp=MarketInfo(OrderSymbol(),MODE_BID);
                   if (pp-OrderOpenPrice()>=TrailingStart*po) 
                    {
                     if (OrderStopLoss()<pp-(TStop_Buy+TrailingStep- 1 )*po) 
                       {
                        ModifyOrder(- 1 ,pp-TStop_Buy*po,- 1 );
                       }
                    }
                 }
               if (OrderType()==OP_SELL) 
                 {
                  pp=MarketInfo(OrderSymbol(),MODE_ASK);
                   if (OrderOpenPrice()-pp>=TrailingStart*po) 
                    {
                     if (OrderStopLoss()>pp+(TStop_Sell+TrailingStep- 1 )*po || OrderStopLoss()== 0 ) 
                       {
                        ModifyOrder(- 1 ,pp+TStop_Sell*po,- 1 );
                       }
                    }
                 }
              }
           }
        }
     }
  }
//+----------------------------------------------------------------------------+
 
lihn :

김이고르 작가가 지워진 이유는?! 저자에 대한 무례한 태도로 인해 저작자 표시와 함께 출판할 의무가 있습니다!

그리고 귀하의 질문은 그의 스레드에서 작성자에게 더 잘 전달됩니다! 검색이나 구글에서 찾아보세요!

 

MQL4에서 다중 색상 표시기를 그릴 수 있습니까? 어디에서 예를 들어야 할까요?


MQL4 문서에는 INDICATOR_COLOR_INDEX가 포함되어 있지만 주제는 전혀 다루지 않습니다. MQL5 - https://www.mql5.com/en/articles/135 에서 예제를 찾았습니다.

성공적으로 컴파일되지만 예상대로 작동하지 않습니다. 예제에 사용된 PlotIndexSetInteger 함수 는 성공적으로 컴파일되었지만 MQL4 문서에는 없습니다.


그리고 또 하나의 불일치: MQL4 문서의 ArrayCopy 함수 설명에 비슷한 예가 있으며 PlotIndexSetInteger 함수도 사용합니다.


개발자가 자신의 숲에서 길을 잃은 걸까요, 아니면 제가 이해를 못하는 걸까요?

 
Dubovik :

MQL4에서 다중 색상 표시기를 그릴 수 있습니까? 어디에서 예를 들어야 할까요?


MQL4 문서에는 INDICATOR_COLOR_INDEX가 포함되어 있지만 주제는 전혀 다루지 않습니다. MQL5 - https://www.mql5.com/en/articles/135 에서 예제를 찾았습니다.

성공적으로 컴파일되지만 예상대로 작동하지 않습니다. 예제에 사용된 PlotIndexSetInteger 함수는 성공적으로 컴파일되었지만 MQL4 문서에는 없습니다.


그리고 또 하나의 불일치: MQL4 문서의 ArrayCopy 함수 설명에 비슷한 예가 있으며 PlotIndexSetInteger 함수도 사용합니다.


개발자가 자신의 숲에서 길을 잃은 걸까요, 아니면 제가 이해를 못하는 걸까요?

문서, 코드베이스, 기사 및 포럼에서 얼마나 많은 색상과 많은 버퍼를 찾아볼 수 있습니까? 그리고 구출에 구글!
 
borilunad :
문서, 코드베이스, 기사 및 포럼에서 얼마나 많은 색상과 많은 버퍼를 찾아볼 수 있습니까? 그리고 구출에 구글!

네, 그런 뜻은 아니지만 버퍼가 추가된 표시기는 다음과 같습니다.

 SetIndexBuffer ( 4 ,buffer_color_line, INDICATOR_COLOR_INDEX );
 
Dubovik :

네, 그런 뜻은 아니지만 버퍼가 추가된 표시기는 다음과 같습니다.

네 번째에서는 이 매개변수가 작동하지 않습니다. 버퍼 수, 색상 수
 
이게 µl4에요?!
 
예, MQL4에서. 문서에서 무언가가 적합하고 시작하는 것으로 설명되어 있지만 실제로는 작동하지 않습니다.
 
Dubovik :
예, MQL4에서. 문서에서 무언가가 적합하고 시작하는 것으로 설명되어 있지만 실제로는 작동하지 않습니다.
이상하게도 일반적으로 Dock을 가져오는 데 늦었지만 지금은 그 반대입니다! 그래서 그럴 것이다! 일 때만?!