Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 75

 
mario065:

È stata scritta una funzione per aprirlo:

'=' - l-value required 

Ha dato un errore.

Ha fatto

 if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
      {
if(SL = 0 && T_P = 0)
{
  ModifyPosition(_Symbol,NormalizeDouble((Open - 0.003),Digits()),NormalizeDouble((Open + 0.003),Digits()));
}

и

if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
    {
    if(!PositionGetDouble(POSITION_SL))
      {
      PositionModify(_Symbol,NormalizeDouble((Open-STR),Digits()),NormalizeDouble((Open+TP),Digits()));
      }

non è la stessa cosa?

Credo che in entrambi i casi lo stoploss sia impostato con l'inizio di una nuova barra, non Tick.

Non posso inviare stoploss e takeprofit quando apro un ordine - perché il server non lo permette. Devi prima aprire l'ordine e poi modificarlo in seguito.

 
Lester:

Ha dato un errore.

Ha fatto

и

non è la stessa cosa?

Immagino che in entrambi i casi lo stoploss sia messo fuori con l'inizio di una nuova barra, non Tick.

Non posso inviare StopLoss e TakeProfit quando apro un ordine - perché il server non lo permette. Devo prima aprire l'ordine e poi modificarlo dopo.

if(SL == 0 && T_P == 0)

Scusa, ho bisogno di due segni uguali - non ho controllato, l'ho scritto direttamente.

 

OnTick

L'evento NewTick viene generatosolo per gli Expert Ad visor quando viene ricevuto un nuovo tick per un simbolo, al cui grafico è collegato l'Expert Advisor. È inutile definire la funzione OnTick() in un indicatore o script personalizzato, perché l'evento Tick non viene generato per loro.

L'evento Tick è generato solo per gli Expert Advisors, ma non significa che gli Expert Advisors devono avere la funzione OnTick(), perché non solo gli eventi Tick sono generati per gli Expert Advisors, ma anche Timer, BookEvent e ChartEvent. Deve essere dichiarato con il tipo void, non ha parametri:

voidOnTick

Questo è ovviamente dalla documentazione.

Non è la stessa cosa?

 

Beh, per asc e bid, ci sono altri modi per farlo:

MqlTick  tick;
tick.ask-tick.bid
 
mario065:

Beh, per asc e bid, ci sono altri modi per farlo:

О! Funziona! Grazie! )) ))
 
FinEngineer: Ci sono sviluppatori MQL5 in questo thread? Forse sto facendo una domanda nel ramo sbagliato? Allora ditemi come fare questa domanda agli sviluppatori? La domanda è sopra, è elementare per un programmatore esperto...

E sapete che il vostro codice funziona bene. Ecco un'immagine dei vostri valori predefiniti, su una coppia di croci:

 
Yedelkin:

E sapete che il vostro codice funziona bene. Ecco un'immagine dei tuoi valori di default, su cross-pair:

2012.12.21 23:44:46 Pair_delta_RSI (EURGBP,M5) array out of range in 'Pair_delta_RSI.mq5' (96,37)
2012.12.21 23:44:42 Pair_delta_RSI (EURGBP,M5) Non tutti i dati di RSI1_Handle sono calcolati (-1bars ). Errore4806

Ottengo questi errori non appena incollo l'indicatore su un grafico (ho preso anche la croce e questo codice). Cosa può esserci di sbagliato? Grazie in anticipo.


 
FinEngineer 2012.12.21 23:44:46 Pair_delta_RSI (EURGBP,M5) array out of range in 'Pair_delta_RSI.mq5'(96,37)

E mostratemi la linea di codice a cui si riferisce il terminale (io stesso ho cancellato le linee vuote, quindi non riesco a capirlo).

FinEngineer : 2012.12.21 23:44:42 Pair_delta_RSI (EURGBP,M5) Non tutti i dati di RSI1_Handle sono calcolati (-1bars ). Errore4806

Forse la storia del broker è sbagliata... Prova ad aprire un conto su MetaQuotes-Demo, apri i grafici mensili dei simboli desiderati (per pompare abbastanza storia nella base del terminale), e poi esegui l'indicatore su un simbolo arbitrario e il timeframe desiderato.

 
Yedelkin:

E mostrami la linea di codice a cui si riferisce il compilatore (ho cancellato io stesso le linee vuote, quindi non riesco a capirlo).

Forse la storia del broker è storta... Prova ad aprire un conto su MetaQuotes-Demo, apri i grafici mensili dei simboli desiderati (per pompare abbastanza storia nella base del terminale), e poi esegui l'indicatore su un simbolo arbitrario e il timeframe desiderato.

Ho caricato la cronologia per entrambi i simboli, rimane solo un errore 2012.12.22 00:56:44 Pair_delta_RSI (EURGBP,M1) Non tutti i dati di RSI1_Handle sono calcolati (-1bars). Errore4806

Questo errore non si verifica al momento della compilazione, ma quando attacco l'indicatore al grafico o quando cambio timeframe.

Durante la compilazione, esce qualche avviso, eccolo qui: nessun grafico indicatore definito per l'indicatore, assegnato a 1 per default 0 0

Amico, mi sto scervellando... aiuto per favore...



 
FinEngineer: Durante la compilazione, viene fuori una specie di avvertimento, è questo: nessun grafico indicatore definito per l'indicatore, assegnato a 1 per default 0 0

Quindi hai scaricato il programma nonostante questo avvertimento? Aggiungete questa linea all'inizio

#property indicator_plots   1