FOREX - Tendances, prévisions et implications 2016 - page 722

 
Vladimir Zubov:

1. Comment puis-je créer un nouveau contrôle de chandelier de sorte qu'une itération se fasse au premier tick ?

Il me semble que ce code fonctionne pour contrôler le déclenchement sur l'ouverture d'une bougie :(

2. Pourquoi pas, il s'agit de la fonction de Kim pour déterminer la barre d'une position ouverte ?

P/S Turned MT4 maintenant tout recommencer écrire ...

1.

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

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

Plus loin votre code

Et c'est tout....

/C'est pour H1

Ah oui, le bar est en train de regarder là. Eh bien, ça va marcher alors.

Et après int ticket=OrderSelect() - avez-vous une analyse - l'ordre a-t-il été ouvert ou non ? if(ticket<0)GetLastError() - l'est-il ?

 
new-rena:

1.

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

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

Plus loin votre code

Et c'est tout....

/C'est pour H1

Ouaip... J'ai besoin de combiner quelque chose, vous n'utilisez pas void OnTick() je suppose, je veux dire la syntaxe 2014 ?
 
Vladimir Zubov:
Ouais... Je pense que vous n'utilisez pas void OnTick(), je veux dire la syntaxe 2014 ?
Oui,
 
new-rena:
Oui,

Ou vous pouvez substituer votre propre version, une version plus correcte, j'ai des problèmes avec la compilation, je pense que vous avez des crochets dans Return, mais je ne sais pas ?

 
//+------------------------------------------------------------------+
//|                                                       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:

Sans les parenthèses, la compilation était un peu mal vue avant. Pourquoi "<=" ? Au contraire, lorsque les égaux "==", nous les renvoyons. C'est-à-dire que si la barre actuelle, nous attendons que le temps devienne différent. Et l'heure est int, elle devrait être datetime, non ?

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

{

return(0);

}

 
new-rena:
0

Sans les parenthèses, la compilation était un peu mal vue avant. Pourquoi "<=" ? Au contraire, lorsqu'il est égal (==), nous le renvoyons. C'est-à-dire que si le courant passe, nous attendons que le temps devienne différent. Et l'heure est int, je pense que c'était toujours datetime ?

Je ne suis pas rentré dans les détails, quelque part ici a pris un manuel ou un article, mais c'était en 2012 ou avant, peut-être que maintenant c'est différent, c'est pour ça que ça bug parfois en temps réel.

P.S. Le produit est brut pour le marché, je vais retirer de l'approbation, un problème étrange n'a pas remarqué avant.

Il s'avère qu'après itération, je ne suis pas sorti en retour et je peux travailler à nouveau ?

 
Vladimir Zubov:
Je ne suis pas rentré dans les détails, quelque part ici est tiré d'un manuel ou d'un article, mais c'était en 2012 ou avant, peut-être que maintenant c'est différent, c'est pour ça que ça glitch parfois dans la vraie vie.

Très bien, alors...

Pourquoi ça ne peut pas marcher ? Faites-le fonctionner en mode visuel dans le testeur - ces choses apparaîtront et vous les réparerez une fois. Le prochain ne sera pas aussi ennuyeux.

Cela ne ferait pas de mal non plus de polir la démo par la suite.

 
new-rena:
Très bien, alors...
Bien pour moi pour le marché, et c'est comme ça que je bloque toujours la bougie. Et si les gens demandent pourquoi il a été ouvert deux fois et que je ne le sais pas moi-même ? Ce n'est pas bon...)
 
new-rena:

Très bien, alors...

Pourquoi ça ne peut pas marcher ? Faites-le fonctionner en mode visuel dans le testeur - ces choses apparaîtront et vous les réparerez une fois. Le prochain ne sera pas aussi drôle.

Dans le testeur comme toujours tout va bien et a pris il ya un an avec ce code aussi, mais je suis moi-même perplexe pourquoi il a ouvert deux fois, et si 100 fois ?