Discussione sull’articolo "Expert Advisor basato sulle "New Trading Dimensions" di Bill Williams" - pagina 4

 
natyog:
e log

Algoritmo errato per l'attraversamento di tutte le posizioni - la posizione è stata selezionata da SIMPLE:

void C_TS_BW::TrailingStop(void)
  {
   bool select=pos_info.Select(m_Symbol);

, ed era necessario organizzare l'attraversamento di tutte le posizioni e selezionare una posizione in base all'indice nell'elenco delle posizioni, in questo modo (questo è solo un esempio):

//+------------------------------------------------------------------+
//| Calcolo delle posizioni Acquisto e Vendita|
//+------------------------------------------------------------------+
void CalculatePositions(int &count_buys,int &count_sells)
  {
   count_buys=0.0;
   count_sells=0.0;

   for(int i=PositionsTotal()-1;i>=0;i--)
      if(m_position.SelectByIndex(i)) // seleziona la posizione in base all'indice per un ulteriore accesso alle sue proprietà
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
           {
            if(m_position.PositionType()==POSITION_TYPE_BUY)
               count_buys++;

            if(m_position.PositionType()==POSITION_TYPE_SELL)
               count_sells++;
           }
//---
   return;
  }


algoritmo di modifica della posizione non corretto - la posizione è stata selezionata da SIMBOLO

bool  PositionModify( 
   const string  symbol,     // simbolo 
   double        sl,         // Prezzo dello stop loss 
   double        tp          // Prezzo di take profit 
   )

mentre la posizione avrebbe dovuto essere selezionata da ticket:

bool  PositionModify( 
   const ulong   ticket,     // biglietto di posizione 
   double        sl,         // Prezzo dello stop loss 
   double        tp          // Prezzo di take profit 
   )
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением...
 

In attesa che l'autore apporti delle correzioni.

 

L'Expert Advisor è stato sviluppato e di conseguenza l'articolo è stato concepito quando i conti di copertura per mt5 non osavano nemmeno essere menzionati.

Pertanto, la selezione delle posizioni è stata realizzata per simboli.

 
Alexey Klenov:

L'Expert Advisor è stato sviluppato e di conseguenza l'articolo è stato concepito quando i conti di copertura per la mt5 non osavano nemmeno essere menzionati.

Per questo motivo la selezione delle posizioni è stata realizzata per simboli.


I conti di copertura sono già vecchi di un anno. Pertanto, vi prego di apportare tutte le modifiche che ho menzionato sopra.

 

Per farlo funzionare pienamente su entrambi i tipi di contabilità (azionaria e di copertura), è necessario apportare molte modifiche al codice dell'Expert Advisor, non solo nella sezione con il trailing stop.

Lo farò il prima possibile.

 

Sui conti in modalità netting di 2 broker (BKS-Forex e Roboforex) durante il test (le impostazioni e i parametri di test sono allegati)

il trailing stop sulla linea rossa (storia e operazioni - in appendice) viene eseguito su denti[5] contrariamente al trailing stop su denti[0] indicato nel codice dell'Expert Advisor.

denti[0].

Tuttavia, quando si opera su un conto demo di Roboforex e BKS-Forex, il trailing stop è ancora trainato dai denti della barra corrente.

Ma quando si fa trading sul conto reale di BKS-Forex, gli stop "vanno" di nuovo a denti[5].

Non dovrebbe essere così.

 

Salve, ho compilato il codice e ho provato a usarlo nel tester, ma non si verifica alcuna operazione. Cosa devo cambiare nei parametri? Grazie.

 
Come funziona la rete a strascico? Lo stop loss sulla linea rossa dell'alligatore è a strascico (denti)?
 
natyog:

Sui conti in modalità netting di 2 broker (BKS-Forex e Roboforex) durante i test (le impostazioni e i parametri di test sono allegati)

il trailing stop sulla linea rossa (storia e operazioni - in appendice) viene eseguito su denti[5] contrariamente al trailing stop su denti[0] indicato nel codice dell'Expert Advisor.

denti[0].

Tuttavia, quando si opera su un conto demo di Roboforex e BKS-Forex, il trailing stop è ancora trainato dai denti della barra corrente.

Ma quando si opera sul conto reale di BCS-Forex, gli stop "vanno" di nuovo a denti[5].

Non dovrebbe essere così.

È normale. La linea rossa che va dalla barra 5 alla 0 ha una linea retta - si strascica sui denti[0]. E nei vostri due disegni estremi - c'è anche la chiusura della candela corrente con l'attraversamento della linea rossa - uscita dalla posizione.

 

Buon pomeriggio.

Diciamo che ho messo mano alla modernizzazione dell'Expert Advisor per i conti di copertura.

Ho anche apportato alcune modifiche

  • Analisi trall a 5 barre solo AO senza AC quando si tiene conto del trend sull'alligatore (così sembra funzionare meglio).
  • L'indicatore Alligator è inizializzato con parametri di spostamento dalle impostazioni per renderlo più chiaro nella modalità di test visivo.
  • con tutte le varianti di frazioni disabilitate, potevano verificarsi casi in cui la trappola si innescava e una nuova entrata sul trend poteva essere dal frattale "annullata" prima dal prezzo - ho eliminato questa situazione.
Chiedo a tutti coloro che non sono indifferenti di verificare cosa è emerso e di fornire i loro commenti.
File: