Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 523

 
Danışmandaki Zarflar göstergesi , danışmanın kendisi, vardiyayı belirlediğim ayarlarda yazdı (-7) Danışman neden Zarflar göstergesinde olumsuz bir kayma ile siparişleri açmıyor ?
 
Vagif Babaev :
Danışmandaki Zarflar göstergesi , danışmanın kendisi, vardiyayı belirlediğim ayarlarda yazdı (-7) Danışman neden Zarflar göstergesinde olumsuz bir kayma ile siparişleri açmıyor ?
iZarflarda, gösterge arabelleğinden alınan değerin dizini vardiyadan az olmamalıdır, yani. son değer 7'den az değildir.
 
demonoid123000 :
Sevgili programcılar. Yardım edebilir misin? Açık siparişlerin sayısını ayarlayarak danışmanlara (gönderiyorum) "eklemek" gerekiyor. Bunun yardımcı olup olmayacağını bilmiyorum .. Açıklamaya çalışacağım, belki bana söyleyebilirsin. Bu baykuşları birkaç çift üzerine koydum ve sadece bir sipariş açıldı. Ve bir çiftte bir emir açıldığında, diğer çiftteki sinyaller göz ardı edilmez. Şimdiden teşekkürler!

bu durumda sorun

 if ( OrderSelect ( 0 , SELECT_BY_POS , MODE_TRADES )== False )

Bu nasıl çalışması gerekir

 //+------------------------------------------------------------------+
//|                                                    Hippo_Buy.mq4 |
//|                                                        ut_Kanada |
//|                                            albertgod1972@mail.ru |
//+------------------------------------------------------------------+
#property copyright "ut_Kanada"
#property link        "albertgod1972@mail.ru"
#property version    "1.00"
#property strict
//===================================================================+
//                          ЗАДАНЫЕ ЗНАЧЕНИЯ                         |
//===================================================================+

extern double Lot= 0.1 ;
extern bool Stop = true ;
extern int SL = 250 ;
extern int TP = 500 ;

extern bool BU= false ;         // Переменная для включения Безубытка.

extern bool Tral = true ;       // Переменная для выключения трала.
extern int putr = 100 ;         // Включение трала при прохождении цены putr пунктов.
extern int TrailingStop = 150 ; // Непосредственно сам трал.

                               //*****************************************************************************************************************
//==================================================================+
//                  Переменные для программы                        |
//==================================================================+

int TekBar = - 1 ;             // Текущий бар.
int Or;                       // Номер ордера.
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
//==================================================================+

int start()
  {

//==================================================================+
//                           Индикаторы                             |
//==================================================================+

   double TA1= NormalizeDouble ( iCustom ( NULL , 0 , "Trendsignal_Alert_Buy" , 3 , 300 , true , true , 0 , 0 , false , 1 , 0 , 1 ), Digits );

//==================================================================+
//                     Условия модификации Ордеров.                 |
//==================================================================+
   if (Tral== true )
     {
       int cnt;
       for (cnt= OrdersTotal (); cnt>= 0 ; cnt--)
        {
         Or= OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES );

         if ( OrderType ()== OP_SELL )
           {
             if ( OrderOpenPrice ()- Ask >=putr* Point )
               if ( OrderStopLoss ()>( Ask + Point *(TrailingStop+ MarketInfo ( Symbol (), MODE_SPREAD ))))
                  Or= OrderModify ( OrderTicket (), OrderOpenPrice (), Ask + Point *TrailingStop, OrderTakeProfit (), 0 , 0 );
           }

         if ( OrderType ()== OP_BUY )
           {
             if ( Bid - OrderOpenPrice ()>=putr* Point )
               if ( OrderStopLoss ()<( Bid - Point *(TrailingStop+ MarketInfo ( Symbol (), MODE_SPREAD ))))
                  Or= OrderModify ( OrderTicket (), OrderOpenPrice (), Bid - Point *TrailingStop, OrderTakeProfit (), 0 , 0 );
           }
        }
     }

//==================================================================+
//                    Условия перевода в Безубыток.                 |
//==================================================================+  

   if (BU== true )
     {
       int cnt;
       for (cnt= OrdersTotal (); cnt>= 0 ; cnt--)
        {
         Or= OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES );

         if ( OrderType ()== OP_SELL && OrderStopLoss ()>= OrderOpenPrice ())
           {
             if ( OrderOpenPrice ()- Ask >=putr* Point )
               if ( OrderStopLoss ()>( Ask + Point *(TrailingStop+ MarketInfo ( Symbol (), MODE_SPREAD ))))
                  Or= OrderModify ( OrderTicket (), OrderOpenPrice (), Ask + Point *TrailingStop, OrderTakeProfit (), 0 , 0 );
           }

         if ( OrderType ()== OP_BUY )
           {
             if ( Bid - OrderOpenPrice ()>=putr* Point && OrderStopLoss ()<= OrderOpenPrice ())
               if ( OrderStopLoss ()<( Bid - Point *(TrailingStop+ MarketInfo ( Symbol (), MODE_SPREAD ))))
                  Or= OrderModify ( OrderTicket (), OrderOpenPrice (), Bid - Point *TrailingStop, OrderTakeProfit (), 0 , 0 );
           }
        }
     }

//==================================================================+    
/*
  int q;                                             
  for(q = 1; q <= Bars; q++)
  {
   double TAq = NormalizeDouble(iCustom(NULL,0,"Trendsignal_Alert_Buy",3,300,true,true,0,0,false,1,0,q),Digits);
   if(TAq != 0)
   {
    Comment("TAq = ",TAq);
    break;
   }
  }*/
//==================================================================+
//                    Условия и Открытие Ордеров.                   |
//==================================================================+

   if (Stop== true )
     {
       if (Total_orders( _Symbol )== 0 )
        {
         if (TekBar== Bars ) return ( 0 );
         TekBar= Bars ;
           {
             if (TA1> High [ 1 ] && TA1!= 0 ) // Условия продажи.
               Or= OrderSend ( Symbol (), OP_SELL ,Lot, Bid , 3 , Bid +SL* Point , Bid -TP* Point , "000" , 0 , 0 ,Tomato);         // Продажа.               

             if (TA1< Low [ 1 ] && TA1!= 0 )
               Or= OrderSend ( Symbol (), OP_BUY ,Lot, Ask , 3 , Ask -SL* Point , Ask +TP* Point , "000" , 0 , 0 ,RoyalBlue);       // Покупка.     ;

           }
        }
     }

   if (Stop== false )
     {
       if (Total_orders( _Symbol )== 0 )
        {
         if (TekBar== Bars ) return ( 0 );
         TekBar= Bars ;
           {
             if (TA1> High [ 1 ] && TA1!= 0 ) // Условия продажи.
               Or= OrderSend ( Symbol (), OP_SELL ,Lot, Bid , 3 , 0 , 0 , "000" , 0 , 0 ,Tomato);         // Продажа.                

             if (TA1< Low [ 1 ] && TA1!= 0 )
               Or= OrderSend ( Symbol (), OP_BUY ,Lot, Ask , 3 , 0 , 0 , "000" , 0 , 0 ,RoyalBlue);       // Покупка.     
           }
        }
     }
//----   
   return ( 0 );
  }
//+------------------------------------------------------------------+
int Total_orders( string symbol
                 //int type
                 )
  {
   int n= 0 ;
   int total= OrdersTotal ();

   for ( int i= 0 ; i<total; i++)
     {
       if ( OrderSelect (i, SELECT_BY_POS ))
        {
         //if(OrderType()!=type)continue;
         //if(OrderMagicNumber()!=Magic)continue;
         if ( OrderSymbol ()!=symbol) continue ;
         n++;
        }
     }
   return (n);
  }
//+------------------------------------------------------------------+
 
angel341 :
göstergeyi n-nokta yukarı veya aşağı kaydırmaya hangi parametrenin veya fonksiyonun yardımcı olacağını söyle?
parametre Kaydırma, pozitif sayı yukarı kaydırma, negatif sayı aşağı kaydırma eklendi.
Dosyalar:
 
Sergey Gritsay :

bu durumda sorun

Bu nasıl çalışması gerekir

Programlama dilini hiç bilmiyorum... Kısaca anlamıyorum. Bu değerleri değiştirebilir misiniz?
 
demonoid123000 :
Programlama dilini hiç bilmiyorum... Kısaca anlamıyorum. Bu değerleri değiştirebilir misiniz?
O zaman bu kodu nereden aldın?
 
Sergey Gritsay :
parametre Kaydırma, pozitif sayı yukarı kaydırma, negatif sayı aşağı kaydırma eklendi.
çok teşekkürler! Hemen test edeceğim!
 

Sergey Gritsay :
добавил параметр Shift, положительное число смещение вверх, отрицательное вниз.

Çok teşekkürler!

 
Sergey Gritsay :

böyle bir şey demek istiyor

Bu işlevin kodunu yürütmek siparişleri siler mi? Kodun başında çağrıldıysa :" if(TimeCurrent()>=D'23:50')close_all();return;" o zaman program daha fazla çalışmaz, yani siparişler açılmıyor, günlük "durdur düğmesine basıldı" diyor. Bu satırı silerseniz, her şey çalışır ve açılır. Lütfen bana neyin yanlış olduğunu söyle? Ayrıntılarda çok az bilgim var, bu yüzden function öğesinin gövdesini kopyaladım.
 
toni_stark :
Bu işlevin kodunu yürütmek siparişleri siler mi? Kodun başında çağrıldıysa :" if(TimeCurrent()>=D'23:50')close_all();return;" o zaman program daha fazla çalışmaz, yani siparişler açılmıyor, günlük "durdur düğmesine basıldı" diyor. Bu satırı silerseniz, her şey çalışır ve açılır. Lütfen bana neyin yanlış olduğunu söyle? Ayrıntılarda çok az bilgim var, bu yüzden function öğesinin gövdesini kopyaladım.
kodunuz stüdyoda lütfen