Il consigliere è adatto alla vita reale? - pagina 35

 
borilunad:

1) Normalizzare tutte le condizioni e le azioni;


Dovete anche normalizzare il lotto se cambia e/o viene calcolato. Cos'altro è possibile?
 
FOReignEXchange:

1) Bisogna normalizzare gli arresti quando sono calcolati separatamente. Questo è scritto nell'aiuto. Perché normalizzare qualcosa che non ha bisogno di essere normalizzato? Che sia di 150 decimali. Se non influisce su nulla, non c'è bisogno di normalizzarlo. Ecco un codice, per esempio.

Perché dovremmo normalizzare a e b? Non riesco a capirlo. Questo è un esempio semplificato, ovviamente. Ma il punto è che se avete a che fare con la matematica nel vostro codice, perché dovreste normalizzare tutto? Solo i vertici devono essere normalizzati se sono ottenuti come risultato di tale matematica.

2) Ha controllato le condizioni alcune volte. Lo sto controllando ora. Forse mi sono perso qualcosa.

3) Solo 2 errori si verificano nel mio codice. Errore 130 - stop sbagliati e parametri non validi quando si cancella un ordine in sospeso. Tutto è chiaro con il primo e l'ho risolto. Anche i parametri disabilitati per la rimozione degli ordini in sospeso sono chiari.

4) Non abbiamo tempo per aprire posizioni senza SL e TP, perché abbiamo impostato il profitto minimo e potrebbe non essere impostato più tardi, dato che il prezzo si sta muovendo rapidamente. In apparenza, la quarta regola è nata dal fatto che prima non si potevano aprire posizioni con stop utilizzando i terminali BROKO. Ora è possibile. Quindi non vedo il senso di questa regola.


Per come la vedo io, tu lo sai meglio...

Continuare così, compreso l'errore negli stop e la rimozione del pendente, armati fino ai denti con SL e TP, nonostante l'importanza nelle immediate vicinanze del prezzo, e non vedere il punto in tutto il resto!

Il tempo lo dirà e metterà tutto al suo posto!

 
FOReignEXchange:

Dovete anche normalizzare il lotto se cambia e/o viene calcolato. Cos'altro si può fare?

Certo! E tutto ciò che riguarda i calcoli relativi alle norme VC in rapido cambiamento nelle condizioni di mercato.
 
borilunad:


Per come la vedo io, tu lo sai meglio...

Continua il buon lavoro, compreso l'errore negli stop e la rimozione del pendolo, armato fino ai denti con SL e TP, nonostante l'importanza in prossimità del prezzo, e non vedendo il punto in tutto il resto!

Il tempo lo dimostrerà e metterà ogni cosa al suo posto!


L'importante è che il codice nella vita reale funzioni e funzioni senza problemi. Tutto il resto non è importante.

Guasto FERMO a causa dell'obsolescenza dei prezzi. Errore 130. Provando di nuovo si risolve tutto. Non c'è nessun problema con questo. Non ci sono più errori nel registro.

Dobbiamo solo capire perché le condizioni per la cancellazione degli ordini non sono soddisfatte e questo è tutto. La domanda annunciata nel titolo dell'argomento sarà risolta.

 

FOReignEXchange:

La domanda annunciata nel titolo del topic sarebbe finita.

Significherebbe anche un aumento del deposito, lo stesso del tester)

Beh, non crederei che ci sia un tale punto sul grafico, dove si potrebbe tranquillamente impostare un take 11 e uno stop 15 e sapere che andrà al take)

Non una scimmia, non un armadietto, si aprono singole posizioni, come ho capito.

Non esiste una regola simile, soprattutto quando si entra all'apertura di una candela. Questa è fantasia e finzione. Il prezzo non deve niente a nessuno. Non va né indietro dove abbiamo pianificato, né avanti, perché abbiamo deciso di farlo. Non importa quale super-indicatore ce lo mostri.

 
FOReignEXchange:


La cosa principale è che il codice dovrebbe funzionare nella vita reale e funzionare senza problemi. Tutto il resto non è importante.

Errore REALE FERMI a causa dell'obsolescenza dei prezzi. Errore 130. Provando di nuovo si risolve tutto. Non c'è nessun problema con questo. Non ci sono più errori nel registro.

Dobbiamo solo capire perché le condizioni per la cancellazione degli ordini non sono soddisfatte e questo è tutto. La domanda annunciata nel titolo del thread sarà finita.


Scusate, un altro chiarimento! Tutti i parametri che cambiano dovrebbero essere aggiornati da MarketInfo() all'inizio.

E lo slittamento deve essere almeno 20 su 5 cifre(errore 130).

Nel tester non vengono cambiati né loro né altri, quindi il minimo di cui mi fido sono gli splendidi risultati dei test.

 
borilunad:


Scusate, un altro chiarimento! Tutti i parametri DC che cambiano dovrebbero essere aggiornati da MarketInfo() all'inizio.

Nel tester, né loro né altri sono cambiati, quindi mi fido meno dei bei risultati dei test.


Quali parametri? Solo Bid e Ask dovrebbero essere cambiati, e questo è tutto. Anche MODEFREEZELEVEL è l'unica cosa utile che ho sentito oggi. Grazie ancora.

Quali altri parametri DC possono cambiare? Una variazione minima del prezzo, o

Livello minimo di stop loss/stack profit in pip
o
Numero di cifre dopo il punto decimale nel prezzo del simbolo
o
Dimensione del pip nella valuta di quotazione

Lo spread può variare, anche se non l'ho mai notato sull'Euro. Che effetto avrà? Nelle mie condizioni può influire solo sulla possibilità di piazzare un ordine pendente. Se

OrderOpenPrice()=Bid+MODE_SPREAD)= inferiore alla distanza accettabile, l'ordine non verrà aperto. Ne sono consapevole. Ma non abbiamo mai avuto questi errori.

 
FOReignEXchange:


Quali parametri? Solo Bid e Ask dovrebbero essere cambiati, tutto qui. Anche MODEFREEZELEVEL è l'unica cosa utile che ho sentito oggi. Grazie ancora.

Quali altri parametri può cambiare il DC? È un passo minimo di cambiamento di prezzo o

Livello minimo consentito di stop loss/stake profit in pip
o
Numero di cifre dopo il punto decimale nel prezzo dello strumento
o
Dimensione di un pip nella valuta di quotazione

Lo spread può variare, anche se non l'ho mai notato sull'Euro. Che effetto avrà? Nelle mie condizioni può influire solo sulla possibilità di piazzare un ordine pendente. Se

OrderOpenPrice()=Bid+MODE_SPREAD)= inferiore alla distanza accettabile, l'ordine non verrà aperto. Ne sono consapevole. Ma non abbiamo mai avuto questi errori.


Vedi: https://docs.mql4.com/ru/constants/marketinfo a partire da Bid al tuo FritzLevel "utile", aumentando in tempi di estrema volatilità. Anche StopLevel ecc.

Bid+Spread=Ask Quindi, è meglio usare subito Ask in questo caso, ovviamente, se anche Ask viene provato da MarketInfo() all'inizio dell'avvio.

 

Scusa, devo andare via per un po'!

Ho, per esempio, all'inizio e dopo aver raffinato il lotto, secondo la MM:

  RefreshRates();
  ASK = NormalizeDouble(MarketInfo(Symbol(),MODE_ASK),Digits);
  BID = NormalizeDouble(MarketInfo(Symbol(),MODE_BID),Digits);
  double spread = NormalizeDouble(ASK-BID,Digits);
  StopLevel = NormalizeDouble(MarketInfo(Symbol(),MODE_STOPLEVEL),Digits);
  double step = NormalizeDouble(Step*Point,Digits);
  if(step < StopLevel) step = StopLevel;
E poi tutto il resto...
 

Su questo codice ho messo il seguente

if (//Условие//)
   {
   if (OrderSelect(ticket_sell,SELECT_BY_TICKET)==true)
      if (OrderType()==OP_SELLSTOP) 
         {
         Print ("Заморозка: ",MarketInfo (Symbol(), MODE_FREEZELEVEL),", Bid: ",Bid,", Open=",OrderOpenPrice());
         if (Bid<=(OrderOpenPrice()+4*Point)) 
            {
            Comment ("1");                         
            i=0;
            while (i<10)
               {
               if (i>0) Sleep(500);      
               RefreshRates(); OrderDelete(ticket_sell); 
               err=GetLastError();
               if (err==0)
                  {
                  ticket_sell=0; return;
                  }
               i++;
               }
            }
         }
   }

18:34:14 $505,000 EURUSD,M1: Freeze: 0, Bid: 1.3436, Open=1.3436
18:34:14 505 000 $ EURUSD,M1: ordine a mercato #26398219 non può essere cancellato
18:34:14 505 000 $ EURUSD,M1: ordine a mercato #26398219 non può essere cancellato
18:34:15 505 000 $ EURUSD,M1: ordine di mercato #26398219 non può essere cancellato
18:34:15 505 000 $ EURUSD,M1: ordine di mercato #26398219 non può essere cancellato
18:34:16 505 000 $ EURUSD,M1: ordine di mercato #26398219 non può essere cancellato
1834:16 505 000 $ EURUSD,M1: ordine sul mercato #26398219 non può essere cancellato
18:34:17 505 000 $ EURUSD,M1: ordine sul mercato #26398219 non può essere cancellato
18:34:17 505 000 $ EURUSD,M1: ordine sul mercato #26398219 non può essere cancellato
18:34:18 505 000 $ EURUSD,M1: ordine sul mercato #26398219 non può essere cancellato
18:34:19 505 000 $ EURUSD,M1: ordine sul mercato #26398219 non può essere cancellato

Ha fallito 10 volte. Tante volte quanto l'i-ciclo. In questo caso, semplicemente non ha avuto il tempo di cancellare, perché il prezzo Bid era già uguale al prezzo di apertura dell' ordine. Questa è la prima volta che ho notato un caso simile. Cercherò di trovarne un altro. Questo ha funzionato sul lato positivo. La deviazione dal segnale di frazioni di secondo non è orribile. Credo che ci sia un altro caso, lo aspetterò. Ci sono momenti in cui non c'è reazione per 10-15 secondi.

Motivazione: