Aide au codage - page 538

 

J'ai posté sur FF et maintenant sur le forum MQL, alors je tente ma chance ici.

Avant de commencer, je tiens à mentionner que je ne suis en aucun cas un codeur, à peine un script kiddie. J'ai réussi à stocker le prix en temps réel dans Excel avec l'horodatage. Existe-t-il un moyen de ne stocker que lorsque le prix est en mouvement ? Parce qu'Excel continue à stocker toutes les secondes, ce qui signifie qu'il y aura beaucoup d'espaces vides avec le timestamp.

Pendant que j'y suis, y a-t-il aussi un moyen de coder de telle sorte que lorsque chaque minute passe, il saute à la colonne suivante et stocke à partir de là ? J'utilise xlsapp pour coder. Voici le code :

//+------------------------------------------------------------------+

//| Test1.mq4 |

//| Copyright 2015, MetaQuotes Software Corp. |

//| / |

//+------------------------------------------------------------------+

#property copyright "Copyright 2015, MetaQuotes Software Corp."

#property link "https://www.mql5.com"

#property version "1.00"

#property strict

#include

chaîne externe StartBid= "C3" ;

extern string StartAsk= "D3" ;

extern string StartSpread="F3" ;

chaîne externe StartTime="A3" ;

bool xlsgateok=false ;

string StrBid ;

string StrAsk ;

string StrSpread ;

string StrTime ;

//+------------------------------------------------------------------+

//| Fonction d'initialisation de l'expert

//+------------------------------------------------------------------+

int OnInit()

{

StrBid=StartBid ;

StrAsk=StartAsk ;

StrSpread=StartSpread ;

StrTime=StartTime ;

if (ExcelInit("mt4") && ExcelStart(""))

{

Print("XLSgate init done") ;

xlsgateok=true ;

Print("Version d'Office = "+ExcelVersion()) ;

ExcelSheetAdd("MT4") ;

}

//---

return(INIT_SUCCEEDED) ;

}

//+------------------------------------------------------------------+

//| Fonction de désinitialisation experte |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

{

//---

}

//+------------------------------------------------------------------+

//| Fonction tick expert |

//+------------------------------------------------------------------+

double lastBid=0 ;

double lastAsk=0 ;

int lastSpread=0 ;

datetime time=0 ;

void OnTick()

{

//---

if(xlsgateok && lastBid!=Bid)

ExcelSetValue(StrBid,Bid) ;

lastBid=Bid ;

StrBid=ExcelRowAdd(StrBid,1) ;

if(xlsgateok && lastAsk!=Ask)

ExcelSetValue(StrAsk,Ask) ;

lastAsk=Ask ;

StrAsk=ExcelRowAdd(StrAsk,1) ;

ExcelSetValue(StrSpread,(Ask-Bid)/Point) ;

StrSpread=ExcelRowAdd(StrSpread,1) ;

string s= TimeToStr(TimeCurrent()) ;

ExcelSetString(StrTime,s) ;

StrTime=ExcelRowAdd(StrTime,1) ;

}

//+------------------------------------------------------------------+

 
mladen:
henrykfx Ils ne seront jamais les mêmes simplement parce que l'indicateur que vous avez posté se repeint. Ils ne peuvent pas être les mêmes

Miaden, s'il vous plaît, qu'il se repeigne ou non, faites-moi une faveur et incluez la notification pop up et l'alerte sonore, et permettez-moi de m'en affliger ou de m'en réjouir ; après tout, le poison d'un homme est la viande d'un autre homme, tandis que la viande d'un homme est le poison d'un autre homme . Si vous pouvez aider les autres sans effort, je ne vois pas pourquoi mon propre cas devrait être un tabou. S'il vous plaît, faites-le pour moi, même si c'est votre cadeau de Noël, je vous en serai très reconnaissant. Plus vous tardez, plus vous me privez de trading.

 
henrykfx:
Miaden, s'il vous plaît, qu'il se repeigne ou non, faites-moi une faveur et incluez la notification pop up et l'alerte sonore, et permettez-moi de m'en affliger ou de m'en réjouir ; après tout, le poison de l'un est la viande de l'autre, tandis que la viande de l'un est le poison de l'autre. Si vous pouvez aider les autres sans effort, je ne vois pas pourquoi mon propre cas devrait être un tabou. S'il vous plaît, faites-le pour moi, même si c'est votre cadeau de Noël, je vous en serai très reconnaissant. Plus vous tardez, plus vous me privez d'échanges.

Je ne code pas d'alertes pour les indicateurs REPAIRS. Vérifiez, par exemple, ce fil de discussion : https://www.mql5.com/en/forum/180648 et voyez combien de fois j'ai refusé de faire cela et combien de fois j'ai dit que l'utilisation d'indicateurs repeints en mode signal/alerte est très dangereuse. Donc, vous n'êtes pas une exception mais votre demande est une règle de base pour moi : je ne veux pas prendre part à une chose que je considère comme dangereuse pour les traders.

tous mes vœux

 

La toute dernière demande !

A tous les codeurs, mais avec des remerciements particuliers à mladen. Non seulement pour son codage, mais aussi pour ses patients dans les nombreuses, et parfois stupides, demandes que j'ai faites au fil des ans. Merci camarade.... c'est vraiment très apprécié .

Puis-je vous demander une dernière chose ?

Pourriez-vous ajouter une fonction d'alerte de vague à la ligne d'alerte inférieure de l'indicateur 'Advanced ADX' ci-joint ?

L'utilisateur peut choisir le son Wav.

Pour fonctionner UNIQUEMENT sur une barre montante.

Si tout va bien, je posterai mon système, avec le résultat dans un futur proche.

Dossiers :
 
Jeeves:
A tous les codeurs, mais avec des remerciements spéciaux à mladen. Non seulement pour son codage, mais aussi pour ses patients dans les nombreuses, et parfois stupides, demandes que j'ai faites au fil des ans. Merci camarade.... c'est vraiment très apprécié.

Puis-je vous demander une dernière chose ?

Pourriez-vous ajouter une fonction d'alerte de vague à la ligne d'alerte inférieure de l'indicateur 'Advanced ADX' ci-joint ?

L'utilisateur peut choisir le son Wav.

Pour fonctionner UNIQUEMENT sur une barre montante.

Si tout va bien, je posterai mon système, avec les résultats, dans un avenir proche.

Jeeves

Sera fait

 

Tu es l'homme de la situation mon ami..... tout ce que je peux faire pour toi, envoie-moi un message.

 
mrtools:
Bonjour Henrykfx, comme je l'ai dit plus tôt l'indicateur CROSS est un indicateur de croisement d'EMA qui se repeint, si vous allez sur le lien que j'ai fourni et téléchargez cet indicateur et mettez le MaType sur EMA et la période Ma rapide sur 5 et la période Ma lente sur 20 alors vous obtiendrez de vraies valeurs de croisement d'EMA sans repeindre les flèches sur une barre fermée, et avec des alertes.

Ok mrtools, merci de votre intérêt pour mon problème. Maintenant, j'ai obtenu ce que je voulais, mais le problème est qu'il sonne l'alerte et pop up pour la prochaine barre. pouvez-vous m'aider à corriger le bug. de sorte que les alertes et la notification pop up sera quand et où il ya un signal d'achat ou de vente.Merci pour votre temps.

Dossiers :
 
mladen:
Je ne code pas d'alertes pour les indicateurs REPAIRS. Vérifiez, par exemple, ce fil de discussion : https://www.mql5.com/en/forum/180648 et voyez combien de fois j'ai refusé de faire cela et combien de fois j'ai dit que l'utilisation d'indicateurs repeints en mode signalisation/alerte est très dangereuse. Donc, vous n'êtes pas une exception mais votre demande est une règle de base pour moi : je ne veux pas prendre part à une chose que je considère comme dangereuse pour les traders.

Merci pour votre réponse franche. Dans ma recherche incessante, j'en ai trouvé un qui est utile mais qui alerte et notifie à l'ouverture d'une nouvelle barre. Pouvez-vous m'aider à corriger le bug, afin d'alerter et de notifier lorsqu'il y a un signal d'achat ou de vente seulement. Merci pour votre temps.

Dossiers :
 
henrykfx:
Merci pour votre réponse franche. Dans ma recherche incessante, j'en ai trouvé un qui est utile mais qui alerte et notifie à l'ouverture d'une nouvelle barre. Pouvez-vous m'aider à corriger le bug, afin d'alerter et de notifier lorsqu'il y a un signal d'achat ou de vente seulement. Merci pour votre temps.

henrykfx

Cet indicateur utilise également des valeurs futures (repaints) - il utilise exactement la même logique que le précédent dont nous parlions.

Bonne continuation

 
mladen:
henrykfx

Cet indicateur utilise aussi des valeurs futures (repaints) - il utilise exactement la même logique que le précédent dont nous parlions.

tous mes vœux

Mladen, vous avez dit l'autre jour que 99% des indicateurs ne se repeignent pas. Vous écrivez partout "repaint, repaint, repaint".