Caratteristiche utili da KimIV - pagina 48

 

Cioè l'aggiunta di una costante non influenza il risultato

Volevo fare un indicatore veloce, ma non ha funzionato (

 
Prival писал (а) >>

È una buona regola per diffidare. Controllate in qualsiasi pacchetto di matematica. Pubblicheremo i risultati. Lo faccio subito in MathCade.

Bene, ma bisogna controllare prima di esprimere incredulità. >> Mi scusi.

 
TheXpert писал (а) >>

Una buona, ma bisogna controllare prima di esprimere incredulità. Chiedo scusa.

Se avete dei dubbi, esprimeteli e siate sicuri di farlo. Dopotutto, non si vuole tornare indietro, non si vogliono cercare gli errori. Dovete essere sicuri che tutto sia stato fatto correttamente. Ma comunque non ci sono garanzie http://www.citforum.ru/programming/digest/scofdebug/.

 

Si scopre che le funzioni frattali sono state disarticolate su tutto il ramo.

Ne abbiamo trovati due:

restituisce il numero di barre tra gli ultimi frattali (BarsBetweenLastFractals(string sy="", int tf=0)),

l'altro, il livello dei prezzi dell'ultimo frattale (p.37).

Per chiudere il soggetto frattale in modo armonioso, abbiamo bisogno di un'altra funzione. Restituisce il numero di barra della parte superiore dell'ultimo frattale!

Igor! Se non è troppo difficile per te. Potresti produrre e mostrare una tale funzione?

 

Funzione ExistOrdersByPrice().

Restituisce un flag per l'esistenza di un ordine al prezzo impostato dato. True - l'ordine esiste (impostato), False - l'ordine non esiste (non impostato). Puoi limitare la lista degli ordini da controllare usando i parametri della funzione:

  • sy - Nome dello strumento di mercato. Se questo parametro è dato, la funzione controllerà solo gli ordini dello strumento specificato. NULL significa lo strumento corrente, e "" (di default) significa qualsiasi strumento.
  • op - Tipo di commercio, tipo di ordine pendente. Valori validi: OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT, OP_SELLSTOP o -1. Il valore predefinito di -1 indica qualsiasi tipo di ordine.
  • mn - Identificatore dell'ordine (MagicNumber). Il valore predefinito di -1 significa qualsiasi MagicNumber.
  • pp - Il livello di prezzo a cui è impostato l'ordine. Il valore predefinito di -1 è qualsiasi prezzo.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.07.2008                                                     |
//|  Описание : Возвращает флаг существования ордеров по цене установки        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    pp - цена                       (-1   - любая цена)                     |
//+----------------------------------------------------------------------------+
bool ExistOrdersByPrice(string sy="", int op=-1, int mn=-1, double pp=-1) {
  int d, i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()>1 && OrderType()<6) {
          d=MarketInfo(OrderSymbol(), MODE_DIGITS);
          pp=NormalizeDouble(pp, d);
          if (pp<0 || pp==NormalizeDouble(OrderOpenPrice(), d)) {
            if (mn<0 || OrderMagicNumber()==mn) return(True);
          }
        }
      }
    }
  }
  return(False);
}
 

Esempi di come usare la funzione ExistOrdersByPrice().

  • Controlla la disponibilità di qualsiasi ordine al prezzo di impostazione 1.4
    Message(IIFs(ExistOrdersByPrice("", -1, -1, 1.4), "Есть", "Нет"));
  • Controlla qualsiasi ordine al prezzo di setup 1.5 per lo strumento grafico corrente
    Message(IIFs(ExistOrdersByPrice(NULL, -1, -1, 1.5), "Есть", "Нет"));
  • Controlla se c'è un ordine BuyLimit al prezzo di setup 1,5 per qualsiasi strumento
    Message(IIFs(ExistOrdersByPrice("", OP_BUYLIMIT, -1, 1.5), "Есть", "Нет"));
  • Controlla la presenza di un ordine SellStop al prezzo di setup 1.4 con numero magico 123456 su EURUSD
    Message(IIFs(ExistOrdersByPrice("EURUSD", OP_SELLSTOP, 123456, 1.4), "Есть", "Нет"));
  • Controlla la presenza di un ordine al prezzo di setup 106 con numero magico 987 su USDJPY
    Message(IIFs(ExistOrdersByPrice("USDJPY", -1, 987, 106), "Есть", "Нет"));

P.S. In allegato c'è uno script per testare la funzione ExistOrdersByPrice().

 
rid писал (а) >>
Per "chiudere" il tema frattale in modo armonioso, è necessaria un'altra funzione. Restituisce il numero di barra della parte superiore dell'ultimo frattale!

Il 13 agosto 2008 ho pubblicato la funzione GetFractalBar (p.41).

 

La libreria b-Orders è stata pubblicata.

 
KimIV писал (а) >>

Il 13 agosto 2008, ho pubblicato la funzione GetFractalBar (pagina 41).

Sì, infatti! >> Grazie!

 
KimIV писал (а) >>

La libreria b-Orders è stata pubblicata.

Una biblioteca molto utile! A nome di tutti i presenti "grazie mille!".