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

 

if(!ExistPositions(Symbol(),-1,44444))OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point,444)

poprobuj

 
Zver4991:


quindi dovrebbe controllare se non ci sono posizioni aperte con questa procedura guidata a tutti, non importa con quale tempo di apertura..... un semplice limite sulla procedura guidata....toast

if(ExistPositions(NULL,-1,44444,-1)==falso)//se non ci sono posizioni aperte con questo numero magico allora check......

.... o forse non capisco.... ho -1 perché non mi interessa quando una posizione si è aperta ..... comunque si aprirà solo su una nuova barra e quando la vecchia è chiusa perché le condizioni specificano che la posizione può aprire solo se non ci sono posizioni aperte con questo numero magico

per renderlo ancora più semplice: aprire la posizione e aspettare che si chiuda.... quando si chiude poi si apre di nuovo e certamente non dovrebbe aprire su ogni barra una posizione con un tale mago.... è controllato di nuovo se non ci sono posizioni aperte con tale mago


Quindi metti 0 nell'ultimo parametro, in modo che non abbia importanza quando la posizione viene aperta.
 
r772ra:

Quindi metti 0, nell'ultimo parametro, così non avrà importanza quando la posizione è stata aperta.

L'ho fatto e non è servito, genera ancora una posizione su ogni barra
 
gince:

if(!ExistPositions(Symbol(),-1,44444))OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point,444)

poprobuj


Non funziona nemmeno, continua a timbrare un trade su ogni barra
 
Zver4991:

non aiuta ancora a timbrare su ogni barra

trovato l'errore..... è tutto sul simbolo che stavo impostando che non mi interessa quale simbolo cercare finché non sarebbe con questo mago ma quando ho impostato che quello corrente è ok per iniziare....anche se strano perché se non è sul simbolo corrente ed è su un altro allora non dovremmo aprire l'affare finché non si chiude sull'altro simbolo con questo mago
 
Come posso introdurre un parametro come l'angolo di una media mobile con certi parametri in un EA?
 
Come posso evitare che il limite sia impostato se è già impostato?
 
Profitov:
Come posso introdurre un parametro come l'angolo di una media mobile con certi parametri in un EA?

Dipende da cosa pungere )))
 
woin2110:
Come posso evitare che il limite sia impostato se è già impostato?

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.03.2008                                                     |
//|  Описание : Возвращает флаг существования ордеров.                         |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любой ордер)                    |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    ot - время открытия             ( 0   - любое время установки)          |
//+----------------------------------------------------------------------------+
bool ExistOrders(string sy="", int op=-1, int mn=-1, datetime ot=0) {
  int i, k=OrdersTotal(), ty;
 
  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      ty=OrderType();
      if (ty>1 && ty<6) {
        if ((OrderSymbol()==sy || sy=="") && (op<0 || ty==op)) {
          if (mn<0 || OrderMagicNumber()==mn) {
            if (ot<=OrderOpenTime()) return(True);
          }
        }
      }
    }
  }
  return(False);
}
 
Grazie mille.
Motivazione: