Questions des débutants MQL5 MT5 MetaTrader 5 - page 335

 

Je comprends que l'indicateur n'a pas besoin d'obtenir un chemin par cette fonction vers lui-même, du fait que je le spécifie explicitement.

C'est-à-dire que le code ci-dessus sera suffisant pour utiliser un indicateur dans un Expert Advisor et le placer sur une place de marché ?

Mon indicateur personnalisé ne crée pas une ou plusieurs copies de lui-même.

 
R0MAN:

Le code ci-dessus sera-t-il suffisant pour utiliser l'indicateur dans l'EA et placer l'EA sur le marché ?

Cela peut être testé. Déplacez temporairement l'indicateur utilisé dans un autre répertoire quelque part. Ou bien installez une autre copie du terminal, où il n'y aura pas d'indicateurs personnalisés et transférez-y uniquement le fichier *.ex5 pour le tester.
 
tol64:
Cela peut être testé. Déplacez temporairement l'indicateur utilisé vers un autre répertoire quelque part. Ou installez une autre copie du terminal sans indicateurs personnalisés et transférez-y uniquement le fichier *.ex5 pour le tester.
Merci. Je me suis familiarisé avec les produits de votre marché aujourd'hui, par exemple... Il y a des options...
 
R0MAN:

Ai-je correctement complété le code d'un Expert Advisor qui utilise un indicateur personnalisé pour le placer dans le marché selon l' article?


Dois-je appliquer cette fonction ou non ?

"Le chemin d'accès à lui-même peut être obtenu en utilisant la fonction GetRelativeProgramPath(), un exemple de son utilisation est donné ci-dessous :"

Il semble que ce soit correct. Dans ce cas, l'indicateur est intégré dans le conseiller expert.

J'ai une question sur le même sujet.

J'ajoute trois indicateurs :

#resource "\\Indicators\\Bollinger new.ex5"
#resource "\\Indicators\\BandWidth.ex5"
#resource "\\Indicators\\Oscillator For BBS.ex5"
..............
   BolBandsNewHandle=iCustom (NULL,TF_graph,"::Indicators\\Bollinger new", 
                                  InpBandsPeriodUpper,
                                  InpBandsPeriodLower,
                                  InpBandsShiftUpper,
                                  InpBandsShiftLower,
                                  InpBandsDeviations,
                                  InpBandsDeviations1, PRICE_CLOSE);
                                  
   BandWidthHandle=iCustom (NULL,TIMEFRAMES_Band_Width,"::Indicators\\BandWidth",
                                  TIMEFRAMES_Band_Width,
                                  InpBandsPeriodUpper1,
                                  InpBandsPeriodLower1,
                                
                                  InpBandsDeviations10,
                                  InpBandsDeviations11);                                  
                                  
                                                                  
  Oscillator_For_BBS_Handle=iCustom (NULL,TF_Oscillator,"::Indicators\\Oscillator For BBS",
                                   TF_Oscillator,
                                   InpOscillator,                       
                                   InpOscPeriod1,                        
                                   InpOscPeriod2,
                                   InpOscPeriod3,
                                   InpAppliedPrice,
                                   InpVOLUME,
                                   InpDrawMode,
                                   InpLevelsPeriod,
                                   InpLevelsPeriod1,
                                   InpLevelsIndent,
                                   InpLevelsIndent1
                                   );

Mais l'indicateurBandWidth prend les données dunouvel indicateurBollinger, code à l'intérieur:

   BBHandle=iCustom  (NULL,TIMEFRAMES_Band_Width,"//Experts\\BBS.ex5::Indicators\\Bollinger new.ex5",
                                  InpBandsPeriodUpper1,
                                  InpBandsPeriodLower1,
                                  InpBandsShiftUpper1,
                                  InpBandsShiftLower1,
                                  InpBandsDeviations10,
                                  InpBandsDeviations11, PRICE_CLOSE);

Dans mon terminal, tout fonctionne, mais la copie dufichierBBS.ex5 compilédans un autre terminal ne trouve pas lenouvelindicateurBollinger.

2014.12.21 20:05:59.941 BBS.ex5::Indicators\BandWidth (EURUSD,M30) Impossible de charger l'indicateur personnalisé 'Bollinger new' [4802].

Peut-être le chemin est-il incorrect ("Experts\BBS.ex5::Indicateurs\Bollinger new.ex5"). Comment définir le chemin correct pour l'indicateurBandWidth afin de trouver lenouvel indicateurBollinger dans la ressource ? Est-ce possible ? Si quelqu'un a été confronté à un tel problème, veuillez nous conseiller.

P/S Tout fonctionne, question supprimée. Merci à tous !

 
Crucian:

...

Mais l'indicateurBandWidth prend les données dunouvel indicateurBollinger, code à l'intérieur:

...

Peut-être que le chemin est erroné (Experts\BBS.ex5::Indicateurs\Bollinger new.ex5"). Comment définir correctement le chemin pour l'indicateurBandWidth afin de trouver lenouvel indicateurBollinger dans la ressource ? Est-ce possible ? Si vous avez été confronté à un tel problème, veuillez nous en informer.

...

Comment spécifier un chemin correct dans ce cas ?
 
barabashkakvn:
Так как всё-таки в таком случае прописать правильно путь?
barabashkakvn
:

Alors, comment puis-je définir correctement le chemin d'accès dans ce cas ?

Le chemin est correct, au moins le conseiller expert est testé et ne donne pas d'erreurs.

J'ai copié l'indicateur BandWidth et il a commencé à se référer uniquement aux indicateurs techniques. Puis je me suis mis en colère et j'ai réécrit l'indicateurBandWidth qui se référait uniquement aux indicateurs techniques et jeles ai recalculés.Cela a été fait correctement)))).

Il est dommageable d'avoir plusieurs terminaux de différents courtiers sur la chape, après les avoir supprimés il reste les dossiers dans App Date.

 
Crucian:

Le chemin est correct, au moins le conseiller expert est testé et ne donne pas d'erreurs.

J'ai copié l'indicateur BandWidth et il a commencé à se référer uniquement aux indicateurs techniques. Puis je me suis mis en colère et j'ai réécrit l'indicateurBandWidth qui se référait uniquement aux indicateurs techniques et jeles ai recalculés.Cela a été fait correctement)))).

Il est dommageable d'avoir plusieurs terminaux de différents courtiers sur la chape et après les avoir supprimés, il reste les dossiers dans App Date.

Je l'ai. Merci.

Je posterai après le Nouvel An, on dirait. :-)

 

Bonne journée à tous.
Veuillez me conseiller sur le test des EA.

Je commence tout juste à apprendre comment écrire des EA.

J'ai téléchargé cet EA : https://www.mql5.com/ru/code/1812, je l'ai ouvert dans l'éditeur, je l'ai exécuté pour le débogage, j'ai commencé les tests et rien ne se passe. Aucune transaction ouverte et donc aucun résultat.

J'ai également essayé d'autres EA, y compris le plus simple d'entre eux pris ici, qui devrait juste ouvrir et fermer des transactions. Même chose - rien ne se passe.

J'ai essayé de mettre un point d'arrêt. Il ne fonctionne que dans OnInit. Le reste du code ne fonctionne pas, ce qui est très étrange.

J'ai compris que OnTick fonctionne en ajoutant une alerte. Cependant, aucune transaction n'est ouverte et elle ne l'est pas même si les conditions requises sont remplies.

J'ai ajouté une alerte (GetLastError(). L'erreur 4753 est affichée.

La question est la suivante : peut-être que je fais quelque chose de mal ? L'une des conditions requises pour le test n'est-elle pas remplie ?

Je vous remercie d'avance pour votre réponse.

EA based on indicator SAR, ADX and SMA 100
EA based on indicator SAR, ADX and SMA 100
  • votes : 27
  • 2014.06.13
  • Mauro Bracuti
  • www.mql5.com
Советник на базе индикаторов SMA, ADX и SAR.
 
Maxi-M:

Bonne journée à tous.
Veuillez me conseiller sur le test des EA.

Je commence tout juste à apprendre comment écrire des EA.

J'ai téléchargé cet EA : https://www.mql5.com/ru/code/1812, je l'ai ouvert dans l'éditeur, je l'ai exécuté pour le débogage, j'ai commencé les tests et rien ne se passe. Aucune transaction ouverte et donc aucun résultat.

J'ai également essayé d'autres EA, y compris le plus simple d'entre eux pris ici, qui devrait juste ouvrir et fermer des transactions. Même chose - rien ne se passe.

J'ai essayé de mettre un point d'arrêt. Il ne fonctionne que dans OnInit. Le reste du code ne fonctionne pas, ce qui est très étrange.

J'ai compris que OnTick fonctionne en ajoutant une alerte. Cependant, aucune transaction n'est ouverte et elle ne l'est pas même si les conditions requises sont remplies.

J'ai ajouté une alerte (GetLastError(). L'erreur 4753 est affichée.

La question est de savoir si je fais quelque chose de mal. L'une des conditions requises pour le test n'est-elle pas remplie ?

Je vous remercie d'avance pour votre réponse.

Bon après-midi. Veuillez joindre une capture d'écran du journal.

 
Tapochun:

Bon après-midi. Veuillez joindre une capture d'écran du journal de bord.

S'il vous plaît. La capture d'écran contient le journal de bord ainsi que les paramètres.
Dossiers :
screeen.jpg  321 kb
Raison: