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
[Deleted]  
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.