MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 799

 
Artyom Trishkin :
Tamponlarda çöp. İlk önce, çizilen tüm arabelleklere (ok arabellekleriyse) boş bir değer girmeniz ve ancak o zaman göstergenin hesaplamasını yapmanız gerekir. Kodu cep telefonumda göremediğim için kesin bir şey söyleyemem.

Yani, önce ArrayInitialize mi?

 
Roman Sharanov :

Yani, önce ArrayInitialize mi?

Zaten orada.
Gösterge döngüsünde, döngü indeksi ile tampon hücresindeki tampona "boş değer" değeri atamanız gerekir.
 
Artyom Trishkin :
Zaten orada.
Gösterge döngüsünde, döngü indeksi ile tampon hücresindeki tampona "boş değer" değeri atamanız gerekir.

tamam teşekkürler

 
Artyom Trishkin :

Evet. Çalışma örneği:

Teşekkürler, bilginin kaynağına gideceğim :-)


tampona "boş değer" değeri atamanız gerekir.


Her dizinin açıkça sıfıra ayarlanması gerekiyor mu?

Bu çöp, PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0) aracılığıyla halledilebilir mi?

 
psyman :

Teşekkürler, bilginin kaynağına gideceğim :-)



Her dizinin açıkça sıfıra ayarlanması gerekiyor mu?

Bu çöp, PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0) aracılığıyla halledilebilir mi?

İmleci düzenleyicideki işlevin adının üzerine getirin ve F1'e basın, bir mucize görünecektir.
 
Robotu indirdim, bu hata neye bağlanabilir?
Botu yükleyen herkes için her şey çalışıyor, bende buna benzer bir tane var. Terminali yeniden kurdum, yönetici olarak açtım, hiçbir şey yardımcı olmuyor

 
Derleme sırasında herhangi bir hata veya uyarı yoktur. Doğru, pozisyon açmıyor (alış pozisyonunda sadece 1 pozisyon açtı ve alımla kapattı).

Sorun nedir henüz bilmiyorum.

 //+------------------------------------------------------------------+
//|                                    Test advisor on iDeMarker.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                         https:/goga342@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
//------------------параметры советника -------------------------------
extern double lots= 0.01 ; //
extern int Magic= 1111678111 ;
extern int Slippage= 1 ;
//double sell_level=0.7;
//double buy_level=0.3;

extern double StopLoss= 50 ;
extern double TakeProfit= 50 ;
extern double TrailingStop= 30 ;
double SL,TP;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   if ( Digits == 3 || Digits == 5 )
     {
      TakeProfit *= 10 ;
      StopLoss   *= 10 ;
      Slippage   *= 10 ;
     }
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {
   int ticket;
// int cnt,total;

// открытие продаж

   if (CountSell()== 0 && iCustom ( NULL , 0 , "ZigZag_Rosh" , 12 , 5 , 3 , 1 , 0 )==Low[ 0 ] && iCustom ( NULL , 0 , "ZigZag_Rosh" , 48 , 20 , 12 , 1 , 0 )==Low[ 0 ])
     {
      SL = NormalizeDouble (Bid+StopLoss* Point , Digits );
      TP = NormalizeDouble (Bid-TakeProfit* Point , Digits );
        {

         ticket= OrderSend ( Symbol (),OP_SELL,lots,Bid, 3 , 0 ,Bid-TakeProfit* Point , "macd sample" , 16384 , 0 ,Red);
         if (ticket> 0 )
           {
             // закрытие продаж
             if (CountSell()> 0 && iCustom ( NULL , 0 , "ZigZag_Rosh" , 12 , 5 , 3 , 0 , 1 )==High[ 0 ] && iCustom ( NULL , 0 , "ZigZag_Rosh" , 48 , 20 , 12 , 0 , 1 )==High[ 0 ])
              {
               for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
                 {
                   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== true )
                    {
                     if (OrderMagicNumber()==Magic && OrderType()==OP_SELL)
                         if (OrderClose(OrderTicket(),OrderLots(),Ask,Slippage, clrNONE ))
                           Print ( "Ошибка открытия ордера на покупку !" );
                    }
                 }
              }
           }
        }
     }
// открытие покупок

   if (CountBuy()== 0 && iCustom ( NULL , 0 , "ZigZag_Rosh" , 12 , 5 , 3 , 0 , 1 )==High[ 0 ] && iCustom ( NULL , 0 , "ZigZag_Rosh" , 48 , 20 , 12 , 0 , 1 )==High[ 0 ])
     {
      TP = NormalizeDouble (Ask+TakeProfit* Point , Digits );
      SL = NormalizeDouble (Ask-StopLoss* Point , Digits );
        {
         ticket= OrderSend ( Symbol (),OP_BUY,lots,Ask, 3 , 0 ,Ask+TakeProfit* Point , "macd sample" , 16384 , 0 ,Green);
         if (ticket> 0 )
           {
             // закрытие покупок    
             if (CountBuy()> 0 && iCustom ( NULL , 0 , "ZigZag_Rosh" , 12 , 5 , 3 , 1 , 0 )==Low[ 0 ] && iCustom ( NULL , 0 , "ZigZag_Rosh" , 48 , 20 , 12 , 1 , 0 )==Low[ 0 ])
              {
               for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--)
                 {
                   if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== true )
                    {
                     if (OrderMagicNumber()==Magic && OrderType()==OP_BUY)
                         if (!OrderClose(OrderTicket(),OrderLots(),Bid,Slippage, clrNONE ))
                           Print ( "Ошибка открытия ордера на продажу!" );
                    }
                 }
              }
           }
        }
     }
   return ( 0 );
  }
//+------------------------------------------------------------------+
int CountSell() //проверкна открытие ордеров на продажу
  {
   int count= 0 ;

   for ( int trade= OrdersTotal ()- 1 ; trade>= 0 ; trade--)
     {
       if ( OrderSelect (trade,SELECT_BY_POS,MODE_TRADES)== true )
        {
         if (OrderSymbol()== Symbol () && OrderMagicNumber()==Magic && OrderType()==OP_SELL)
           {
             if (OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return (count);
  }
//+------------------------------------------------------------------+
int CountBuy() // проверкна открытие ордеров на покупку
  {
   int count= 0 ;
   for ( int trade= OrdersTotal ()- 1 ; trade>= 0 ; trade--)
     {
       if ( OrderSelect (trade,SELECT_BY_POS,MODE_TRADES)== true )
        {
         if (OrderSymbol()== Symbol () && OrderMagicNumber()==Magic && OrderType()==OP_BUY)
           {
             if (OrderType()==OP_BUY)
               count++;
           }
        }
     }
   return (count);
  }
//+------------------------------------------------------------------+
 
Roman Sharanov :
Robotu indirdim, bu hata neye bağlanabilir?
Botu yükleyen herkes için her şey çalışıyor, bende buna benzer bir tane var. Terminali yeniden kurdum, yönetici olarak açtım, hiçbir şey yardımcı olmuyor

Yalnızca işletim sistemini yeniden yüklemek veya değiştirmek için kalır ... ne olduğunu biliyorsunuz.




Doğru düşünmedin. danışman demek istedim

 
Alexey Viktorov :

Yalnızca işletim sistemini yeniden yüklemek veya değiştirmek için kalır ... ne olduğunu biliyorsunuz.




Doğru düşünmedin. danışman demek istedim

Sebebi ne?
 
Roman Sharanov :
Sebebi ne?

Böyle durumlarda anlamaya çalışmıyorum, düzeltmeye de çalışmıyorum. Her zaman pişmanlık duymadan atıp unuturum.