[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 218

 
ViktorF:

Quando l'EA è in esecuzione, questi errori saltano fuori:

Ci sono stati momenti in cui gli ordini non si sono chiusi o non si sono aperti in certi punti.

In che misura i fallimenti di chiusura/apertura sono legati a questi errori? Come evitare questi errori (preferibilmente senza sostituire il terminale MT5)?

Vedi qui e qui... e qui...

Perché non digitare il nome dell'errore nella casella di ricerca e ottenere subito la risposta?

 
Roman.:


Fai in modo che il tuo broker vieti il trading automatizzato per te con richieste frequenti nel commercio reale - dovrai solo fare trading per telefono da solo.

Modifica gli ordini dopo un certo numero di punti (intervallo), per esempio 50 o 100 - questo con un pentametro (diciamo, quando il prezzo si muove nella tua direzione - modifica l'ordine), e tutto andrà bene. :-))) IMHO, naturalmente.

Ehm...


Approvo totalmente...
 

Buon pomeriggio! Citazione del libro di testo:

Una o più costanti possono essere saltate nella sequenza di inizializzazione. In questo caso, i corrispondenti elementi della matrice di tipo numerico sono inizializzati con zero, e gli elementi della matrice di tipo stringa sono inizializzati con il valore stringa "" (doppi apici di apertura e chiusura senza spazio), cioè una stringa vuota (da non confondere con lo spazio).

Domanda 1: Cosa succede agli elementi di tipo bool quando viene omesso uno spazio?

L'idea è la seguente: creiamo un array unidimensionale di bandiere dei parametri di apertura degli scambi, quindi

bool Open[20] {par1,par2,par3....,par20}

se (MA1>MA2) par1=true;

se (MA7>MA8) par2=true; ...

se (ma33>ma55) par20=vero;

Chi ha incontrato tali soluzioni - consigliare:

2- la direzione è corretta?

3- come scrivere ulteriormente varianti di parametri come if (Open [12] {1,0,0,1,1...,0 } ) OrderSend() ecc. - giusto?

 
ilmur:

aiuto per favore... il mio Expert Advisor controlla gli ordini aperti ...un ordine può essere aperto alla volta ...ma quando inserisco uno stop su una linea retta al momento dell'apertura di un ordine dà errore 130...per esempio era così

se(giù>0)

{

ticket=OrderSend(Symbol(),OP_SELL,dLot,Bid,3,0,Bid-TakeProfit*Point,0,16384,0,Red);

Digito uno stop di dimensione 100

ticket=OrderSend(Symbol(),OP_SELL,dLot,Bid,3,100,Bid-TakeProfit*Point,0,16384,0,Red); ...dà errore 130 nel tester

alpari... forse dovrei modificare l'ordine dopo l'apertura e mettere lo stop... consigliare come farlo o indicarmi il consigliere dove si fa... per favore


Alpari non apre trade con stoploss e takeover
 
100yan:

L'idea è la seguente: creare un array unidimensionale di bandiere dei parametri di apertura degli scambi, quindi

bool Open[20] {par1,par2,par3....,par20}

se (MA1>MA2) par1=true;

se (MA7>MA8) par2=true; ...

se (ma33>ma55) par20=vero;

Chi ha incontrato tali soluzioni - consigliare:

2 La direzione è corretta?

3- come scrivere ulteriormente varianti di parametri come if (Open [12] {1,0,0,1,1...,0 } ) OrderSend() ecc. - giusto?

in quale direzione e in che senso giusto?

e come posso dirvi come farlo bene se non capisco il problema

 
int OrderStatus() {
   int z1=0, z2=0;  // порядок для массива
   int i, k=OrdersTotal();
      for (i=1; i<=k; i++) {
         if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol() && OrderMagicNumber()==MG) {
            TicketBS[z1]=OrderTicket(); // присваем массиву под 1 ячейкой первый найденный ордер тикет
            z1++;
            }
            if (OrderType()==OP_SELLSTOP && OrderSymbol()==Symbol() && OrderMagicNumber()==MG) {
            TicketSS[z2]=OrderTicket();
            z2++;
            }
         }
      }
}
Chi può aiutare, perché TicketBS[] e TicketSS[] non assegnano valori all'array TicketBS[]?? scrive sempre 0...
 
eddy:

in quale direzione e cosa è corretto?

E come posso dirvi come scrivere correttamente qualcosa se non capite il compito stesso?

1. La direzione del pensiero è corretta?

2. come confrontare le varianti dei parametri con un dato array? Cioè creare un array con parametri corretti. Per esempio, invece di scrivere if((MA1>MA2)&&(MA7>MA8)&& ....) dovremmo usare una variante di array per aprire un ordine di tipo12 Open [12] {1,1,1,0,1...,0 } dove l'insieme dei parametri è rispettivamente una condizione per aprire un ordine di tipo12.

 

тип12 Open [12] {1,1,1,0,1...,0 }

Gli elementi degli array personalizzati sono variabili, ma qui avete un corpo per qualche motivo (parentesi graffe).

 
eddy:

Gli elementi degli array personalizzati sono variabili, e tu hai un corpo qui per qualche motivo (parentesi graffe)


Inizializzazione di un array


Un array può essere inizializzato solo con costanti del tipo appropriato. Gli array monodimensionali e multidimensionali sono inizializzati con una sequenza di costanti separate da virgole. La sequenza è racchiusa tra parentesi graffe:
bool Mas_b[5] = { false, true, false, true, true }

 
Volete ricordare i parametri per aprire un ordine? Per farlo, dovreste avere diverse variabili bool per ogni parametro per controllare se il mercato li corrisponde