Erreurs, bugs, questions - page 687

 
hrenfx:

00:02 - {NAN, 1.2310, 1.2290, 1.2305} (OHLC) ;

Où est la faille ?

Le défaut ici est que vous devez constamment prescrire une fonction pour déterminer les paramètres manquants de la barre. La nécessité de l'exemple que vous citez est un cas particulier.

hrenfx:

00:00 - {NAN, NAN, NAN, NAN} (OHLC) ;

Où est la faille ?

Je ne comprends pas cette construction, car les conseillers experts travaillent par tick et la plupart des conseillers experts ne se soucient pas de l'heure d'arrivée d'un nouveau tick.

Peut-être que cette conception est utilisée pour simplifier la synchronisation multidevise, mais l'absence de cette conception peut être remplacée avec succès par une fonction de recherche de la dernière barre qui s'est produite.

La présence de cette structure dans l'historique peut compliquer l'analyse dans la plupart des cas, car nous devons constamment identifier l'absence des paramètres manquants d'une barre.

p.s. Travailler avec les constructions que vous avez citées complique sérieusement le traitement. Il est beaucoup plus facile de trouver le dernier bar qui a eu lieu.

 

abolk:

1. Commencez-vous toujours à construire le bar au "prix de l'offre" ?

2. Quels sont ces prix ?

3. comment les connaissons-nous ?

1. Et à juste titre. Vous n'avez pas encore prouvé l'inexactitude d'un tel schéma. Tout ce que vous avez fait, c'est de souligner qu'"il y a des options".

2, 3. Les prix d'offre sont diffusés par le courtier. Ils sont appelés Bid et Ask. Et ce sont les prix réels jusqu'à ce qu'ils soient remplacés par d'autres. Les transactions ne sont pas du tout un critère, dans le Forex, seuls les changements de prix sont diffusés, et les transactions aux prix fixes peuvent être aussi nombreuses que vous le souhaitez - jusqu'à épuisement des volumes des limites les plus proches sur le marché dont les prix sont l'offre actuelle du courtier. Offre et demande actuelles . C'est compris ? Dans le cas contraire, demandez la documentation ou Yandex et Google.

 
abolk:
Le défaut ici est que vous devez constamment prescrire une fonction pour déterminer les paramètres manquants de la barre. La nécessité de l'exemple que vous citez est un cas particulier.

Ce n'est rien comparé à la mauvaise synchronisation, cependant, pour supprimer également ce défaut stressant, une offre alternative a été sondée :

Hrenfx:

Dans ce cas, s'il n'y a pas de prix d'offre au moment de la minute (ouverture de la session de négociation), aucune barre n'est formée, ...

Pour le même exemple :

  1. Ouverture de la session de négociation 00:00:00.
  2. Le premier prix apparaît à 00:02:34 - 1.2301. Puis, en l'espace d'une minute, le prix évolue dans la fourchette de 1,2290 - 1,2310. Et à la fin de 00:02 minutes, il devient 1.2305.

Elle serait la suivante :

  • Les barres de 00:00 et 00:01 sont absentes.
  • 00:02 - {1.2301, 1.2310, 1.2290, 1.2305} (OHLC) ;

Quels autres défauts y a-t-il ?

P.S. La variante avec NAN est la plus logiquement correcte. La variante de compromis permet de se débarrasser de l'opérateur conditionnel if sur chaque barre mais elle nécessitera la synchronisation des barres multi-frais au moment de l'ouverture/fermeture de la session de trading.

 
MetaDriver:

C'est compris ? Dans le cas contraire, demandez la documentation ou Yandex et Google.

Je ne comprends pas. Pourquoi ce ton arrogant constant ?

Une sorte de manie infondée de l'omniscience, de l'omniscience et de l'omniscience.

Je vais prendre un congé.

 
abolk:
Je ne peux rien dire sur la présence/absence de barres "ratées" - ce n'est pas critique pour moi. Les problèmes de mise en œuvre sont également inconnus. Peut-être sont-ils importants et la solution actuelle est un compromis pour le moment. S'il est si important et qu'il n'est pas présent dans le terminal, le "dessin" des barres "ratées" peut être mis en œuvre manuellement.
Andriy, j'ai une faveur à vous demander - s'il vous plaît, n'interférez pas dans les sujets qui ne sont pas critiques pour vous. Une telle interférence est comme une tentative de "sage" sur un sujet sans importance - il est sûr et donne l'occasion de prendre un statut "point" de ceux qui sont présents. Si vous arrivez à trouver une bonne idée. Vous n'avez pas réfléchi au domaine actuel à plusieurs reprises, vous ne pouvez donc rien dire de sensé dans ce cas. Intelligent - signifie utile à ceux pour qui c'est essentiel. Je ne donne pas de conseils et de réponses sur le sujet de la "construction de graphiques" dans le terminal. Vous pensez que je n'ai pas d'idées à ce sujet ? Si, j'en ai. Je comprends simplement que je suis "hors du coup", parce que je ne l'utilise pas dans ma pratique quotidienne. Sans vouloir t'offenser, Andrew, je te demande simplement de t'expliquer. Tu as le droit d'exprimer ton opinion (tu l'as déjà fait), mais il est tout simplement stupide de ta part de commencer et de continuer cette discussion. Vous êtes tout simplement "déconnecté".
 
abolk:

Je ne comprends pas. Pourquoi ce ton arrogant constant ?

Une sorte de manie infondée de l'omniscience, de l'omniscience et de l'omniscience.

Je pense que je vais me retirer dans le jardin.

Ce n'est pas arrogant, c'est moqueur dans ce cas, ouvertement moqueur, non sans cela.

Étrangement, je n'ai aucun remords, car vous êtes désespérément stupide et sur le point de l'être.

 
MetaDriver:
Andrew, j'ai une requête à te faire - ne te mêle pas, s'il te plaît, des sujets qui ne sont pas critiques pour toi. Ce genre d'ingérence ressemble à une tentative de "faire le point" sur un sujet sans importance - sans danger et permet au "point" au statut occasionnel de se foutre de la gueule des personnes présentes. Si vous arrivez à trouver une bonne idée. Vous n'avez pas réfléchi au domaine actuel à plusieurs reprises, vous ne pouvez donc rien dire de sensé dans ce cas. Intelligent - signifie utile à ceux pour qui c'est essentiel. Je ne donne pas de conseils et de réponses sur le sujet de la "construction de graphiques" dans le terminal. Je comprends simplement que je ne suis pas dans le coup, parce que je ne l'utilise pas dans ma pratique quotidienne. Sans vouloir t'offenser, Andrew, mais juste une demande. Tu as le droit de publier ton opinion (tu l'as déjà fait), mais il est tout simplement stupide de ta part de commencer et de continuer cette dispute. Vous êtes tout simplement "déconnecté".

Quant à savoir si je dois ou non exprimer mon opinion, c'est à moi d'en décider. Aussi, permettez-moi de ne pas vous demander la permission de m'exprimer sur tel ou tel sujet, que je sois "on" ou "off". Si vous avez des droits de modérateur, vous pouvez supprimer mes messages et garder les vôtres. Mais comme vous n'avez pas de droits de modération, mais seulement un doigt d'honneur, alors ... ...vous pouvez l'utiliser pour votre propre "compréhension correcte du sujet".

 
Laissez-vous aller - aucun changement n'est attendu de sitôt sur ce front.
 

Pourquoi tous mes EA se plantent en supprimant les commandes ? Unecommande est passée et immédiatement supprimée.

Voici un exemple : 2011.01.24 М1, heure de passation des commandes 2:00. DC metaquotes-demo.

MqlTradeResult resultU,resultD;MqlTradeRequest request;MqlTick latest_price;MqlDateTime ctime ;
int OnInit()
{ request.symbol = _Symbol ; // symbole
request.volume = 0.1 ; // nombre de lots à négocier
request.magic = 52 ; // Nombre magique
request.type_filling = ORDER_FILLING_AON ; // type d'exécution de l'ordre - tout ou rien
request.deviation=40 ; // slippage par rapport au prix actuel
request.comment="TL" ;
request.type_time=ORDER_TIME_GTC ;
request.type_filling=ORDER_FILLING_RETURN ;
retour(0) ;
}
void OnTick()
{
if(OrderSelect(resultD.order) || OrderSelect(resultU.order) )
{ OrderSelect(resultU.order) ;
if(OrderGetDouble(ORDER_PRICE_OPEN)!=1.36207)
{ Print("bbb ",OrderGetDouble(ORDER_PRICE_OPEN) ;
request.action = TRADE_ACTION_REMOVE; // exécution immédiate
request.order=resultU.order ;
OrdreEnvoi(demande,résultatU) ;
request.order=resultD.order ;
OrdreEnvoi(demande,résultatD) ;

retour ;
}
OrderSelect(resultD.order) ;
if(OrderGetDouble(ORDER_PRICE_OPEN)!=1.35855)
{Print("sss ",OrderGetDouble(ORDER_PRICE_OPEN)) ;
request.action = TRADE_ACTION_REMOVE ; // exécution immédiate
request.order=resultU.order ;
OrdreEnvoi(demande,résultatU) ;
request.order=resultD.order ;
OrdreEnvoi(demande,résultatD) ;
retour ;
}
//nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
//nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn.
}else//new order
{ TimeCurrent(ctime) ;
if(ctime.hour==2){
request.action = TRADE_ACTION_PENDING ;
request.type=ORDER_TYPE_BUY_STOP ;
request.price=1.36207;
demande.sl=1.36031 ;
demande.tp=0 ;
OrdreEnvoi(demande,résultatU) ;

request.type=ORDER_TYPE_SELL_STOP ;
request.price=1.35855;
demande.sl=1.36031 ;
demande.tp=1.34484 ;
OrdreEnvoi(demande,résultatD) ;
}
}
}

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 
Cela fait maintenant six mois que je me bats avec ce bug dans différents EA((((((.
Raison: