Come ho assemblato il mio consulente per tentativi ed errori - pagina 27

 
Алексей Тарабанов:

Ti è piaciuto?

Ho bisogno di vederlo in azione

non per me, per lui

 

Penso che non ci sia abbastanza di un separato, stop limit e profitto per le linee orizzontali, che sono impostate automaticamente.

più altre 4 linee - e no! 8

Foto di

 
Aleksandr Klapatyuk:

Penso che non ci sia abbastanza di un separato, stop limit e profitto per le linee orizzontali, che sono impostate automaticamente.

più altre 4 linee - e no! 8


#proprietà versione "1.11"

imposta una linea StopLoss orizzontale e se il prezzo si muove nella giusta direzione la posizione viene chiusa

le linee gialle sono StopLoss e trawl allo stesso tempo

trall

input string   t1="------ TakeProfit    ----------";    // TakeProfit
input double   InTakeProfit            = 54;            // Take Profit, in pips (1.00045-1.00055=1 pips)

Non può essere zero - si chiuderà immediatamente. devi impostare quanti pips vuoi che la posizione sia chiusa.

Foto di

Istantanea1

devi impostare quanti pips vuoi che la posizione sia chiusa.

File:
 
2019.10.28 10:21:58.667 Your intelligence (USDJPY,H1)   zero divide in 'Your intelligence.mq5' (1481,14)

Ottengo questo errore e l'Expert Advisor viene cancellato quando apro una posizione. il conto è 500 GLD.

Non riesco ancora a capirlo.

 
Aleksandr Klapatyuk:

Ottengo questo errore e l'Expert Advisor viene cancellato quando apro una posizione. il conto è 500 GLD.

Non riesco ancora a capirlo.

Dannazione! e non c'è nessuna informazione nella ricerca. qualcuno può dirmi qual è l'errore?

2019.10.28 10:21:58.667 La tua intelligenza (USDJPY,H1) zero divide in 'La tua intelligenza.mq5' (1481,14)

Foto di

 
Aleksandr Klapatyuk:

Ottengo questo errore e l'Expert Advisor viene cancellato quando apro una posizione. il conto è 500 GLD.

Ma sul conto del rublo - tutto funziona.

Nel codice, linea 1481, posizione 14 - cercate un errore.

 
Vladimir Karputov:

Nel codice, linea 1481, posizione 14 - cercate un errore.

Grazie mille, penso di aver capito qual è la ragione. Grazie per il suggerimento!!!

 
Vladimir Karputov:

Nel codice alla linea 1481, posizione del cursore 14 - cercate un errore.

Ecco - ho fatto un casino.

  {
//---
   for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of current positions
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
        {
         if((PositionGetDouble(POSITION_PROFIT)/PositionGetDouble(POSITION_VOLUME)/
             SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE))/n<-InStopLoss)
            ClosePosition(m_position.Symbol());  // close a position by the specified symbo
        }
  }

l'ha corretto in questo - non ho ancora controllato questa funzione - ma dovrebbe funzionare

  {
//---
   for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of current positions
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
        {
         if(m_position.Commission()+m_position.Swap()+m_position.Profit()/n<-InStopLoss)
            ClosePosition(m_position.Symbol());  // close a position by the specified symbo
        }
  }

Ancora una volta - Grazie mille! Salute e tutto il meglio!

 

ora notato - nel terminale dove - conto GLD

il profitto non cambia dopo l'apertura di una posizione - poiché mostra 8 pip e non cambia

il prezzo si muove sul grafico - forse è per questo che ho avuto un errore

InkedAlpari MT5_LI

 

qui - ho fatto un casino.

  {
//---
   for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of current positions
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
        {
         if((PositionGetDouble(POSITION_PROFIT)/PositionGetDouble(POSITION_VOLUME)/
             SymbolInfoDouble(Symbol(),SYMBOL_TRADE_TICK_VALUE))/n<-InStopLoss)
            ClosePosition(m_position.Symbol());  // close a position by the specified symbo
        }
  }

L'ho aggiustato in questo modo - non l'ho ancora controllato - ma dovrebbe funzionare.

  {
//---
   for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of current positions
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
        {
         if(m_position.Commission()+m_position.Swap()+m_position.Profit()/n<-InStopLoss)
            ClosePosition(m_position.Symbol());  // close a position by the specified symbo
        }
  }

Dovrei lasciarlo - dove ho sbagliato. - funziona! e come volevo correggere, non funziona e /n e cancellato e con esso. non funziona.

l'intera ragione è il conto GLD stesso. ha aperto un conto USD nello stesso terminale e tutto funziona