[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 265

 

cosa significano le linee: 1) se (Volume [0]>1) ritorno;

2) se (Open [1]>ma) ; ?

grazie!

 
okvseok:

cosa significano le linee: 1) se (Volume [0]>1) ritorno;

2) se (Open [1]>ma) ; ?

grazie!


1) Se il volume sulla candela zero è più di 1, allora ritorna.

2) Se il prezzo di apertura della prima candela è superiore al valore della variabile ma. Il costrutto

 if (Open [1]>ma) ;

non ha diritto di esistere, poiché dalla condizione non consegue nulla. Non è chiaro al processore cosa dovrà fare, se la condizione è soddisfatta o meno.

 
okvseok:

cosa significano le linee: 1) se (Volume [0]>1) ritorno;

2) se (Open [1]>ma) ; ?

grazie!

Di solito si applica la condizione 1 per determinare se si è aperta una nuova barra. Nel tuo esempio se il volume della barra corrente >1 allora esci dal programma e il programma non funzionerà affatto. Nel secondo, dopo if (...) ma prima di ; è necessario descrivere qualche azione.
 
drknn:
Questo è un po' un termine improprio. La questione è come prescrivere in un EA, non in un indicatore. Ma grazie comunque, anche se la questione rimane aperta.

 
kwadrad:
Non è proprio questo il punto. La domanda è come scriverlo in un EA, non in un indicatore. Ma grazie comunque, anche se la questione rimane aperta.

Hai chiesto il codice - ti ho dato il codice.

Questo è anche fattibile in un EA. Dovete dichiarare un array, riempirlo di valori RSI, e poi potete elaborare questo array come volete. Compresa la funzione iMAOnArray()

 
drknn:

Hai chiesto il codice - ti ho dato il codice.

Questo è anche fattibile in un EA. Dovete dichiarare un array, riempirlo di valori RSI, e poi potete elaborare questo array come volete. Compreso l'uso della funzione iMAOnArray()

Sono le sottigliezze nel dichiarare e riempire con valori di array che causano difficoltà, cioè non funzionano sul grafico. Forse sto riempiendo la matrice dalla parte sbagliata o la mia ortografia è sbagliata. Funziona nell'indicatore. Non funziona nell'EA.
 
kwadrad:
Sono le sottigliezze nel dichiarare e riempire l'array di valori che causano difficoltà, cioè non funzionano nel grafico. Forse sto riempiendo l'array dalla parte sbagliata o l'ortografia è storta. Funziona nell'indicatore. Non è in un EA.
Ha letto articoli su questo argomento?
Trasferimento del codice di un indicatore al codice di un Expert Advisor. Costruzione di un indicatore.
Trasferimento del codice dell'indicatore al codice dell'Expert Advisor. Schemi generali di costruzione di un Expert Advisor e funzioni di indicatori
 
kwadrad:
Sono le sottigliezze nel dichiarare e riempire l'array di valori che causano difficoltà, cioè non funzionano nel grafico. Forse sto riempiendo l'array dalla parte sbagliata o l'ortografia è storta. Funziona nell'indicatore. Non funziona nell'EA.
// перед блоком инициализации советника пишем:
  extern int RazmerMassiva=10;// размер будущего массива
  double Massiv[1];//Перед блоком инициализации объявляем массив
  // в старте советника пишем:
  if(ArrayResize(Massiv,RazmerMassiva)==(-1)){
    Print("Ошибка № ",GetLastError()," при изменении размерности массива - размерность не изменена");
  }
  else{// заполняем массив значениями
    for(int i=0;i<RazmerMassiva;i++){
      Massiv[i]=iRSI(/* Сюда вставить нужные параметры */);
      // сразу проверяем что у нас в массив внесено
      Print("Massiv[",i,"] = ",Massiv[i]);
    }
  }
  // далее точно так же организзуем цикл, заполняющий другой массив значениями, возвращаемыми
  // функцией iMAOnArray() и точно так же сразу принтуем результат. Если принты показывают
  //биллеберду, то становится понятно в каком направлении искать. Без принтов Вы не разберётесь,
  //как работать с iMAOnArray()
 
Che cazzo è questo: 2012.07.20 07:15:00 '*****': order sell 0.10 EURUSD opening at 1.2256 sl: 0.0000 tp: 0.0000 failed [Trade context is busy], but for buy orders not busy?

E ora, il contrario: 2012.07.20 07:51:13 '*****': ordine buy 0.10 EURUSD apertura a 1.2258 sl: 0.0000 tp: 0.0000 failed [Il contesto del trade è occupato]

Di cosa potrebbe trattarsi?
 
yosuf:
Che cazzo è questo: 2012.07.20 07:15:00 '*****': order sell 0.10 EURUSD opening at 1.2256 sl: 0.0000 tp: 0.0000 failed [Trade context is busy], ma per gli ordini 'buy' non occupato?

E ora, il contrario: 2012.07.20 07:51:13 '*****': ordine buy 0.10 EURUSD apertura a 1.2258 sl: 0.0000 tp: 0.0000 failed [Il contesto del trade è occupato]

Di cosa potrebbe trattarsi?


https://www.mql5.com/ru/forum/100321

PS. Yusuf, la ricerca nel forum funziona.