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

 
Vitya >> :

Se intendi il bloccaggio, non capisci ---- Non insisto su di esso, non so come usarlo.

Chiudere una parte delle posizioni non redditizie? ------ Penso di sì, ma non l'ho ancora provato.

Io stesso non so come usarlo.

https://www.mql5.com/ru/code/9185

 
costy_ >> :

Manualmente tester la risposta può essere trovata solo lì (o nella demo) ecco il link al simulatore

https://www.mql5.com/ru/code/9185

Penso che la risposta possa essere trovata solo nella matematica o nella vera esperienza di trading. È un peccato che io non abbia nessuno dei due. Grazie per il link.

 
Vitya >> :

Penso che la risposta possa essere trovata solo nella matematica o nella reale esperienza di trading. Penso che sia un peccato che io non ne abbia nessuno. Grazie per il link.

Se non sai niente di matematica ma non sai fare trading, devi imparare e alla fine avrai successo!

Consiglio di iniziare il trading manuale con CCI(55) e MA(55) a M5 GBPJPY con il numero di Fibonacci e all'interno di questo numero trovare il vostro periodo (oggi il mio è 67), buona fortuna!

Sì, quasi dimenticavo, anche il tempo di trading è molto importante, cioè l'apertura della sessione di trading della regione la cui valuta è maggiore (e l'America...).

 
Qualcuno può controllare se tutto è corretto in questo modulo:
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// MOVE SL TO BE

if( Mode_Close_Part_Set_BE_1==true   &&   OrdersTotal()>0) {

      for(int cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++) {
         OrderSelect( cnt_BE, SELECT_BY_POS);         // the next line will check for ONLY market trades, not entry orders
         Ticket = OrderTicket();

// BUY -----------------------------------------------------------------------------------------
         if(OrderType()==OP_BUY   &&   OrderSymbol()==Symbol()   &&   OrderStopLoss()<OrderOpenPrice()   &&   Ask>=(OrderOpenPrice()+ MathAbs(OrderOpenPrice()-OrderStopLoss())) ) {
                  double SL_Original_Buy   = OrderStopLoss();

                  bool AnsHalfModifySL_Buy = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
                  Sleep( Slippage*3000);

                  if( AnsHalfModifySL_Buy==true) {
                     BreakEvenStatus_Buy   = true;
                     Alert ("SL Buy which was ", SL_Original_Buy, " set to BreakEven at ", OrderStopLoss(), " for ", Symbol());
                  }

                  if( Fun_Error(GetLastError())==1) {       // Обработка ошибок
                     continue;                             // Повторная попытка
                  }

                  return;                                // Выход из start()
         } // if(OrderType() == OP_BUY  &&  OrderSymbol()==Symbol() )
// EO BUY -----------------------------------------------------------------------------------------


// SELL -----------------------------------------------------------------------------------------
         if(OrderType()==OP_SELL  &&  OrderSymbol()==Symbol()   &&   OrderStopLoss()>OrderOpenPrice()   &&   Bid<=(OrderOpenPrice()-MathAbs(OrderStopLoss()-OrderOpenPrice())) ) {
                  double SL_Original_Sell   = OrderStopLoss();

                  bool AnsHalfModifySL_Sell = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
                  Sleep( Slippage*3000);

                  if( AnsHalfModifySL_Sell==true) {
                     BreakEvenStatus_Sell   = true;
                     Alert ("SL Sell which was ", SL_Original_Sell, " set to BreakEven at ", OrderStopLoss(), " for ", Symbol());
                  }

                  if( Fun_Error(GetLastError())==1) {       // Обработка ошибок
                     continue;                             // Повторная попытка
                  }

                  return;                                // Выход из start()
         } // if(OrderType() == OP_SELL  &&  OrderSymbol()==Symbol() )
// EO SELL -----------------------------------------------------------------------------------------

      } // for(cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++)
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Lo chiedo perché dopo ogni chiamata appare il messaggio "Si è verificato l'errore 0", anche se tutto sembra funzionare correttamente (andando in pareggio).





 
chief2000 писал(а) >>
Qualcuno può controllare se tutto è corretto in questo modulo:

Lo chiedo perché dopo ogni chiamata appare il seguente messaggio: "Si è verificato l'errore 0", anche se tutto sembra funzionare correttamente (andando a pareggio).

Molto probabilmente un tentativo di modificare un ordine ai vecchi prezzi. Dovremmo confrontare i parametri del nuovo e del vecchio ordine. E dovrebbe essere modificato solo se necessario.

 

L'errore 0 si verifica quando OrderModify non modifica effettivamente nulla - cambia il prezzo a quello vecchio.

 

Ecco un esempio:




È stato aperto un ordine con SL=1,1596. Poi lo SL è cambiato a 1,1570, e infine questo errore.

Non può passare al secondo turno perché c'è una condizione:

... OrderStopLoss()>OrderOpenPrice() ...


- Cosa potrebbe essere?





 
chief2000 писал(а) >>

Ecco un esempio:

È stato aperto un ordine con SL=1,1596. Poi lo SL è cambiato a 1,1570, e infine questo errore.

Non può passare al secondo turno perché c'è una condizione:

- Cosa potrebbe essere?

Potrebbe. Controlla di nuovo le condizioni logiche, ma solo al mattino.

Quello che c'è nella logica è ciò che gli permette di fare.

 
Vinin >> :

Forse. Controlla di nuovo le condizioni logiche, ma solo al mattino.

Ciò che è incorporato nella logica ti permette di farlo.

Controllerò. >> grazie!

 

Aiuto

int start()  {
//----
Alert(Minute(),Hour());
int Minuto( )
Restituisce il minuto corrente (0,1,2,...59) dell'ultima ora conosciuta del server all'inizio del programma (questo valore non cambia durante l'esecuzione del programma).

Nota: nei test, viene simulata l'ultima ora conosciuta del server.

Ma nell'indicatore, durante i test, l'ultimo tempo noto del server non viene simulato. dovrebbe essere così?

Motivazione: