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

 
paladin80:
Per favore, chiarite: intendete una posizione di mercato aperta o un ordine pendente? In entrambi i casi, dobbiamo controllare se c'è una posizione/ordine nel mercato, e se c'è, allora prima di impostare un ordine, dobbiamo restituire(0).

Per esempio, ho aperto una posizione Buy usando la seguente condizione OPEN[0]> OPEN[3] e ho chiuso TakeProfit. Dopo che l'ordine è stato chiuso, la posizione Buy è ancora attiva, quindi l'Expert Advisor aprirà un'altra posizione Buy. Devo evitare di aprire altri ordini quando TakeProfit viene raggiunto. Intendo 1 ordine a mercato non un ordine pendente!

 
lowech:

Per esempio, ho aperto una posizione Buy usando la seguente condizione OPEN[0]> OPEN[3] e ho chiuso TakeProfit. Dopo che l'ordine è stato chiuso, la posizione Buy è ancora attiva, quindi l'Expert Advisor aprirà un'altra posizione Buy. Devo evitare di aprire altri ordini quando TakeProfit viene raggiunto. Intendo 1 ordine a mercato, non un ordine pendente!

Mettete un tale pezzo di codice prima della condizione di apertura della posizione:

if (OrdersTotal()>0) //находит общее кол-во позиций/ордеров
{  for (int i=OrdersTotal()-1; i>=0; i--) // их перебор
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) // перебирает только среди позиций
      {  if (OrderSymbol()!=Symbol()) continue; // перебирает только позиции по тому символу
                                                // на чей график кинули советник
         if (OrderTicket()>0) return(0); // если обнаружена позиция - конец действия программы
}  }  }
 
paladin80:

Mettete questo pezzo di codice prima della condizione di apertura della posizione:


Grazie mille, proviamo!

Ho provato! Apre ancora un mucchio di ordini! C'è un modo per fare in modo che TakeProfit expert sia disabilitato quando l'ordine è chiuso?

 
lowech:

Grazie mille, proviamo!

Ho provato, apre ancora un mucchio di ordini! C'è un modo per disabilitare TakeProfit Expert Advisor quando un ordine viene chiuso?

Se sei corretto nel mettere questo pezzo di codice prima della condizione di apertura della posizione, il tuo EA non dovrebbe aprire più di 1 posizione per questa valuta. Per quanto riguarda la disabilitazione dell'EA dopo il TakeProfit - non c'è bisogno di disabilitarlo. È meglio fare subito il codice giusto.
 
paladin80:
Se hai ragione nel mettere questo pezzo di codice esattamente prima della condizione di apertura della posizione, allora il tuo Expert Advisor sicuramente non dovrebbe aprire più di 1 posizione per una data valuta. Per quanto riguarda la disabilitazione dell'EA dopo il TakeProfit - non c'è bisogno di disabilitarlo. È meglio fare subito il codice giusto.

if(OrdersTotal()>0) //trova il numero totale di posizioni/ordini

{  for (int i=OrdersTotal()-1; i>=0; i--) // их перебор
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) // перебирает только среди позиций
      {  if (OrderSymbol()!=Symbol()) continue; // перебирает только позиции по тому символу
                                                // на чей график кинули советник
         if (OrderTicket()>0) return(0); // если обнаружена позиция - конец действия программы 
}  }  }

Il mio problema è che l'EA apre un ordine dopo l'altro, non in fila, e dopo che l'ordine precedente chiude TakeProfit o StopLoss, la posizione si apre di nuovo e solo 1 ordine !

 
lowech:

if(OrdersTotal()>0) //trova il numero totale di posizioni/ordini

Il mio problema è che l'EA apre un ordine dopo l'altro, non in fila, e dopo che l'ordine precedente chiude TakeProfit o StopLoss, la posizione sarà aperta di nuovo e solo 1 ordine !

Ho capito bene l'algoritmo?
Dopo l'attivazione di una condizione di entrata, solo una posizione viene aperta. Se chiude in profitto o in perdita, non fare trading nel giorno in cui ha chiuso. A proposito, fai trading su un solo simbolo o su diversi?
Non so della disabilitazione dell'EA perché non lo uso, forse qualcuno che sa qui scriverà se è possibile.
 
La funzione SendFTP invia un file di testo al server. Ma sul server il file è vuoto - 0 KB. Quale potrebbe essere il problema?
 
serler2:
La funzione SendFTP invia un file di testo al server. Ma sul server il file è vuoto - 0 KB. Quale potrebbe essere il problema?
E sul cliente?
 
Reshetov:
E sul cliente?

Ho provato molte opzioni. Sia l'immagine che il testo e le statistiche. Tutti sono dotati di volume zero. Sul computer locale, naturalmente, i file non sono vuoti.

 
serler2:

Ho provato molte opzioni. Sia l'immagine che il testo e le statistiche. Tutti sono dotati di volume zero. Sul computer locale ovviamente i file non sono vuoti.

Poi XZ, cioè o chiedere ai telepati, o codificare in studio.

Tuttavia, non è sempre il caso che il server abbia successo con le transazioni MT4. Ci sono stati casi in cui il passaggio tra le modalità passive-attive ha aiutato, e ci sono stati casi in cui niente ha aiutato. Non tutti i server e non tutti i client supportano il protocollo RFC 959 completo, da qui i problemi.