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

 
fxseminar:
-- Spiacente, l'indicatoreCustom Moving Average NON può fare la media sui tick. Come funzionerebbe (apparirebbe) allora su un timeframe giornaliero, per esempio - puoi immaginare?

Va bene, solo la barra zero (non finita) viene ricalcolata. Ma sono le barre, i prezzi delle barre, ad essere mediati. Se impostate appled_price -- PRICE_CLOSE, leggerà i prezzi di chiusura delle barre, ma non tutti i tick.

In generale, su una barra non finita, il prezzo di chiusura è uguale al prezzo Bid e, se questo prezzo cambia, l'indicatore riassume 13 valori di prezzo e li divide per 13. Non molto tempo...

double  iMA(
   string       symbol,           // имя символа
   int          timeframe,        // таймфрейм
   int          ma_period,        // период
   int          ma_shift,         // сдвиг средней
   int          ma_method,        // метод усреднения
   int          applied_price,    // тип цены
   int          shift             // сдвиг

   );



 

Ciao a tutti) ha deciso di fare un robot) - ) )

In breve, il problema di non sapere come controllare il numero di ordini sul grafico corrente (algoritmo di esempio - SE sul --(((( LIKE)))) -- ordini aperti <=2 allora compra, vendi, ecc.

- Ho tutti gli ordini e a causa del gran numero di ordini non compra sulla coppia di valute su cui è necessario

Sto cercando una risposta).

Sarei molto grato)

 
Tema97:

Ciao a tutti) ha deciso di fare un robot) - ) )

In breve, il problema di non sapere come controllare il numero di ordini sul grafico corrente (algoritmo di esempio - SE sul --(((( LIKE)))) -- ordini aperti <=2 allora compra, vendi, ecc.

- Ho tutti gli ordini e a causa del gran numero di ordini non compra sulla coppia di valute su cui è necessario

Sto cercando una risposta).

Sarei molto grato)

int count=0; // счетчик открытых ордеров

//--- алгоритм подсчета открытых ордеров

if(OrdersTotal()>0)
  {
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()!=Symbol()) continue; // Если не символ текущего графика
                                               // перейдём к проверке следующего ордера

         if(OrderType()==OP_BUY ||     // если это открытый ордер на покупку или
            OrderType()==OP_SELL)      // если это открытый ордер на продажу
            count++;                   // увеличение счетчика на 1
        }
     }
  }

//--- покупаем, продаем и т.д.
if(count<=2)
  {
   // ...
  }
 
if(OrdersTotal()>0)
А это зачем?????????

	          
 
eevviill:

è come - se ci sono più di 0 ordini, allora continua l'algoritmo (come se ci sono comprati o 0 - se ci sono zero, allora perché fare l'algoritmo)

 
paladin80:

Grazie mille ) Sto lottando da ieri )
 
Tema97:

è come - se ci sono più di 0 ordini, allora continua l'algoritmo (come se ci sono comprati o 0 - se ci sono zero, allora perché fare l'algoritmo)

for(int i=OrdersTotal()-1; i>=0; i--)
тут даже не будет 1 итерации если ордеров 0
это просто лишний код(if(OrdersTotal()>0))
 
Ragazzi, chi mi aiuterà questa volta? - Ho scritto un codice - ne ho uno strano - ho bisogno che il prezzo vada dall'alto al basso allamedia mobile e compri (come un rimbalzo) - se conosci il codice giusto, per favore fammi sapere)))
 
eevviill:

Se usate questo algoritmo nei vostri programmi, rimuovetelo

if(OrdersTotal()>0)

e vedere cosa succede.

 
Tema97:
Ragazzi, chi mi aiuterà questa volta? - Ho scritto un codice - ne ho uno strano - ho bisogno che il prezzo vada dall'alto al basso alla media mobile e compri (come un rimbalzo) - se conosci il codice giusto, per favore fammi sapere)))
Il CodeBase ha una tonnellata di EAs e penso che ne troverai alcuni con il tuo algoritmo che puoi ricreare da solo.