Chi può aiutare con il robot, perché non funziona? - pagina 5

 
Sergey Gritsay:
Molto probabilmente, il compilatore sta combattendo, ma dovrebbe dare un avvertimento piuttosto che un errore.
Ho appena compilato il codice di cui sopra e ho allegato uno screenshot, sotto#property strict stranamente non ci sono errori e avvertimenti, ma le variabili non dovrebbero coincidere, a meno che, naturalmente, non sia intelligentemente progettato in quel modo. Non sono entrato nella logica della cosa.
 

Allora è così

//+------------------------------------------------------------------+
//|                                                          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 ii=0;ii<OrdersTotal();ii++)
     {
      if(OrderSelect(ii,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==_Symbol && OrderMagicNumber()== Magic)
        {
         if(OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrRed))
               requot=0;
            else
              {
               requot++;
              }
         if(requot>10)
              {
               ii++;
               requot=0;
              }
            ii--;
        }
     }
 
  }
//+------------------------------------------------------------------+
 
Vladimir Zubov:

Allora è così

Grazie! Cercherò di controllare domani....
 
Vladimir Zubov:

Allora è così

Funziona tramite il tester, ma nessun trade aperto sul conto reale....
 
GIM:
Il tester funziona, ma il conto reale non apre un solo trade....
L'Expert Advisor ha alcune voci nella scheda Expert Advisors, ma in generale penso che l'EA del conto reale sia scritto male.
 
Sergey Gritsay:
L'Expert Advisor ha alcune voci nella scheda Expert Advisors, ma secondo me è scritto male per i soldi veri.
Dove devo sistemarlo per farlo funzionare?
 
GIM:
Dove è necessario aggiustarlo per farlo funzionare?
Dappertutto, non riesco ancora a capire la logica di questo EA come è scritto, si apre in diverse direzioni contemporaneamente, ma il profitto di questi due ordini sarà sempre lo stesso, cambierà solo quando gli swap saranno maturati.
 
Sergey Gritsay:
Si apre in diverse direzioni contemporaneamente, ma il profitto di questi due ordini sarà sempre lo stesso, cambierà solo quando gli swap saranno caricati.
Quando installo l'EA sul grafico, regolo che gli ordini si aprono solo in una direzione, nel trend e su diverse coppie, sia in acquisto che in vendita.
 
GIM:
Quando installo un EA su un grafico, regolo che gli ordini si aprono in una sola direzione, nel trend e su diverse coppie, sia in acquisto che in vendita, quindi ho bisogno di chiudere tutte le operazioni in totale profitto
Capisco, oggi è troppo tardi per me, vi delineerò un'opzione domani.
 
Sergey Gritsay:
Capisco, oggi è troppo tardi per me, ti abbozzerò una versione domani.
Grazie!