Scriverò un EA gratuitamente - pagina 167

 
Yuriy Bykov #:

No, è una forma diversa di scrivere il numero 10000000000, quindi non devi scriverlo in quel modo

double minOpenPriceBuy = 10000000000;

...

Capito. e fino a un certo punto.
 
Yuriy Bykov #:

No, è una forma diversa di scrivere il numero 10000000000, quindi non devi scriverlo in quel modo

double minOpenPriceBuy = 10000000000;

...

Grazie mille, è bello essere intelligenti! Se non vi dispiace, dato che sto testando la strategia, posso condividere sfumature o idee, dove forse qualcosa deve essere aggiunto o modificato, SE VOI siete interessati. O qui o di persona...
 
Domande di questo tipo dovrebbero essere postate in questo thread - ci sono più possibilità di modificare il testo dei messaggi sul forum che nei messaggi privati. E più persone potranno rispondere.
 
Yuriy Bykov #:
Domande del genere, scrivi meglio in questo thread - ci sono più possibilità di modificare il testo dei messaggi sul forum che nei messaggi privati. E più persone avranno la possibilità di rispondere.

Se è possibile fare quanto segue in questo EA: - l'EA commercia, ha un profitto e ha sempre un meno corrente. Non appena il minus corrente è inferiore al profitto, per esempio, nel seguente rapporto: 150% profitto, 100% minus (o diciamo, chiaramente il profitto guadagnato 300 valuta del deposito, e il minus corrente 200 valuta del deposito), allora tutto è chiuso (tutti gli ordini e le operazioni). Chiaramente l'insieme dei commerci ha bisogno di tempo per chiudere tutto il set, è probabilmente un minuto, quindi fino a quando tutto non è chiuso, naturalmente, nulla di nuovo non dovrebbe aprire. Per andare sul sicuro, dopo aver chiuso tutti gli affari in sospeso e quelli in corso, lasciate aspettare un altro minuto e non aprite nulla. Poi inizia la prossima "corsa". Si pone la domanda, da quale importo di profitto contare questo rapporto 1:1.5 (a proposito questo rapporto dovrebbe essere variabile nelle impostazioni), che cosa sarebbe chiudere tutto? - Non lo so, mi sembra che appena otteniamo un tale rapporto, allora possiamo agire. Che te ne pare?

 

Ecco un esempio di codice che può chiudere tutti gli ordini aperti dall'EA.

La funzione TryCloseAll() cerca di chiudere tutti gli ordini, ma per essere sicuri, deve essere usata in un ciclo, che verrà eseguito finché non restituisce True.

Un esempio di tale ciclo è nella funzione OnDeinit() chiamata quando l'EA viene rimosso dal grafico.

//+------------------------------------------------------------------+
//| Закрыть все рыночные и отложенные ордера                         |
//| на текущем символе с нужными магическими номерами                |
//+------------------------------------------------------------------+
bool TryCloseAll() {
   bool res = true;
   for(int i = OrdersTotal(); i >= 0; i--) {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
         if(OrderSymbol() != Symbol()) {
            continue;
         }
         int magic = OrderMagicNumber();
         if((magic == MagicBuy || magic == MagicSell)) {
            int type = OrderType();
            int ticket = OrderTicket();
            if((type > 1)) {
               Print("Close pending order #", ticket);
               res &= OrderDelete(ticket);
               if(!res) {
                  Print ("Error closing pending order ", ticket, ": ", GetLastError());
               }
            } else {
               double price = (type == OP_BUY ? Bid : Ask);
               Print("Close market order #", ticket);
               res &= OrderClose(ticket, OrderLots(), price, 1000);
               if(!res) {
                  Print ("Error closing pending order ", ticket, ": ", GetLastError());
               }
            }
         }
      }
   }

   return res;
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
   bool res = false;
   Print("Start closing all orders");
   while(!res && !IsStopped()) {
      res = TryCloseAll();
   }
}
//+------------------------------------------------------------------+

Qui c'è un martello, e puoi decidere da solo dove e quando piantare i chiodi con esso )

File:
Pending.mq4  13 kb
 
Yuriy Bykov #:

Ecco un esempio di codice che può chiudere tutti gli ordini aperti dall'EA.

La funzione TryCloseAll() cerca di chiudere tutti gli ordini, ma per essere sicuri, deve essere usata in un ciclo, che verrà eseguito finché non restituisce True.

Un esempio di tale ciclo è nella funzione OnDeinit() chiamata quando l'EA viene rimosso dal grafico.

Qui hai un martello, decidi da solo dove e quando martellare).

Grazie

 

Ciao a tutti, aiutatemi a scrivere un robot forex per mt5. dal momento che non posso pagare il servizio su mql5 a causa del divieto di sanzioni.

 
Tipo . Bisogno di un programmatore che promuova e venda un induttore MQL 5. non disegna. Funziona su tutte le coppie. Percentuale di ricompensa delle vendite Percentuale delle vendite dell'indyuk.
 
Roman251117 #:
Tipo . Serve un programmatore che promuova e venda un MQL 5. non disegna. Funziona su tutte le coppie. Percentuale di ricompensa sulle vendite e interessi sulla vendita di un indyuk.

Un programmatore programma - un programmatore.

Un venditore vende; un promotore promuove.

 
Anton Yakovlev:
Se hai una buona strategia e sei disposto a condividerla, posso scrivere un advisor.
Ehi Anton puoi aiutarmi a rendere il mio On Balance Volume Divergence EA più costantemente redditizio? Forse cambiare alcune cose nel codice o aggiungere alcune caratteristiche e renderlo migliore per favore. il codice è completamente funzionante ma non sono soddisfatto dei risultati che sto ottenendo da esso