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

 
solnce600:

È proprio questo .... Mi sono già scervellato.

Ho sbagliato la SECONDA CONDIZIONE?


Ho scritto un esempio SENZA il tuo codice. Questo è un esempio di dove ci sono le parentesi graffe { } e dove non ce ne sono... Ho scritto quali linee saranno eseguite e quando. Volevo solo farvi capire come organizzare la logica nel vostro codice. NON HAI LE PARENTESI GRAFFE... Vedete quindi nel mio esempio cosa succede in questo caso.

Non c'è bisogno di indovinare!!!!!!!!!!!!!! Cercate di capire...

 
artmedia70:

Ho scritto un esempio SENZA il tuo codice. Questo è un esempio di dove ci sono le parentesi graffe { } e dove non ce ne sono... Ho scritto quali linee saranno eseguite e quando. Volevo solo farvi capire come organizzare la logica nel vostro codice. NON HAI LE PARENTESI GRAFFE... Vedete quindi nel mio esempio cosa succede in questo caso.

Non c'è bisogno di indovinare!!!!!!!!!!!!!! Cercate di capire...


Grazie mille. Domani, a mente lucida, cercherò di mettere le cose in prospettiva.
 

Buona sera, potreste dirmi come implementare il seguente compito?

C'è un ingresso in un commercio a determinate condizioni. poi viene la quota, ma qui è il problema, come fare l'azione non aprire se il prezzo è più vicino di una certa distanza dal commercio precedente. Se il prezzo è più vicino alla precedente entrata (non importa se era la prima o 5,10 ecc.) di 30 pip, allora l'ordine non dovrebbe aprirsi.

Grazie per le risposte.

 
teplovoz:

Buona sera, potreste dirmi come implementare il seguente compito?

C'è un ingresso in un commercio a determinate condizioni. poi viene la quota, ma qui è il problema, come fare l'azione non aprire se il prezzo è più vicino di una certa distanza dal commercio precedente. Se il prezzo è più vicino all'entrata precedente (non importa se era la prima o 5,10 ecc.) di 30 pip, allora l'ordine successivo non dovrebbe aprirsi.

Grazie per le vostre risposte.

Tra il mercato e la posizione più vicina, credo di sì.

Funzione

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает расстояние в пунктах между рынком и ближайшей       |
//|             позицей                                                        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    op - торговая операция          (    -1      - любая позиция)           |
//|    mn - MagicNumber                (    -1      - любой магик)             |
//+----------------------------------------------------------------------------+
int DistMarketAndPos(string sy="", int op=-1, int mn=-1) {
  double d, p;
  int i, k=OrdersTotal(), r=1000000;

  if (sy=="" || sy=="0") sy=Symbol();
  p=MarketInfo(sy, MODE_POINT);
  if (p==0) if (StringFind(sy, "JPY")<0) p=0.0001; else p=0.01;
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy) && (op<0 || OrderType()==op)) {
        if (mn<0 || OrderMagicNumber()==mn) {
          if (OrderType()==OP_BUY) {
            d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
            if (r>d) r=NormalizeDouble(d, 0);
          }
          if (OrderType()==OP_SELL) {
            d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
            if (r>d) r=NormalizeDouble(d, 0);
          }
        }
      }
    }
  }
  return(r);
}

Chiama

if(DistMarketAndPos()>30)
   {
//открываемся
   }
 
r772ra:
tra il mercato e la posizione più vicina, credo di sì.

Capisco la logica, come faccio a calcolare il prezzo di apertura dell'ultimo scambio?
 
Aggiunta sopra
 
Ho capito che il prezzo è restituito da OrderOpenPrice()
Capisco che l'ordine può essere selezionato con la funzione OrderSelect(), ma come faccio a selezionare quest'ultimo?
 
r772ra:
Addendum sopra

non ha capito...
 
teplovoz:

Non capisco...


Capire cosa, esattamente?

 
r772ra:


Che cos'è esattamente?


Cosa intende con l'aggiunta di cui sopra?

In generale il significato è :

if(Bid<=(N-30*Point) && un'altra condizione)

{

Aprire un ordine di vendita;

}

N è il prezzo aperto dell'ultimo ordine - come faccio a saperlo?