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

 
Link_x:
Ciao!
Hmmm, come faccio a collegare una linea a un indicatore creando il suo codice?
Ho trovato una funzione nel libro di riferimento, che definisce un oggetto.
Ho anche trovato come impostare le proprietà.
Ho provato a programmarlo.
Il risultato - 5 errori.
Vorrei vedere un esempio di come viene definito un oggetto OBJ_HLINE.
Grazie!


Cerchiamo qualcosa da soli o siete abituati a dover presentare tutto su un piatto?

qui leggere

p.s. il codice di esempio e la descrizione sono sbagliati sotto queste parole:

Usare il carattere Wingdings

Ora creiamo delle etichette usando il carattere Wingdings. Cambiamo la funzione start():

 
Ekburg:


Non sei chiaro con la tua domanda... se avessi inserito il codice correttamente, avresti potuto spiegare la confusione che stai avendo).

ma vediamo cosa possiamo fare


Un abitante di Sverlovsk, a quanto pare?
 
Vinin:

Sverloveno, presumo?

S).
 
SpikeOne:

Per favore aiutatemi, ho capito come funziona correttamente questo codice?

L'ho messo nell'EA in un certo posto e comincia a chiudere tutti gli ordini dopo aver raggiunto 715,

Ho solo un problema, in alcuni punti perché ho messo questo codice inizia un casino, forse qualcuno può dirmi cosa c'è di sbagliato:



Ho appena iniziato ad analizzare il tuo codice e posso già vedere che la tua architettura del codice è rotta...

Le parentesi graffe non correttamente esposte, correggetele e forse il problema sarà risolto

P.S. Intendo dire che non un'esposizione visiva dove mai, e mescolato apertura e chiusura parentesi ... per esempio, nel primo blocco di se alla fine del luogo di chiusura, si Fig. staffa aprire un altro blocco, che è a causa di questa confusione si pone

 
SpikeOne:

Per favore aiutatemi, ho capito come funziona correttamente questo codice?

L'ho messo nell'EA in un certo posto e comincia a chiudere tutti gli ordini dopo aver raggiunto 715,

Ho ancora un problema con esso, in alcuni punti diventa disordinato quando incollo il codice, forse qualcuno potrebbe dirmi cosa c'è di sbagliato:



Installare l'ultima build nel terminale, è più facile scrivere codice lì, meno probabilità di fare errori, lo consiglio!)

Corretto quella parte che hanno inviato all'inizio, senza l'ultima parte di parentesi che non è chiaro perché è necessario...

if ( AccountProfit()+ AccountBalance()>=715)
   {
   for(int zx=OrdersTotal(); zx+1>=0; zx--)
      {
      if(OrderSelect(zx,SELECT_BY_POS,MODE_TRADES)==true)
      OrderDelete(OrderTicket());
      }
   }
while (OrdersTotal()>0)
   {
   if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
      {
      if(OrderType()==OP_BUY) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
      if(OrderType()==OP_SELL) result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);
      if (OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP)
      OrderDelete(OrderTicket());
      if(result!=TRUE)
         {
         er=GetLastError();
         Print("LastError = ",er, " ",Symbol());
         }
      else er=0;
      }
   else Print( "Error when order select ", GetLastError());
   }
 

Cari compagni, amici, è difficile esprimere la mia gratitudine per il vostro precedente aiuto nella scrittura dell'EA (alla fine della 350a pagina di questo thread). Ora ho bisogno di nuovo del vostro aiuto e spero che lo facciate di nuovo.

Quindi, ho bisogno di scrivere quanto segue nel mio EA:

L'EA dovrebbe lavorare sugli estremi dell'EMA. Ai massimi dell'EMA, dovrebbe piazzare ordini pendenti per aprire una posizione corta a un prezzo uguale al prezzo del minimo della candela di inversione del muvinig meno una certa percentuale di quel prezzo (per esempio, il minimo della candela di inversione * 0,99) L'ordine pendente deve anche contenere uno stop loss e un take profit come percentuale di quel minimo della candela di inversione del muvinig. Ma non è tutto. Inoltre, se il massimo dell'EMA viene raggiunto, l'EA dovrebbe piazzare degli stop-loss in tutti i long aperti per questo asset allo stesso livello in cui lo short deve essere aperto. Così, quando il prezzo stimato viene raggiunto (vedi sopra), i long esistenti dovrebbero essere chiusi (usando gli stop loss precedentemente impostati dall'EA) e gli short dovrebbero essere aperti.

Ad un EMA basso, è vero il contrario: c'è una candela, dove il muving è salito. Sulla candela successiva, l'EA dovrebbe iniziare a seguire il prezzo e quando supera il seguente livello: il massimo della candela d'inversione + una certa percentuale (ad esempio, il massimo della candela d'inversione * 1,01), gli short aperti esistenti dovrebbero mettere stop loss a questo prezzo (il massimo della candela d'inversione + una certa percentuale) e un ordine pendente per aprire un long allo stesso prezzo (con uno stop loss e take profit in % del massimo della candela d'inversione).

Così, il consigliere a un'inversione del muvning (intendiamo un'inversione completata, cioè, l'inversione delle due candele precedenti, la candela corrente non è presa in considerazione, il muvning può essere invertito sulla barra corrente, ma non invertire su di esso, queste inversioni durante il muvning corrente, se nel risultato di chiudere l'inversione bar non è - non contano).

Quindi, se il muving è al massimo, l'Expert Advisor dovrebbe piazzare uno Stop Loss sui long esistenti a un certo livello (vedi sopra) e aprire un ordine pendente per aprire uno short allo stesso livello (con uno Stop Loss e un Take Profit).

Se il muving è basso, è viceversa - l'EA piazza uno Stop Loss nello short aperto ad un certo livello (vedi sopra) e piazza un ordine pendente per aprire un long allo stesso livello (con Stop Loss e Take Profit).

Così, non sarà possibile andare in contanti, saremo sempre o in una posizione lunga, o in una posizione corta. Quando si chiude una posizione lunga si apre contemporaneamente una corta, e viceversa.

Ho provato a giocare con il mio EA funzionante (funziona incrociando due EMA) e a modificarlo nel modo giusto. Ma la mia scarsa conoscenza del C++ e la mia avversione per la programmazione hanno fallito. Ecco il link all'Expert Advisor che ho cercato di modificare in quello desiderato: https://www.mql5.com/ru/code/8463?source=terminal4_codebase

Capisco che ho bisogno di molto aiuto, non è un compito facile, quindi come bonus darò i miei risultati di ricerca di BTC/USD (bitcoins/dollari) scambio btc-e a coloro che mi hanno aiutato. Ho determinato la media mobile più appropriata (per avere meno falsi segnali e per innescare buoni movimenti), i migliori parametri per essa (la percentuale di alti/bassi della candela di inversione), i take-profits più appropriati. L'ho calcolato in Excel. Questo file Excel è da parte mia, come segno di gratitudine. Forse vi sarà utile.

Non voglio solo fare trading usando questo Expert Advisor. Mi serve per monitorare il mercato quando non lo sto seguendo (perché non posso seguirlo 24 ore al giorno). Quando sono a monitor, faccio trading per linee di supporto/resistenza secondo una certa metodologia, ma anche il sistema EMA mi aiuta - per determinare i punti di rottura dei livelli, impostando gli stop.

Sto aspettando un aiuto per scrivere un EA e faccio affidamento su di esso.

 
okidoki543:

Cari compagni, amici, è difficile esprimere la mia gratitudine per il vostro precedente aiuto nella scrittura dell'EA (alla fine della 350a pagina di questo thread). Ora ho bisogno di nuovo del vostro aiuto, spero che me lo darete di nuovo.

Ohhhh!?:) Solo un ordine per scriverlo)
 
okidoki543:

Quindi, ho bisogno di prescrivere quanto segue nell'EA:

Il compito è abbastanza fattibile, in linea di principio non c'è nemmeno bisogno di scrivere molto codice... se solo ci fosse il tempo di farlo...:)
 
Non so come inserire una citazione normale, l'ho messa in questo modo, manualmente: [quote]Il compito è abbastanza fattibile, in linea di principio non si deve nemmeno scrivere molto codice... sarebbe il momento di farlo... :)[/quote] Vi sarei grato se poteste aiutare.
 
okidoki543:
Non so come inserire una citazione normale, mettilo in questo modo, manualmente: [quote]Il compito è abbastanza fattibile, in linea di principio nemmeno un sacco di codice da scrivere sarebbe il tempo di farlo...:)[/quote] Sarei grato se si aiuta.


Se posso, salterò il codice oggi... Non sono sicuro che funzionerà dato che sono al lavoro e non ho tempo di scrivere un programma debuggato... Ma sarà sicuramente un punto di partenza)

Ma non posso promettere... come si svolgeranno le circostanze oggi)