Robotla kim yardımcı olabilir, neden çalışmıyor? - sayfa 4

 
GIM :

for(int i=0;i<OrdersTotal();i++)

Hata: "i"

Hata nedir?

 //+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict

input double   lots       = 0.01 ;   // Лот
input int      stop_loss      = 10 ; // Указываем в валюте депозита
input int      take_profit    = 20 ; // Указываем в валюте депозита
extern int     Slippage = 3 ;         // Допустимое проскальзываение цены в пунктах
input int      Magic = 16384 ;       // Уникальный номер эксперта

int             last_bar       = 0 ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
// ===== Пересчет под пятизнак =========
   if ( Digits ()== 3 || Digits ()== 5 )
     {
      Slippage           *= 10 ;
     }   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   if (last_bar == Bars ) { return ;}
   last_bar = Bars ;
   if ( OrdersTotal () == 0 ){
           int ticketbuy = OrderSend ( Symbol (), OP_BUY, lots ,Ask, Slippage, 0 , 0 ,   "" , Magic, 0 , clrBlue );
             if (ticketbuy< 0 )
               Print ( Symbol (), " OpenPosition. OrderSend Buy fail #" , GetLastError ());
             else
               Print ( Symbol (), " OpenPosition. OrderSend Buy successfully" );
           int ticketsell = OrderSend ( Symbol (), OP_SELL, lots ,Bid, Slippage, 0 , 0 ,   "" , Magic, 0 , clrRed );
             if (ticketsell< 0 )
               Print ( Symbol (), " OpenPosition. OrderSend Sell fail #" , GetLastError ());
             else
               Print ( Symbol (), " OpenPosition. OrderSend Sell successfully" );      
}
 double profit= 0 ;
   for ( int i= 0 ;i< OrdersTotal ();i++)
     {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()== _Symbol && OrderMagicNumber()== Magic)
        {
         profit+=OrderProfit()+OrderSwap()+OrderCommission();
        }
     }
 int requot= 0 ;
 if (profit>=take_profit || (-profit)>=stop_loss)
   for ( int i= 0 ;i< OrdersTotal ();i++)
     {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()== _Symbol && OrderMagicNumber()== Magic)
        {
         if (OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage, clrRed ))
               requot= 0 ;
             else
              {
               requot++;
              }
         if (requot> 10 )
              {
               i++;
               requot= 0 ;
              }
            i--;
        }
     }
 
  }
//+------------------------------------------------------------------+

 
GIM :
Nasıl anlaşılır, sadece siparişlerinizle ....
yani, bu özel danışmanın açtığı emirlerle veya örneğin, danışmanın birkaç kopyasını 1 hesaba koyarsanız, siparişi hangi danışmanın açtığını karıştırmaz, kimlik numarası kullanılır.
 
 
GIM :
Nasıl anlaşılır, sadece siparişlerinizle ....
Uzman Danışmanın yalnızca hesaptaki kendi siparişleriyle çalışması için doğru yazmak gelenekseldir. Aniden, kendi emirlerini başkalarının emirleriyle karıştırmamaları için çeşitli stratejiler ve uzmanlar planlanır.
 
Sergey Gritsay :
yani, bu özel danışmanın açtığı emirlerle veya örneğin, danışmanın birkaç kopyasını 1 hesaba koyarsanız, siparişi hangi danışmanın açtığını karıştırmaz, kimlik numarası kullanılır.
Her şey açık, kalpten!
 
Vladimir Zubov :

Hata nedir?

Buradaki hata, i değişkeninin ilk for döngüsünde ve ikinci for döngüsünde 2 kez başlatılmış olmasıdır, ya ikincisinde başlatmayı kaldırmanız veya değişken adını başka bir adla değiştirmeniz gerekir.
 
Herkese teşekkürler!
 
Sergey Gritsay :
Buradaki hata, i değişkeninin ilk for döngüsünde ve ikinci for döngüsünde 2 kez başlatılmış olmasıdır, ya ikincisinde başlatmayı kaldırmanız veya değişken adını başka bir adla değiştirmeniz gerekir.
Evet, derleyicinin yemin ettiğini düşündüm.
 
Vladimir Zubov :
Evet, derleyicinin yemin ettiğini düşündüm.
büyük olasılıkla derleyici küfür eder, ancak bir hata değildir, ancak bir uyarı verilmelidir.
 

ama temizlemezsen

 #property strict

sonra hataya yemin eder