Valanga - pagina 466

 
E questo è un vero centro insta non capisco perché il mio lotto dopo 6,40 era 102,40 di notte ho dimenticato di spegnere l'EA al mattino è stato perso
 
baykanur:
E questo è un vero insta-center non capisco perché il mio lotto dopo 6,40 era 102,40 di notte ho dimenticato di spegnere l'EA al mattino drenato
Bisogna guardare il codice per scoprire il motivo.
 
baykanur:
E questo è un vero centro insta non capisco perché ho un sacco dopo 6,40 era 102,40 durante la notte dimenticato di spegnere l'EA al mattino prugna

Ho un brutto presentimento. Puoi mettere un limite di tempo al commercio nel codice. Si può mettere un limite al tempo di trading che non sarebbe un tale crash. Questo è il più facile, secondo me. Una linea di condizioni + extern int, anche solo per ore per fare la restrizione.
 
Cmu4:

È un peccato. Puoi mettere un limite di tempo al commercio nel codice. Si può mettere un limite di tempo nel codice in modo che non ci siano queste crepe. Questo è il più facile, secondo me. Una linea della condizione + extern int, se solo per ore facciamo la limitazione.


C'è un errore nell'algoritmo (nel codice) che calcola il prossimo lotto. Cosa c'entra il limite di tempo - potrebbe apparire in qualsiasi momento... Non so come sia - nella mia versione di Avalanche - dopo aver ottimizzato i parametri - in base al tempo si è scoperto che la "partenza" - a ore 0, "fine" - a ore 23, cioè, lavorare intorno all'orologio ... E in effetti, ci sono movimenti interessanti su Eurobucks durante la notte... e l'appartamento può anche andare su e giù durante il giorno... è necessario un approccio diverso... (vedi post sopra)... Penso che la limitazione (in questo caso (con Avalanche)) del lavoro del gufo in base al tempo sia inappropriata... IMHO, naturalmente.

P.S. Nello screenshot qui sopra dopo 6,4 il volume dovrebbe essere 12,8, non 102,4 lotti... - Questo è un errore nel programma.

 
Cmu4:

È un peccato. Puoi mettere un limite di tempo di trading nel tuo codice. Questo non permetterebbe tali problemi. Questo è il più facile, secondo me. Una linea di condizioni + extern int, anche solo per ore per fare la restrizione.

Per me funziona meglio con avalanche 7 ma con diverse società di brokeraggio è completamente diverso se hanno ritardi di esecuzione come insta inizia a funzionare male anche con gli stessi corridoi e con risultati diversi

Ho una buona giornata di lavoro alla nord, funziona come un orologio

 
baykanur:

Non so perché dovrei farequalcosa con la restrizione, altrimenti il mio deposito sarà rovinato...

"L'avalanche 7 è il modo migliore per me di usare l'avalanche e non capisco perché ho perso molto dopo le 6.40 ma ho dimenticato di spegnere l'EA al mattino..." Se stai usando i dati "iniziali", questo aumento del volume del prossimo ordine e la limitazione del lavoro in base al tempo - sono cose non correlate tra loro in alcun modo...

Avalanche 7 - è questa l'opzione che hai in mente?

//+------------------------------------------------------------------+
//|                                                  avalanche 7.mq4 |
//|                                                 George Tischenko |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "George Tischenko"

extern bool Monitor=true; //в тестере при выключенной визуализации отключать (тормозит)
extern int Distance=25,   //расстояние в пунктах от цены до первого открытия позиции
           MinProfit=5,   //минимальный профит в пунктах, если открытых ордеров более 1
           Slippage=3;
extern double Lot=0.1;

int Trade=0;
double BLot,StartPrice;              
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
  StartPrice=Bid;
  BLot=MarketInfo(Symbol(),15);      // MODE_LOTSIZE размер контракта в базовой валюте инструмента
//----
  if(Monitor==true)
    {
    int a,y;
    for(a=0,y=5;a<=3;a++)
      {
      string N=DoubleToStr(a,0);
  
      ObjectCreate(N,OBJ_LABEL,0,0,0,0,0);
      ObjectSet(N,OBJPROP_CORNER,3);
      ObjectSet(N,OBJPROP_XDISTANCE,5);
      ObjectSet(N,OBJPROP_YDISTANCE,y);
      y+=20;
      }  
    }
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
  if(Monitor==true)
    {
    for(int a=0;a<=3;a++)
      {
      string N=DoubleToStr(a,0);
      ObjectDelete(N);
      } 
    }
//----
  return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int i;
//---- 
  if(OrdersTotal()==0)
    {
    RefreshRates();
    if((Ask-StartPrice>=Distance*Point && Trade==0) || Trade==1) 
      {
      OrderSend(Symbol(),OP_BUY,Lot,Ask,Slippage,0,0,"",1307,0,Blue);
      }
    if((StartPrice-Bid>=Distance*Point && Trade==0) || Trade==-1)  
      {
      OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,0,0,"",1307,0,Red);
      }
    }
  else //OrdersTotal()>0
    {//узнаем размер максимального лота, тип и цену открытия последнего активного ордера
    double lots=0, Type=-1, OpenPrice=0;
    for(i=0;i<OrdersTotal();i++)
      {//самый последний ордер имеет самый большой объем
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
        {
        if(OrderSymbol()==Symbol())
          {
          if(lots<OrderLots())
            {
            lots=OrderLots();
            Type=OrderType();
            OpenPrice=OrderOpenPrice();
            }
          }
        }
      }
      
     //возможно, ордера надо закрыть - проверим это:
    int C=0; //флаг закрытия всех позиций
    if(OrdersTotal()==1) //ЭТО ДЛЯ ПАР ТИПА XXX/USD
      {
      if(AccountProfit()>=BLot*Lot*Point*Distance) 
        {
        switch(Type)
          {
          case 0 : Trade=1; break;
          case 1 : Trade=-1;
          }
        C=1;
        }
      }
    else //OrdersTotal()>1
      {//лишь бы без убытка...
      if(AccountProfit()>=BLot*Lot*Point*MinProfit)
        {
        switch(Type)
          {
          case 0 : Trade=1; break;
          case 1 : Trade=-1;
          }
        C=1;
        }
      }
     
    switch(C)
      {
      case 0 : //закрываться рановато...
        {
        lots*=2; //опять Мартин :-(
        RefreshRates();
        switch(Type)
          {
          case 0 :
            {
            if(OpenPrice-Bid>=Point*Distance*2) 
              {if(OrderSend(Symbol(),OP_SELL,lots,Bid,Slippage,0,0,"",1307,0,Red)>0) return(0);}
            break;
            }
          case 1 :
            {
            if(Ask-OpenPrice>=Point*Distance*2)
              {if(OrderSend(Symbol(),OP_BUY,lots,Ask,Slippage,0,0,"",1307,0,Blue)>0) return(0);}
            }
          }
        break;
        }
      case 1 : //закрываем все позиции
        {
        while(OrdersTotal()>0)
          {
          int ticket_buy=0,  //тикет ордера BUY (не может быть=0)
              ticket_sell=0; //тикет ордера SELL (не может быть=0)
          for(i=0;i<OrdersTotal();i++)
            {
            if(OrderSelect(i,SELECT_BY_POS)==true)
              {
              if(OrderSymbol()==Symbol())
                {
                switch(OrderType())
                  {
                  case 0 : ticket_buy=OrderTicket(); break;
                  case 1 : ticket_sell=OrderTicket();
                  }
                }
              }
            }
          //проверка тикетов на некорректность:  
          bool OCB=ticket_buy>0 && ticket_sell>0;
          if(OCB) OrderCloseBy(ticket_buy,ticket_sell,White); // Цикл закрытия
          else
            {//закрываем оставшиеся одиночные ордера
            for(i=0;i<OrdersTotal();i++) //если total==0, цикл просто не сработает
              {//закрываем оставшиеся ордера
              if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                {
                if(OrderSymbol()==Symbol())
                  {
                  RefreshRates();
                  switch(OrderType())
                    {
                    case 0 : 
                      {
                      while(!OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,White)) 
                        {
                        Sleep(10000);
                        RefreshRates();
                        } 
                      break;
                      }
                    case 1 : 
                      {
                      while(!OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,White)) 
                        {
                        Sleep(10000);
                        RefreshRates();
                        } 
                      }
                    }
                  }
                }
              }
            }
          }//end while 
        }
      }
    } 
//==== БЛОК МОНИТОРИНГА
  if(Monitor==true)
    {
    string str="Balance: "+DoubleToStr(AccountBalance(),2)+" $";
    ObjectSetText("0",str,10,"Arial Black",White);
    
    str="Profit: "+DoubleToStr(AccountProfit(),2)+" $";
    ObjectSetText("1",str,10,"Arial Black",Silver);
    
    str="Free Margine: "+DoubleToStr(AccountFreeMargin(),2)+" $";
    ObjectSetText("2",str,10,"Arial Black",Yellow);
    
    str="OrdersTotal: "+DoubleToStr(OrdersTotal(),0);
    ObjectSetText("3",str,10,"Arial Black",Aqua);
    }
//----
  return(0);
  }
//+------------------------------------------------------------------+

 
baykanur:

il mio avalanche 7 funziona meglio...

Questa opzione?

 
Roman.:

"E questo è un vero e proprio insta cent non capisco perché il mio lotto dopo 6,40 era 102,40 di notte ho dimenticato di spegnere l'Expert Advisor al mattino sprecato" - sulla base di "iniziale" i dati "tale " aumento del volume di un altro ordine e limitando il lavoro del gufo da tempo - sono cose non correlate tra loro in alcun modo ...

Avalanche 7 - è questa la variante a cui si riferisce?

Per me è 5 e il timeframe è m1 .

Penso che non abbia nulla a che fare con il limite di tempo - dovrebbe essere trovato dal lotto anche se non sono sicuro che DT non abbia nulla a che fare con esso perché ha funzionato su altri account

conti e sono raddoppiati in una settimana

Ecco il resoconto della serata

 

Che tema! Lavaggio del cervello.

Salve a tutti.

 
baykanur:

Sì, questa variante è l'unica differenza nella distanza a me è ora 5 e il periodo di m1 e gli errori appaiono nell'esecuzione ritardata di DT e a spese del limite di tempo

Penso che non abbia nulla a che fare con il limite di tempo - è il momento di trovare un errore nel lotto anche se non sono sicuro che non abbia nulla a che fare con i concessionari.

conti e sono raddoppiati in una settimana

Ecco il resoconto della serata


Ho avuto un caso simile. La casa di intermediazione si è aperta molto più grande del massimo. Non faccio più trading su quella casa di intermediazione.

Non credo che abbiamo trovato l'errore nel programma, anche se ho un'idea di cosa c'era di sbagliato (gli ordini sono stati ricalcolati diverse volte a causa di ritardi e il lotto è cresciuto troppo) - la compagnia di intermediazione era avida di soldi.

Motivazione: