PDA

Afficher la version compl?te : Indicateur non visible pour EA



Hzuo
06/06/2013, 08h17
1 pi?ce(s) jointe(s) J'essaie d'utiliser le ma-wpr.mq4 dans un EA. mais cela ne donne pas de valeur ? l'EA. apparemment quelque chose ? voir avec le tampon.

Quelqu'un sait comment le r?parer ou s'il y a un autre indior qui fait la m?me chose qu'un EA peut voir.

C'est juste un MA de l'int?rieur %R

THX


https://www.sundytrading.com/attachments/15291967861575454324.mq4

Hzuo
02/10/2022, 22h00
Si je devais essayer de le changer simplement en 1, comment feriez-vous cela? changer IndiorMoreShift() en IndiorMoreShift(1), et si c'est le cas sous double ou int ou les deux?? Pour affiner ma recherche, si vous deviez ?crire ce code, quelle d?claration de fonction utiliseriez-vous ? la place de IndiorMoreShift et pourriez-vous apporter cette modification uniquement dans iCustom ou devriez-vous inclure des modifications dans d'autres parties du code?? J'essaie d'obtenir de la documentation de fxDreena sur IndiorMoreShift, si je le fais, je vais peut-?tre l'ex?cuter par vous et voir si c'est une solution facile ou non Merci encore pour votre aide

moksaldaz
02/10/2022, 23h22
Ok, il me semble donc avec toutes mes vastes connaissances avec le codage (pas) que j'ai besoin d'obtenir l'EA pour obtenir la valeur des barres 1,2 et 3. Dans le g?n?rateur EA, cela est r?pertori? comme Candle ID que j'ai d?fini pour 1 et 2. J'ai effectu? une recherche sur IndiorMoreShift() ? la fois dans le forum MQL4 et sur Google. les seuls r?sultats provenaient de Google. 4 r?sultats ont ?t? trouv?s incluant ce post. les 3 autres provenaient de la
Oui, c'est une d?claration de fonction sp?cifique ? fxDreem, elle sera d?clar?e quelque part dans votre code ou dans un fichier suppl?mentaire inclus. Si vous souhaitez d?finir le d?calage sur 1, vous n'avez pas besoin d'utiliser cette fonction, remplacez-la simplement par 1 . . . mais cela peut avoir des effets secondaires, vous devez comprendre ce que fait tout le code et comment il essaie de le faire. Essaie le
http://forum.mql4.com/ (https://www.google.com/url?sa=trct=jq=esrc=ssource=webcd=1cad=rjaved=0CC4 QFjAAurl=http://fxdreema.com/documentation de fxDreema /collection%20of%20functions%20for%20mql4/indiormoreshiftei=OVyyUZTgMca_igKT54CIBgusg=AFQjCN EZF0gZgZ38Dl-3wVXN0zEx1gkDTQsig2=_0DABD_2AKff9qxcwFW6vQbvm=bv.4 753.4661), il y a un libre
[URL]http://book.mql4.com/l? aussi . . .

Hzuo
03/10/2022, 00h44
Ok, il me semble donc avec toutes mes vastes connaissances avec le codage (pas) que j'ai besoin d'obtenir l'EA pour obtenir la valeur des barres 1,2 et 3. Dans le g?n?rateur EA, cela est r?pertori? comme Candle ID que j'ai d?fini pour 1 et 2. J'ai effectu? une recherche sur IndiorMoreShift() ? la fois dans le forum MQL4 et sur Google. les seuls r?sultats provenaient de Google. 4 r?sultats ont ?t? trouv?s incluant ce post. les 3 autres venaient de chez fxDreema
https://www.google.com/url?sa=trct=jq=esrc=ssource=webcd=1cad=rjaved=0CC4 QFjAAurl=http://fxdreema.com/documentation/collection%20of%20functions%20for%20mql4/indiormoreshiftei=OVyyUZTgMca_igKT54CIBgusg=AFQjCN EZF0gZgZ38Dl-3wVXN0zEx1gkDTQsig2=_0DABD_2AKff9qxcwFW6vQbvm=bv.4 7534661,d.cGEpages, dont l'une affiche ce code?: int IndiorMoreShift ( bool set = false , int shift = 0 ) { static int mem?; if ( set == true ) { mem = shift ; } else {/int return_val=mem?; m?moire=0?;/r?initialiser/return(return_val); } retour (m?moire); } parce qu'il montre une option de d?calage, j'?tais content, mais quand j'ai essay? de l'ins?rer dans le code de l'EA, il a ?t? compil? avec plusieurs erreurs variables non d?finies Avec ma chance, ce n'est pas ce que je recherchais en premier lieu, mais le fait que Je ne sais pas comment coder signifie que je ne l'ai probablement pas ins?r? correctement dans le code. J'ai ?galement chang? le Set ? True et le d?calage ? 1. Voici ce que j'ai fait : void tick8(string _parent_=) {if (tick8==false) {return;}/Lo double f_Lo_1= iCustom(CurrentSymbol() ,CurrentTimeframe(),ma-wpr, 39,10, 0,0 IndiorMoreShift(that if)); int RaptorShift = IndiorMoreShift( bool set=true, int shift=1) { static int mem; if (set==true) {mem=shift;} else {/int return_val=mem; m?moire=0?;/r?initialiser/return(return_val); } retour(mem); Print(La valeur renvoy?e par iCusrtom pour le d?calage du tampon 0, RaptorShift, est : , DoubleToStr(f_Lo_1, Digits) ); if(RaptorShift == 0) { Print(La valeur renvoy?e par iCusrtom pour le buffer 0 shift 1 est : , DoubleToStr( iCustom(NULL, 0,ma-wpr, 39,10, 0, 1), Digits) ); Print(La valeur renvoy?e par iCusrtom pour le buffer 0 shift 2 est : , DoubleToStr( iCustom(NULL, 0,ma-wpr, 39,10, 0, 2), Digits) ); Print(La valeur renvoy?e par iCusrtom pour le buffer 0 shift 3 est : , DoubleToStr( iCustom(NULL, 0,ma-wpr, 39,10, 0, 3), Digits) ); }/Ro double f_Ro_2=-50?;/Condition if (f_Lo_1gt;f_Ro_2) {tick10(8);} else {/* Inverted output */} } Si je ne suis pas dans le stade, pouvez-vous me dire quelle partie je devrais regarder, et peut-?tre un MQL4 forum ? consulter ? Merci pour votre aide

moksaldaz
03/10/2022, 02h07
ok j'ai post? le mauvais code avant, mais j'ai modifi? ce que vous avez envoy? donc cela devrait ?tre correct (veuillez confirmer) Cela me semble correct car les d?calages 1, 2 et 3 affichent la valeur correcte. Mais je ne comprends pas que le d?calage 0 soit 2147483647.0000 L'EA devrait dessiner une fl?che lorsque la valeur traverse le -50 de l'int?rieur du d?calage 2 au d?calage 1, mais ne le fait toujours pas.
Cela me semble correct aussi, 2147483647 est
http://docs.mql4.com/constants/specialLe probl?me est probablement caus? par IndiorMoreShift() renvoyant 0, donc la valeur Indior demand?e est pour la barre 0, tout Indior qui ne repeint pas n'aura pas de valeur valide pour la barre 0. Comme je l'ai dit. . .

Ces outils de type g?n?rateur EA sont assez mal ?crits et produisent g?n?ralement un code m?diocre.

Ces outils de type g?n?rateur EA sont assez mal ?crits et produisent g?n?ralement un code m?diocre.

Hzuo
03/10/2022, 03h29
ok j'ai post? le mauvais code avant, mais j'ai modifi? ce que vous avez envoy? donc cela devrait ?tre correct (veuillez confirmer) void tick8(string _parent_=) {if (tick8==false) {return;}/Lo double f_Lo_1= iCustom( CurrentSymbol(),CurrentTimeframe(),ma-wpr, 39,10, 0,0 IndiorMoreShift()); int RaptorShift = IndiorMoreShift(); Print(La valeur renvoy?e par iCusrtom pour le d?calage du tampon 0, RaptorShift, est : , DoubleToStr(f_Lo_1, Digits) ); if(RaptorShift == 0) { Print(La valeur renvoy?e par iCusrtom pour le buffer 0 shift 1 est : , DoubleToStr( iCustom(NULL, 0,ma-wpr, 39,10, 0, 1), Digits) ); Print(La valeur renvoy?e par iCusrtom pour le buffer 0 shift 2 est : , DoubleToStr( iCustom(NULL, 0,ma-wpr, 39,10, 0, 2), Digits) ); Print(La valeur renvoy?e par iCusrtom pour le buffer 0 shift 3 est : , DoubleToStr( iCustom(NULL, 0,ma-wpr, 39,10, 0, 3), Digits) ); }/Ro double f_Ro_2=-50?;/Condition if (f_Lo_1gt;f_Ro_2) {tick10(8);} else {/* Sortie invers?e */} } Le r?sultat est?: 2013.06.07 07:37:18 ma-wpr EURUSD_fx,H1?: initialis? 2013.06.07 07 :37:18 ma-wpr EURUSD_fx,H1 : charg? avec succ?s 2013.06.07 07:37:18 Le d?but EURUSD_fx,H1 : La valeur renvoy?e par iCusrtom pour le tampon 0 d?calage 3 est : -23.21454 2013.06.07 07:37:18 Le d?but EURUSD_fx,H1 : La valeur renvoy?e par iCusrtom pour le tampon 0 d?calage 2 est : -25.58386 2013.06.07 07:37:18 Le d?but EURUSD_fx,H1 : La valeur renvoy?e par iCusrtom pour le tampon 0 d?calage 1 est : -28.04346 2013.06.07 07:37 :18 Le d?but EURUSD_fx,H1 : La valeur renvoy?e par iCusrtom pour le tampon 0 d?calage 0 est?: 2147483647.00000 Cela me semble correct car les d?calages 1,2 et 3 affichent la valeur correcte. Mais je ne comprends pas que le d?calage 0 soit 2147483647.0000 L'EA devrait dessiner une fl?che lorsque la valeur traverse le -50 de l'int?rieur du d?calage 2 au d?calage 1, mais ne le fait toujours pas.

moksaldaz
03/10/2022, 04h51
Pouvez-vous montrer l'appel iCustom() que votre code utilise . . . double f_dTool_1=iCustom(CurrentSymbol(),CurrentTimeframe (),ma-wpr n, 39,10, 0,0 IndiorMoreShift());
Essayez d'ajouter ces lignes de code pour vous aider ? d?boguer ce qui se passe. . . Code ins?r? double f_dTool_1 = iCustom(CurrentSymbol(),CurrentTimeframe(),ma-wpr n, 39,10, 0,0 IndiorMoreShift()); int RaptorShift = IndiorMoreShift(); Print(La valeur renvoy?e par iCusrtom pour le d?calage du tampon 0, RaptorShift, est : , DoubleToStr(f_dTool_1, Digits) ); if(RaptorShift == 0) { Print(La valeur renvoy?e par iCusrtom pour le buffer 0 shift 1 est : , DoubleToStr( iCustom(NULL, 0,ma-wpr n, 39,10, 0, 1), Digits) ); Print(La valeur renvoy?e par iCusrtom pour le buffer 0 shift 2 est : , DoubleToStr( iCustom(NULL, 0,ma-wpr n, 39,10, 0, 2), Digits) ); Print(La valeur renvoy?e par iCusrtom pour le buffer 0 shift 3 est : , DoubleToStr( iCustom(NULL, 0,ma-wpr n, 39,10, 0, 3), Digits) ); } Est-ce ma-wpr n le nom correct pour l'Indior ? sinon, veuillez modifier le nom correct. . . Une fois que vous avez fait les ajouts, ex?cutez le code sur un graphique o? vous avez ?galement l'indior fonctionnant de mani?re autonome, puis comparez les valeurs ?crites dans l'onglet/journal des experts avec les donn?es que vous pouvez voir pour l'Indior pour le m?me num?ro de barre en utilisant le Data Fen?tre. Rapportez ce que vous trouvez. PS. Vous devrez peut-?tre d?placer cette d?claration de variable au d?but de la fonction si vous obtenez une erreur. . . si vous d?placez simplement ce code ins?r? dans RaptorShift?; et laissez cette partie l? o? elle est. . Code ins?r? RaptorShift = IndiorMoreShift();

Hzuo
03/10/2022, 06h14
Pouvez-vous montrer l'appel iCustom() que votre code utilise . . . double f_dTool_1=iCustom(CurrentSymbol(),CurrentTimeframe (),ma-wpr n, 39,10, 0,0 IndiorMoreShift()); SetLastIndiorData(f_dTool_1,CurrentSymbol(),Curren tTimeframe(),0 IndiorMoreShift()); statique int bar_time?; last_price double statique?; cha?ne statique tl_name?; cha?ne statique lbl_name?; statique entier obj_counter=0?;

moksaldaz
03/10/2022, 07h36
Merci, j'ai regard? le forum MQL4 dans l'espoir de pouvoir le comprendre, mais je d?passe mon niveau de comp?tence. En lisant le forum MQL4, il semble que ce soit l'EA qui a le probl?me et non l'int?rieur. J'utilise le g?n?rateur fxDreema EA pour cr?er mon EA, et le mod?rateur dit que si l'indior a ?t? construit en utilisant 0 ou 1 dans le tampon, il ne peut pas voir la valeur. J'esp?rais donc que je pourrais trouver quoi changer le 1 ou 2 pour que l'EA voie la valeur. ou trouver quelqu'un qui le ferait pour moi. ou trouver un autre Indior qui n'a pas...
Ces outils de type g?n?rateur EA sont assez mal ?crits et produisent g?n?ralement un code m?diocre. (
http://forum.mql4.com/48594) Si vous voulez un bon code, il y a 2 fa?ons de l'obtenir, apprendre ou payer quelqu'un qui sait ce qu'il fait. Pouvez-vous montrer l'appel iCustom() que votre code utilise . . .

Alazchalodlgzz
03/10/2022, 08h58
... le mod?rateur dit que si l'indior a ?t? construit en utilisant 0 ou 1 dans le tampon, il ne peut pas voir la valeur.
Il n'y a rien de mal ? l'int?rieur. Si votre fonction iCustom() dans l'EA est cod?e correctement, il ne devrait pas y avoir de probl?me.

moksaldaz
03/10/2022, 10h20
J'essaie d'utiliser le ma-wpr.mq4 dans un EA. mais cela ne donne pas de valeur ? l'EA. apparemment quelque chose ? voir avec le tampon. Quelqu'un sait comment le r?parer ou s'il y a un autre indior qui fait la m?me chose qu'un EA peut voir. C'est juste un MA du %R indior Thx {file}
Affichez l'appel iCustom() que vous utilisez. . . ou marchez ceci:
http://forum.mql4.com/46941/page3#627521

Hzuo
03/10/2022, 11h43
Merci RaptorUK J'ai regard? le forum MQL4 dans l'espoir de pouvoir le comprendre, mais je d?passe mon niveau de comp?tence. En lisant le forum MQL4, il semble que ce soit l'EA qui a le probl?me et non l'int?rieur. J'utilise le g?n?rateur fxDreema EA pour cr?er mon EA, et le mod?rateur dit que si l'indior a ?t? construit en utilisant 0 ou 1 dans le tampon, il ne peut pas voir la valeur. J'esp?rais donc que je pourrais trouver quoi changer le 1 ou 2 pour que l'EA voie la valeur. ou trouver quelqu'un qui le ferait pour moi. ou trouver un autre Indior qui n'a pas le m?me probl?me.

moksaldaz
03/10/2022, 13h05
Si je devais essayer de le changer simplement en 1, comment feriez-vous cela? changer IndiorMoreShift() en IndiorMoreShift(1), et si c'est le cas sous double ou int ou les deux?? Pour affiner ma recherche, si vous deviez ?crire ce code, quelle d?claration de fonction utiliseriez-vous ? la place de IndiorMoreShift et pourriez-vous apporter cette modification uniquement dans iCustom ou devriez-vous inclure des modifications dans d'autres parties du code?? J'essaie d'obtenir de la documentation de fxDreena sur IndiorMoreShift, si je le fais, je vais peut-?tre l'ex?cuter par vous et voir si c'est une solution facile ou non Thx...
Vous avez post? le code pour IndiorMoreShift() . . . Code ins?r? intIndiorMoreShift(bool set=false,int shift=0) { staticint mem; if(set==true) { mem=shift; } sinon {//int return_val=mem?; m?moire=0?;/reset//return(return_val);} return(mem); } Je ne suis pas tout ? fait s?r de son but, je comprends le code mais cela me semble assez inutile. Pour changer le d?calage en 1, remplacez ceci?: 0 IndiorMoreShift() par 1