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

 
Figar0 >> :

Ma cos'è questo design?

Sì, l'ho già capito, ho fatto il test.

>> è chiaro che ho appena rimosso il valore dell'indicatore, qual è la confusione?

 
1Rakso писал(а) >>

L'ho già capito, ho fatto il test.

È chiaro che ho appena rimosso il valore dell'indicatore, quindi qual è la confusione?

Non è chiaro cosa sia, come puoi rispondere se capisci cosa stai chiedendo?

Se non sai cos'è, potresti usarlo perché non sai cosa confrontare con Bid. È corretto.

 
anat >> :



Potete per favore dirmi come inserire una condizione in questa costruzione if(iSAR(NULL,0,step0,0.1,0)<Close[0]), quando, per esempio, se abbiamo posizioni di acquisto aperte, non apriamo posizioni di vendita finché tutte le posizioni di acquisto sono chiuse. In altre parole, un ciclo di trading, compriamo 3 posizioni, aspettiamo che tutte e tre siano chiuse. Le posizioni sono chiuse solo da Stop Loss o Take Profit. Tutte le posizioni sono chiuse, si aspetta il segnale, si ottiene un segnale, si comprano o si vendono (a seconda del segnale) 3 posizioni, ecc. Le "Funzioni utili di KimIV" sono state studiate. Potete usare le funzioni CountOrders(), ExistOrders(), ExistPositions(). Ma come inserirli praticamente? Il costrutto if((iSAR(NULL,0,step0,0.1,0)>Close[0])&& ExistPositions(NULL,OP_SELL)==false) non funziona. Capisco che ho bisogno di inserire una variabile logica, ma come lo faccio in pratica? Non capisco una cosa.


Leggi tutto il thread. Ho trovato la soluzione - racchiudere tutto il codice tra parentesi graffe e scrivere if (OrdersTotal( ) == 0) prima di loro. Rozzo, ma funziona. Vorrei usare le variabili bool per aprire qualsiasi numero di ordini, guidati da una condizione if (OrdersTotal() >=maxOpen) return;
 
anat >> :
Ho letto tutto il ramo. La soluzione è la seguente: racchiudere tutto il codice tra parentesi graffe e prima di esse scrivere if (OrdersTotal( ) == 0). Rozzo, ma funziona. Vorrei usare variabili bool per aprire qualsiasi numero di ordini, in base alla condizione if (OrdersTotal() >=maxOpen) return;

Se volete separare Total_sell e Total_buy, provate a usare la funzione

int CalculateCurrentOrders(string symbol) da SimpleMACD

int CalculateCurrentOrders(int Type)// OP_BUY , OP_SELL
  {
   int buys=0;
//----
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() )
        {
         if(OrderType()== Type)  buys++;
        }
     } return( buys);
  }
 
Per favore, ditemi quale funzione restituisce il tempo di chiusura della candela corrente?
 
Diver-si >> :

Non sono strategie, è solo una supposizione da verificare. A proposito, perché l'EA non fa operazioni? Non capisco perché.

>> Non lo so. L'ho eseguito sul tester e ha funzionato. Forse hai fatto un errore con i parametri. O forse non hai spuntato la casella di controllo per permettere all'EA di fare trading. E il tempo di un TF maggiore è impostato in minuti! cioè nella variabile TFUP dovete specificare non m5 ma 5, non m30 ma 30, non H1 ma 60, ecc.

 
gmMarat писал(а) >>
Per favore, ditemi quale funzione restituisce il tempo della chiusura della candela corrente.

Qual è il tempo di chiusura della candela attuale? La candela attuale non è ancora chiusa, altrimenti non è più attuale, possiamo assumere che questo tempo sia approssimativamente Time[0]+Period()*60

 
Figar0 >> :

Qual è il tempo di chiusura della candela attuale? La candela attuale non è ancora chiusa, altrimenti non è più attuale, possiamo assumere che questo tempo sia approssimativamente Time[0]+Period()*60

Figar0 grazie, è quello di cui avevo bisogno

 
Come determinare il valore di un pip nel trading di un lotto? Mi è stato consigliato di usare la formula MarketInfo(Symbol(),MODE_LOTSIZE)*Point, ma è assolutamente sbagliato! Restituisce 100000$*0.001=100$ per USDJPY, che è in effetti un dollaro, come per la maggior parte dei simboli.
 
Цена 1 пункта для стандартного лота:
 
 double ad.QuotePoint   = MarketInfo ( Symbol () , MODE_POINT     )      ;
double ad.QuoteTick    = MarketInfo ( Symbol () , MODE_TICKSIZE  )      ;
double ad.NominalTick  = MarketInfo ( Symbol () , MODE_TICKVALUE )      ;

double ad.NominalPoint = ad.NominalTick  * ad.QuotePoint / ad.QuoteTick ; // Цена 1 пункта для стандартного лота
Цена 1 пункта для ордера известного размера "ad.OrderSize":

double ad.OrderPoint   = ad.NominalPoint * ad.OrderSize                 ;
Motivazione: