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

 

Ciao!

Sto chiedendo aiuto a dei professionisti.

Per favore consigliatemi come implementare la funzione di ridisegnare le linee dopo l'apparizione di una nuova candela e per diversi timeframe.

L'idea dell'indicatore è molto semplice - guarda il massimo e il minimo della candela precedente, aggiungendo 50 punti al massimo e 50 punti al minimo.

Grazie.

File:
help.mq4  1 kb
 
Zhunko:
La biblioteca. La biblioteca ha tutto per questo. Sezioni 4.3 e 4.6.


Vadim: aneddoto.

Lo zootecnico insemina le vacche con una siringa e se ne va. Una bella donna aspetta all'uscita e chiede un bacio.

 
neon51r:

Ciao!

Sto chiedendo aiuto a dei professionisti.

Per favore consigliate come implementare la funzione di ridisegnare le linee dopo l'apparizione di una nuova candela e per diversi timeframe.

L'idea dell'indicatore è molto semplice - guarda il massimo e il minimo della candela precedente, aggiungendo 50 punti al massimo e 50 punti al minimo.

Grazie.



Viene da un libro di testo.

//--------------------------------------------------------------------
// userindicator.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
#property indicator_chart_window    // Индик. рисуется в основном окне
#property indicator_buffers 2       // Количество буферов
#property indicator_color1 Blue     // Цвет первой линии
#property indicator_color2 Red      // Цвет второй линии
 
double Buf_0[],Buf_1[];             // Объявление массивов (под буферы индикатора)
//--------------------------------------------------------------------
int init()                          // Специальная функция init()
  {
   SetIndexBuffer(0,Buf_0);         // Назначение массива буферу
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
   SetIndexBuffer(1,Buf_1);         // Назначение массива буферу
   SetIndexStyle (1,DRAW_LINE,STYLE_DOT,1);// Стиль линии
   return;                          // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
       Counted_bars;                // Количество просчитанных баров 
//--------------------------------------------------------------------
   Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   while(i>=0)                      // Цикл по непосчитанным барам
     {
      Buf_0[i]=High[i]+50*Point;             // Значение 0 буфера на i-ом баре
      Buf_1[i]=Low[i]-50*Point;              // Значение 1 буфера на i-ом баре
      i--;                          // Расчёт индекса следующего бара
     }
//--------------------------------------------------------------------
   return;                          // Выход из спец. ф-ии start()
  }
//---------------------------------------------------------------------
 

aiuto con la sintassi

int k=OrdersTotal();

//+--imposta gli ordini se non ci sono ordini
if (k==0) {OrderSend(Symbol(),OP_BUYSTOP,v,PriceBs+Tp*Point,0,Sl,PriceBs+2*Tp*Point,NULL,mn,0,Red)

OrderSend(Symbol(),OP_SELLSTOP,v,PriceSs-Tp*Point,0,Sl,PriceSs-2*Tp*Point,NULL,mn,0,Gold) ; }


saranno effettuati entrambi gli ordini o solo uno?

Ho bisogno di gufi per piazzare due ordini pendenti se non ci sono ordini

 
sdm:

...

verranno piazzati entrambi i mandati o uno solo?



Ci saranno 0, 1 o 2 ordini.
 
neon51r:

Ciao!

Sto chiedendo aiuto a dei professionisti.

Per favore consigliate come implementare la funzione di ridisegnare le linee dopo l'apparizione di una nuova candela e per diversi timeframe.

L'idea dell'indicatore è molto semplice - guarda il massimo e il minimo della candela precedente, aggiungendo 50 punti al massimo e 50 punti al minimo.

Grazie.


Non appena la nuova candela arriva, si ridisegna.

 
Integer:

Sarà 0, 1 o 2 ordini.

deve mettere entrambi gli ordini quando non ci sono ordini

Non capisco come funziona: secondo il tutorial, sembra che piazzi il primo ordine e il secondo solo se ci sono ordini, ma come posso fare in modo che li piazzi entrambi se la condizione è soddisfatta e nessuno se la condizione non è soddisfatta?

 
sdm:

Ho bisogno di piazzare entrambi gli ordini quando non ci sono ordini

o non ho impostato correttamente la condizione? non capisco come funziona se nel tutorial sembra che piazzerà il primo ordine e il secondo solo se ci sono ordini, ma come dovrei fare per piazzarli entrambi se la condizione è soddisfatta e nessuno se la condizione non è soddisfatta


Va bene la condizione, entrambe le richieste saranno impostate, ma nessuno può garantire che saranno eseguite entrambe.
 

int x=0, a=0, b=0

se (x==0) {

}

Cosa dovrei scrivere tra parentesi, in modo che a prenda il valore 1 e b prenda il valore 1?

 
sdm:

int x=0, a=0, b=0

se (x==0) {

}

Cosa dovrei scrivere tra parentesi, in modo che a prenda il valore 1 e b prenda il valore 1?


Il modo più semplice è scrivere {a=1; b=1}, ma potete inventare qualche bella formula a più pagine per calcolarli, se proprio volete.
Motivazione: