FOREX - Tendenze, previsioni e implicazioni 2016 - pagina 722

 
Vladimir Zubov:

1. come faccio a fare un nuovo controllo candlestick in modo che un'iterazione sia al primo tick?

Mi sembra di avere questo codice che funziona per controllare l'attivazione sull'apertura di una candela :(

2. Perché no, si tratta della funzione di Kim per determinare la barra di una posizione aperta?

P/S Girato MT4 ora tutto da capo scrivere ...

1.

if(iTime(Symbol(),PERIOD_H1,0)==prevTime) return(0);

datetime prevTime=iTime(Symbol(),PERIOD_H1,0);

Più avanti il tuo codice

E questo è tutto....

/Questo è per H1

Ah sì, il bar sta guardando lì. Bene, allora funzionerà.

E dopo int ticket=OrderSelect() - hai un'analisi - l'ordine si è aperto o no? if(ticket<0)GetLastError() - lo è?

 
new-rena:

1.

if(iTime(Symbol(),PERIOD_H1,0)==prevTime) return(0);

prevTime=iTime(Symbol(),PERIOD_H1,0);

Più avanti il tuo codice

E questo è tutto....

/Questo è per H1

Sì... Ho bisogno di combinare qualcosa, non si usa void OnTick() immagino, intendo la sintassi 2014?
 
Vladimir Zubov:
Sì... Penso che tu non stia usando void OnTick(), intendo la sintassi 2014?
 
new-rena:

Oppure puoi sostituire la tua versione, una più corretta, ho problemi con la compilazione, credo che tu abbia delle parentesi in Return, ma non lo so?

 
//+------------------------------------------------------------------+
//|                                                       Privet.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
// ============= Переменные ==========================================
int      prev_time = 0;     // Работа по ценам открытия свечи
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {//-Start-

// ======= Работа по ценам открытия свечи ============================
  if ( Time[0] <= prev_time ) {return;}
  prev_time = (int)Time[0];

// ========================== My EA ==================================
{


}  

// ========================== EA END =================================

  }//-Start End-

// ================= Функции =========================================  
//+------------------------------------------------------------------+
Это MT4
 
0
Vladimir Zubov:

Senza le parentesi, prima era un po' accigliata la compilazione. Perché "<="? Al contrario, quando l'uguaglianza "==" la calcia indietro. Cioè, se la barra corrente, aspettiamo che il tempo diventi diverso. E il tempo è int, dovrebbe essere datetime, giusto?

int init()   { //---    //---    return(0);   } //+------------------------------------------------------------------+ //| Expert deinitialization function                                 | //+------------------------------------------------------------------+ int deinit()   { //---    return(0);   } //+------------------------------------------------------------------+ //| Expert tick function                                             | //+------------------------------------------------------------------+ int start()

{

return(0);

}

 
new-rena:
0

Senza le parentesi, prima era un po' accigliata la compilazione. Perché "<="? Al contrario, quando è uguale (==) lo cacciamo indietro. Cioè, se bar attuale, aspettiamo che il tempo diventi diverso. E il tempo è int, penso che sia sempre stato datetime?

Non sono entrato nei dettagli, da qualche parte qui ha preso qualche libro di testo o articolo, ma era nel 2012 o prima, forse ora è diverso, ecco perché a volte glitch in tempo reale.

P.S. Il prodotto è grezzo per il mercato, mi ritirerò dall'approvazione, uno strano problema non ha notato prima.

Risulta che dopo l'iterazione non sono venuto fuori in ritorno e può lavorare di nuovo?

 
Vladimir Zubov:
Non sono entrato nei dettagli, da qualche parte qui è preso da un libro di testo o da un articolo, ma era nel 2012 o prima, forse ora è diverso, ecco perché a volte fa glitch nella vita reale.

Va bene, allora...

Perché non può funzionare? Eseguilo in modalità visiva nel tester - queste cose salteranno fuori e lo sistemerai una volta. Il prossimo non sarà così fastidioso.

Non sarebbe male nemmeno lucidare la demo dopo.

 
new-rena:
Va bene, allora...
Bene per me per il mercato, ed è così che blocco sempre la candela. E se la gente mi chiede perché si è aperto due volte e io non lo so? Non va bene...)
 
new-rena:

Va bene, allora...

Perché non può funzionare? Eseguilo in modalità visiva nel tester - queste cose salteranno fuori e lo sistemerai una volta. Il prossimo non sarà così divertente.

Nel tester come sempre tutto va bene e ha preso anche un anno fa con questo codice, ma io stesso sono perplesso perché si è aperto due volte, e se 100 volte ?