Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 800

 

Nakit puanlardan kar transferi yapmak doğru olacak mı?

(OrderProfit()+OrderCommission()+OrderSwap())/OrderLots()*MarketInfo( Symbol (),MODE_TICKVALUE)*(MarketInfo( Symbol (),MODE_POINT)/MarketInfo( Symbol (),MODE_TICKSIZE))
 
Tünaydın! İşlevleri ve nasıl çalıştığını anlamaya yardımcı olun, şimdiden teşekkürler.
 //+----------------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Версия   : 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 :

Neden fonksiyonların yazarı Igor Kim silindi?! Yazara saygısızlıktan dolayı, ancak atıfta bulunarak yayınlamak zorundadırlar!

Ve sorunuzu kendi başlığında yazara yöneltmek daha iyidir! Bir arama veya google ile bulun!

 

Söyle bana, MQL4'te çok renkli göstergeler çizmek mümkün mü? Nereden örnek alınır?


MQL4 belgeleri INDICATOR_COLOR_INDEX içerir, ancak konu hiç ele alınmamıştır. MQL5'te bir örnek bulundu - https://www.mql5.com/en/articles/135 .

Başarıyla derlenir, ancak beklendiği gibi çalışmaz. Örnekte kullanılan PlotIndexSetInteger işlevi , MQL4 belgelerinde eksik olmasına rağmen başarıyla derlendi.


Ve bir tutarsızlık daha: MQL4 belgesinde, ArrayCopy işlevinin açıklamasında benzer bir örnek var ve ayrıca PlotIndexSetInteger işlevini kullanıyor.


Geliştiriciler kendi ormanlarında mı kayboldular yoksa bir şey mi anlamadım?

 
Dubovik :

Söyle bana, MQL4'te çok renkli göstergeler çizmek mümkün mü? Nereden örnek alınır?


MQL4 belgeleri INDICATOR_COLOR_INDEX içerir, ancak konu hiç ele alınmamıştır. MQL5'te bir örnek bulundu - https://www.mql5.com/en/articles/135 .

Başarıyla derlenir, ancak beklendiği gibi çalışmaz. Örnekte kullanılan PlotIndexSetInteger işlevi, MQL4 belgelerinde eksik olmasına rağmen başarıyla derlendi.


Ve bir tutarsızlık daha: MQL4 belgesinde, ArrayCopy işlevinin açıklamasında benzer bir örnek var ve ayrıca PlotIndexSetInteger işlevini kullanıyor.


Geliştiriciler kendi ormanlarında mı kayboldular yoksa ben mi bir şey anlamadım?

Dokümantasyonda, Kod Tabanında, Makalelerde ve Forumda kaç renk, bu kadar çok tampon görünüyor! Ve kurtarmaya Google!
 
borilunad :
Dokümantasyonda, Kod Tabanında, Makalelerde ve Forumda kaç renk, çok fazla arabellek görünüyor! Ve kurtarmaya Google!

Evet, bunu kastetmiyorum, ancak buna benzer bir arabellek eklenmiş göstergeler:

 SetIndexBuffer ( 4 ,buffer_color_line, INDICATOR_COLOR_INDEX );
 
Dubovik :

Evet, bunu kastetmiyorum, ancak bunun gibi bir arabellek eklenmiş göstergeler:

Dördüncüsü, bu parametre çalışmıyor. Kaç tampon, çok renk
 
Bu µl4'te mi?!
 
Evet, MQL4'te. Belgelerde, bir şey uyuyor ve başlıyor olarak açıklanıyor, ancak aslında çalışmıyor.
 
Dubovik :
Evet, MQL4'te. Belgelerde, bir şey uyuyor ve başlıyor olarak açıklanıyor, ancak aslında çalışmıyor.
Garip, genellikle Rıhtımı getirmekte geç kalıyorlar, ama şimdi tam tersi! Yani olacak! Yalnızca?!