[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 341

 
dyxaa:

Esattamente. Brillantemente semplice ))))

Ho bisogno di un buy stop se il prezzo si muove di 100 pip verso il basso per eliminarlo.

L'hai messo programmaticamente o manualmente?

Se manualmente, allora chiudetelo manualmente (meglio).

Se fatto programmaticamente (attraverso un Expert Advisor), allora passa attraverso gli ordini e trova quello giusto. Allora:

if (Bid < OrderOpenPrice()-100*Point) OrderDelete(OrderTicket());   // Это для Вашего типа ордера - Бай-Стоп

Se non sapete come fare l'overshooting e altre azioni più semplici, allora iniziate a leggere un libro di testo sulla MCL. Perché in questo caso, è improbabile che siate in grado di affrontare il codice.

 
hoz:

Ho un'idea, ma come farlo nella vita reale e come funzionerà in modo affidabile nella vita reale, non lo so proprio.

L'essenza è la seguente. Dovremmo entrare nel mercato dopo aver posizionato il gufo sul grafico immediatamente dopo la chiusura della barra, cioè all'apertura di una nuova barra. Questo è il primo ordine. Inoltre, quando l'ordine viene chiuso da un TP o un prezzo di Stop, dovremmo aprire immediatamente un ordine all'apertura di una nuova barra. Come farlo in modo più ragionevole?

Ho capito che dovremmo creare una variabile. Inserisce il prezzo aperto della barra corrente. E confronta questo valore con il prezzo di apertura della barra corrente. Se il valore della variabile non è uguale al prezzo di apertura della barra corrente con l'indice zero, apriremo un ordine.

Questa è la variante più ottimale, vero?

Qui, ho incontrato una funzione per determinare la Nuova Barra mentre risolvevo i miei casi:

//+------------------------------------------------------------------+
//|  Проверка на появление нового бара                               |
//+------------------------------------------------------------------+
bool isNewBar()
   {  static datetime TimeBar=0;
      bool flag=false;
      if(TimeBar!=Time[0])
         {
          TimeBar=Time[0];
          flag=true;
         } 
      return (flag);
   }
//+------------------------------------------------------------------+
Ora non resta che aprire un ordine... : )))
 
dyxaa:

Esattamente. Brillantemente semplice ))))

Ho bisogno di un buy stop se il prezzo si muove di 100 pip verso il basso per eliminarlo.

Ho il mio cross e devo contare 100 punti dalla differenza tra il prezzo e il prezzo per piazzare l'ordine pendente!
 

Non capisco cosa c'è di sbagliato, aiutatemi a capire, errore 'start' - variabile non definita, ho bisogno di trovare il massimo dei valori RSI per un certo periodo

(RSIBuffer3[i]) // array con valori RSI

// definire la dimensione dell'array

int count=ArraySize(RSIBuffer3[i]);

// cerca il valore massimo dell'array

int RSI_max=ArrayMiximum (RSIBuffer3[i], count-1, int start=0);

 
Chiripaha:

Se implementato, funzionerà in modo affidabile nella vita reale come nella demo. Ma non il fatto che sarà redditizio.

È possibile implementarlo attraverso l'apertura di un nuovo bar. Ma non avete formulato in quale direzione si apre la barra, e in quali condizioni si determina questo lato.

Non hai bisogno di confrontare nulla - semplicemente apri un ordine quando appare una nuova barra (in base al tuo input) e questo è tutto.

Se non ne avete idea:

"L'esperienza è figlia di molti errori.
E un genio è amico dei paradossi" (Alexander Sergeyevich parlando con te).

Devi fare (scrivere) un gufo e controllarlo sperimentalmente. - Non credo che qualcuno scriverà il gufo per te (gratuitamente). Dare un indizio è una cosa. Ma implementare le idee (pensieri) non è aiuto, ma lavoro.


Immagino tutto. L'idea è che il primo ordine, se usiamo una o un'altra funzione per determinare la nuova barra, si aprirà spontaneamente, quando l'EA è attaccato al grafico come . al momento di mettere l'EA sul grafico, la variabile che memorizza il tempo di apertura della barra non sarà uguale al tempo di apertura della barra attuale.. Ho pensato di assegnare semplicemente il tempo di apertura della barra attuale alla variabile nell'Inite e poi, se questa variabile è uguale al tempo di apertura della barra attuale, non farò più nulla e, se non è uguale, eseguirò la funzione open. Ho pensato che sarebbe stata la variante più adeguata o forse potrei fare a meno dell'inite.

 
Merincool:

Non capisco cosa c'è di sbagliato, aiutatemi a capire, errore 'start' - variabile non definita, ho bisogno di trovare il massimo dei valori RSI per un certo periodo

(RSIBuffer3[i]) // array con valori RSI

// definire la dimensione dell'array

int count=ArraySize(RSIBuffer3[i]);

// cerca il valore massimo dell'array

int RSI_max=ArrayMiximum (RSIBuffer3[i], count-1, int start=0);

// determinare la dimensione dell'array

int count=ArraySize(RSIBuffer3);

// cerca il valore massimo dell'array

int RSI_max=ArrayMiximum(RSIBuffer3, count-1, int start=0);

 

Cosa devo scrivere nel collegamento del programma per far sì che il terminale si avvii con un account specifico?

 
Ciao, ci sono 4 indicatori e utente tenta di scrivere un Expert Advisor per esso. La domanda è che cosa è necessario prescrivere per ottenere il valore di prezzo per ogni indicatore per non visualizzare 0, ma ancora un numero. ho bisogno solo prescrivere grammaticalmente in icustom, io prescrivere, ma che non funziona, ecco il "set".
File:
 
Elektronik, sembra che si apra con l'ultimo con cui hai lavorato, almeno io non ne ho visti altri.
 
palomnik:
Elektronik, sembra che si apra con l'ultimo, almeno io non ne ho visti altri.

Finisco sul tester e inizio su quello vero.

Motivazione: