Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 474

 

Aiuto con consigli. Sulla vecchia versione del terminale il mio array di prezzi dell'ultimo tick funzionava, ma sulla nuova build 609 non lo fa più.

La domanda è come memorizzare gli ultimi, diciamo, 20 tick di prezzo nell'array?

 
polundra:

Aiuto con consigli. Sulla vecchia versione del terminale il mio array di prezzi dell'ultimo tick funzionava, ma sulla nuova build 609 non lo fa più.

La domanda è come memorizzare gli ultimi, diciamo, 20 tick di prezzo nell'array?

L'ho fatto una volta su richiesta di un amico (indicatore). Il principio può essere compreso.
File:
tickcount.mq4  3 kb
 
TarasBY:
Una volta, l'ho abbozzato su richiesta di un compagno (indicatore). Il principio può essere compreso.
Grazie, ci darò un'occhiata.
 

Se sapete come mettere la funzione martingala nel codice (per esempio questo), per favore consigliate. Dovrebbe essere abilitato su un trade perdente e dopo uno redditizio dovrebbe tornare alle impostazioni del lotto.



//+------------------------------------------------------------------+
//|                                                                  |    
//+------------------------------------------------------------------+
             //внешние переменные
extern int x = 5;
extern int y = 19;             
extern double TakeProfit = 300;
extern double stoploss = 300;
extern double Lots = 0.1;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   double MA1, MA2;
   int cnt, ticket, total;
   MA1=iMA(NULL,0,x,0,MODE_SMA,PRICE_CLOSE,0);
   MA2=iMA(NULL,0,y,0,MODE_SMA,PRICE_CLOSE,0);
   total=OrdersTotal();
   if(total<1)//проверка количества ордеров 
     {
      // проверка свободных средств
      if(AccountFreeMargin()<(1000*Lots))//количество свободных средств
        {
         Print("Недостаточно средств = ", AccountFreeMargin());
         return(0);  
        }
      // открытие длинной позиции
      if(MA1>MA2)
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-stoploss*Point,Ask+TakeProfit*Point,"-",0,0,Blue);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("открыта позиция BUY : ",OrderOpenPrice());
           }
         else Print("Ошибка при открытии BUY позиции : ",GetLastError()); 
         return(0);
        }
      // открытие короткой позиции
      if(MA1<MA2)
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+stoploss*Point,Bid-TakeProfit*Point,"-",0,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("открыта позиция SELL : ",OrderOpenPrice());
           }
         else Print("Ошибка при открытии SELL позиции : ",GetLastError()); 
         return(0); 
        }
      return(0);
     }
   }
 
vasabu2012:
Domanda a persone esperte - il problema è sorto recentemente: sul segnale UPU alla posta ha cessato di venire, prima tutto andava bene, ora nel log del terminale scrive durante il test: è stato sant, ma la posta non viene nulla. UPU riavviato, terminale, anche, nessun risultato.quale può essere il problema?

stesso problema.
 
Buona sera admins, c'è molto materiale, non c'è una sistematizzazione delle domande, quindi forse la risposta era già lì. La nuova build duplica le directory di cartelle e file nella cartella roaming, è terribilmente scomodo lavorare con le directory parallele, consigliate come evitare questo problema, risolvere o disabilitare questo roaming, ecc. Win 7 (32)
 
SergMich:
Buona sera, Admins, il materiale è molto complesso, le domande non sono sistematizzate, quindi forse la risposta è già stata data. La nuova build duplica le cartelle e i file nella cartella roaming, è terribilmente scomodo lavorare con le directory parallele, suggerisci come evitare questo problema, risolverlo o disabilitare il roaming e così via? Win 7 (32)

Si sta duplicando? Ti "sposta" lì insieme a tutte le tue valigie.

Se volete continuare a lavorare nella directory locale, usate il tasto /portable nella scorciatoia del terminale e nell'editor. Questo creerà la cartella MQL4 e le directory familiari in essa.

 
artmedia70:

Si sta duplicando? Ti "sposta" lì insieme a tutte le tue valigie.

Se vuoi continuare a lavorare nella directory locale, usa l'interruttore /portable nella scorciatoia del terminale e nell'editor



OK, come funziona questo interruttore?
 
SergMich:

OK, come si lancia questa chiave?
Sai cos'è una scorciatoia?
 
artmedia70:
Sai cos'è un'etichetta?

Sì, i prossimi passi