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

 
FoxUA:

La domanda è come scrivere correttamente questa funzione

funziona così

e ho bisogno che entrambi funzionino, per favore spiegatemi

Non è una domanda molto chiara, ma va bene.
È molto facile scriverlo, quasi uguale al tuo:

void tmp_function(){
   if(my_total_order == 0){
      OpenBuyOrder(Lot,PRAsk);
      OpenBuyStopOrder(Lot,PRAsk); 
      OpenBuyLimitOrder(Lot,PRAsk);
   }
   if(my_total_order == 5){
      OpenBuyOrder(Lot,PRAsk);
      OpenBuyStopOrder(Lot*3,PRAsk); 
      OpenBuyLimitOrder(Lot*3,PRAsk);
   }
}
 
ToLik_SRGV:

La domanda non è molto chiara, ma va bene.
È molto semplice da scrivere, quasi uguale al tuo:


Non sono molto bravo a spiegare le cose, cosa puoi fare? Bene, era una digressione, e ora in effetti c'è un codice composto da 2 parti, ognuna è la nomina della variabile quindi la domanda è se è possibile come combinare queste due funzioni senza tagliare nulla da esse

if(my_total_order == 0)           //|                     //|   
{double Lt=Lot;                  //|                     //|
  double PR=PRAsk;                //| --- первая функция  //|
  OpenBuyOrder(Lt,PR);            //|                     //|
  OpenBuyStopOrder(Lt,PR);        //|                     //|
  OpenBuyLimitOrder(Lt,PR);}      //|                     //|
//+--------------------------------+                      //|----  надо обеденить в одну
if(my_total_order == 5)           //|                     //|
{double Lt=Lot*3;                //|                     //|
  double PR=PRBid;                //| --- вторая функция  //|
  OpenSellOrder(Lt,PR);           //|                     //|
  OpenSellStopOrder(Lt,PR);       //|                     //|
  OpenSellLimitOrder(Lt,PR);}     //|                     //|

проблема   'Lt' - variable already defined (уже определенная переменная),       
           'PR' - variable already defined (уже определенная переменная), 
'Lt' 'PR' -  они как раз и нужны но как им присвоить разные значения ? 



 
FoxUA:

Non sono molto bravo a spiegare le cose, cosa puoi fare? Bene, questa era una digressione, e ora in effetti c'è un codice composto da 2 parti, ognuna è la nomina della variabile quindi la domanda è se è possibile combinare queste due funzioni senza tagliare nulla da esse

Possono essere dichiarati come globali, per esempio, al di fuori della funzione.
E sono necessari solo per passare i valori Lot e PRAsk? È possibile passarli direttamente come ho scritto.
 
ToLik_SRGV:
Potete dichiararli come globali, per esempio al di fuori delle funzioni.
Sono necessari solo per passare i valori di Lot e PRAsk? Puoi passarli direttamente, come ho scritto.

Sì, ma il valore di un lotto sarà 10 e + ognuno di loro sarà a PRAsk e PRBid funzioni totali per aprire, vale a dire " int OpenBuyOrder(double Lt, double PR).............." e il resto, sarà l'inferno di un sacco, quindi sto cercando come non avrebbe descritto in 3 volumi

 

LA SOLUZIONE È STATA TROVATA, GRAZIE A TUTTI.

 

Un'altra domanda, come posso da un ordine a mercato, assegnare il prezzo StopLoss e TakeProfit a una variabile temporale?

 
Techno:
senza visualizzazione, perché non funziona? Oggetti grafici, oggetti angolari non usate?
Anche se si tratta di una strategia scarna senza grafica, tutto sommato... vuoto nei risultati, come nel vuoto...
 
FoxUA:

Un'altra domanda è come posso assegnare il prezzo di StopLoss e TakeProfit da un ordine a mercato a una variabile temporale?

Cerca l'ordine richiesto nel mercato e usa le funzioni OrderStopLoss() e OrderProfit() per ottenere le informazioni che ti servono...

================================================================================

doppio OrderStopLoss( )
Restituisce il prezzo di chiusura quando viene raggiunto lo stop loss per l'ordine attualmente selezionato.
L'ordine deve essere preselezionato utilizzando la funzione OrderSelect().

doppio OrderProfit( ) )
Restituisce il valore del profitto netto (senza swap o commissioni) per l'ordine attualmente selezionato. Per le posizioni aperte, questo è l'attuale profitto non realizzato. Per gli ordini chiusi, è il profitto fisso.
L'ordine deve essere preselezionato utilizzando la funzione OrderSelect().
================================================================================
... e lo si scrive nelle variabili.
 
artmedia70:

Cerca l'ordine richiesto nel mercato e usa OrderStopLoss() e OrderProfit() per recuperare le informazioni di cui hai bisogno...

================================================================================

doppio OrderStopLoss( )
Restituisce il prezzo di chiusura di una posizione quando viene raggiunto il livello di stop loss dell'ordine attualmente selezionato.
L'ordine deve essere preselezionato utilizzando la funzione OrderSelect().

doppio OrderProfit( )
Restituisce il valore del profitto netto (senza swap o commissioni) per l'ordine attualmente selezionato. Per le posizioni aperte, questo è l'attuale profitto non realizzato. Per gli ordini chiusi, è il profitto fisso.
L'ordine deve essere preselezionato utilizzando la funzione OrderSelect().

Mi dispiace, ma non ho chiesto come dovrei trovare i dati di StopLoss e TakeProfit; lo sappiamo!

 

Cari esperti di programmazione! Potresti aggiungere la funzione di controllo degli orari di apertura al codice EA? Cioè l'EA dovrebbe aprire posizioni solo entro un certo intervallo di tempo, per esempio dalle 8 alle 20 (ora di Mosca).

File: