Aide au codage - page 26

 

Bonjour,

Y a-t-il quelqu'un ici qui puisse modifier légèrement le code de l'indicateur WPR pour moi ?

La façon dont je comprends WPR actuellement est qu'il écrit la ligne à la clôture de chaque barre.

Ce que je voudrais, c'est que WPR écrive la ligne une fois que la barre a 10 pips de long (high-low=>10 pips), puis attende une nouvelle barre avant d'écrire à nouveau.

J'utilise des barres de range, donc mes barres sont toujours >10.

Je suis évidemment prêt à payer pour ce mod.

cogs

Dossiers :
wpr.mq4  3 kb
 

WPR filtré ...

Cela pourrait être ça

Le fonctionnement est le suivant : si l'intervalle haut-bas est supérieur ou égal au filtre requis, il calcule une valeur WPR normale, sinon il hérite de la valeur précédente. Voici une comparaison : le haut est le WPR, le bas est cet indicateur avec le filtre réglé à 0 et le bas est cet indicateur avec le filtre réglé à 10 pips.

PS : puisque vous voulez le filtre en pips, sur les cadres temporels plus élevés, vous devrez probablement utiliser une taille de filtre plus grande.

cog09:
Bonjour,

Y a-t-il quelqu'un ici qui peut modifier légèrement le code de l'indicateur WPR pour moi ?

La façon dont je comprends WPR actuellement est qu'il écrit la ligne à la clôture de chaque barre.

Ce que je voudrais, c'est que WPR écrive la ligne une fois que la barre a 10 pips de long (high-low=>10 pips), puis attende une nouvelle barre avant d'écrire à nouveau.

J'utilise des barres de range, donc mes barres sont toujours >10.

Je suis évidemment prêt à payer pour ce module.

cogs
Dossiers :
 

Besoin d'aide pour modifier un indicateur.

Bonjour.

Tout d'abord je voudrais remercier tous les membres du forum pour leurs connaissances.

C'est mon premier message et je suis français alors désolé pour mon mauvais anglais.

Mon problème est le suivant :

J'ai l'indicateur rsi_ema_mtf et je voudrais modifier le codage.

au lieu d'appeler l'indicateur "IMAonarray", j'appelle l'indicateur "JMA".

s'il vous plaît, quelqu'un peut-il m'aider ? merci d'avance

Je joins les deux indicateurs :

rsi_ema_mtf.mq4

jma.mq4

Dossiers :
jma.mq4  11 kb
 

L'EA ne fonctionne pas

Bonjour à tous,

Le fichier joint est mon EA, il n'a pas ouvert de ticket/trading,

Quelqu'un pourrait-il jeter un coup d'oeil et me dire ce qui ne va pas ?

Merci

Dossiers :
test_ea.mq4  128 kb
 

...

kemal44

J'ai répondu à un message très similaire de votre part (ce message : https://www.mql5.com/en/forum/173219/page196 ).

Veuillez lire ce message. De plus, je vous recommande d'aller dans cette section : Metatrader 4 mql 4 - Cours de développement. Je pense que vous y trouverez de nombreuses réponses aux questions que vous vous posez sur le codage des EA et leur combinaison avec des indicateurs.

Bonne continuation

kemal44:
Bonjour à tous,

Le fichier joint est mon EA, il n'a pas ouvert de ticket/trading,

Quelqu'un pourrait-il jeter un coup d'oeil et me dire ce qui ne va pas ?

Merci
 

(Req) petite modification du code permettant l'utilisation de paires de chiffres à 2 chiffres

Chers programmeurs Guru

Un programmeur pourrait-il modifier un peu le contenu du mq4 suivant, afin qu'il puisse s'afficher dans les paires JPY à 2 chiffres. Cet indicateur ne peut normalement s'afficher/travailler que sur des instruments à 4 ou 5 chiffres, mais étrangement, il ne peut s'afficher/travailler sur des paires JPY à 2 chiffres ou sur tout autre instrument à moins de 4 chiffres. S'il vous plaît aider. vous pouvez également utiliser cet indicateur. il vaut la peine de le modifier / coder. Veuillez m'envoyer un message ou poster ici. Merci beaucoup.

#property indicator_chart_window

#property indicator_buffers 1

#property indicateur_color1 LawnGreen

extern int ndot=5 ;

extern int CountBars=300 ;

//---- tampons

double cfl[] ;

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

//| Fonction d'initialisation de l'indicateur personnalisé |

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

int init()

{

string short_name ;

//---- ligne d'indicateur

IndicatorBuffers(1) ;

SetIndexStyle(0,DRAW_LINE) ;

SetIndexBuffer(0,cfl) ;

//----

return(0) ;

}

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

//| |

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

int start()

{

si (CountBars>=Bars) CountBars=Bars ;

SetIndexDrawBegin(0,Bars-CountBars+ndot+1) ;

int i,shift,cnt,ndot1,counted_bars=IndicatorCounted() ;

double TYVar,ZYVar,TIndicatorVar,ZIndicatorVar,M,N,AY,AIn dicator ;

//----

if(Bars<=ndot) return(0) ;

//----

shift=CountBars-ndot-1 ;

while(shift>=0)

{

TYVar=0 ;

ZYVar=0 ;

N=0 ;

M=0 ;

TIndicatorVar=0 ;

ZIndicatorVar=0 ;

ndot1=ndot ;

si (shift+1<ndot1) ndot1=shift+1 ;

for (cnt=ndot ; cnt>=1 ; cnt--) // n=5 - 镱 ?蜩 蝾麝囔

{

N=N+cnt*cnt ; //疣忭?55

M=M+cnt ; //疣忭?15

}

for (cnt=ndot1 ; cnt>=1 ; cnt--) // n=5 - 镱 ?蜩 蝾麝囔

{

ZYVar=ZYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2*(ndot+1-cnt) ;

TYVar=TYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2 ;

ZIndicatorVar=ZIndicatorVar+iMA(NULL,0,5,3,MODE_SM MA,PRICE_MEDIAN,shift-cnt+1)*(ndot+1-cnt) ;

TIndicatorVar=TIndicatorVar+iMA(NULL,0,5,3,MODE_SM MA,PRICE_MEDIAN,shift-cnt+1) ;

}

AY=(TYVar+(N-2*ZYVar)*ndot/M)/M ;

AIndicator=(TIndicatorVar+(N-2*ZIndicatorVar)*ndot/M)/M ;

cfl[shift]=Close[shift]+((-1000)*MathLog(AY/AIndicator)/500) ;

shift-- ;

}

return(0) ;

}

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

 

...

Il ressemble à ceci sur USDJPY quand je le teste (donc il fonctionne)

annbeea:
Chers programmeurs gourous

Est-ce qu'un programmeur pourrait modifier un peu le contenu du mq4 suivant, pour qu'il puisse s'afficher sur les paires JPY à 2 chiffres. Cet indicateur ne peut normalement s'afficher/travailler que sur des instruments à 4 ou 5 chiffres, mais étrangement, il ne peut s'afficher/travailler sur des paires JPY à 2 chiffres ou sur tout autre instrument à moins de 4 chiffres. S'il vous plaît aider. vous pouvez également utiliser cet indicateur. il vaut la peine de le modifier / coder. Veuillez m'envoyer un message ou poster ici. Merci beaucoup.

#property indicator_chart_window

#property indicator_buffers 1

#property indicateur_color1 LawnGreen

extern int ndot=5 ;

extern int CountBars=300 ;

//---- tampons

double cfl[] ;

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

//| Fonction d'initialisation de l'indicateur personnalisé |

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

int init()

{

string short_name ;

//---- ligne d'indicateur

IndicatorBuffers(1) ;

SetIndexStyle(0,DRAW_LINE) ;

SetIndexBuffer(0,cfl) ;

//----

return(0) ;

}

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

//| |

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

int start()

{

si (CountBars>=Bars) CountBars=Bars ;

SetIndexDrawBegin(0,Bars-CountBars+ndot+1) ;

int i,shift,cnt,ndot1,counted_bars=IndicatorCounted() ;

double TYVar,ZYVar,TIndicatorVar,ZIndicatorVar,M,N,AY,AIn dicator ;

//----

if(Bars<=ndot) return(0) ;

//----

shift=CountBars-ndot-1 ;

while(shift>=0)

{

TYVar=0 ;

ZYVar=0 ;

N=0 ;

M=0 ;

TIndicatorVar=0 ;

ZIndicatorVar=0 ;

ndot1=ndot ;

si (shift+1<ndot1) ndot1=shift+1 ;

for (cnt=ndot ; cnt>=1 ; cnt--) // n=5 - 镱 ?蜩 蝾麝囔

{

N=N+cnt*cnt ; //疣忭?55

M=M+cnt ; //疣忭?15

}

for (cnt=ndot1 ; cnt>=1 ; cnt--) // n=5 - 镱 ?蜩 蝾麝囔

{

ZYVar=ZYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2*(ndot+1-cnt) ;

TYVar=TYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2 ;

ZIndicatorVar=ZIndicatorVar+iMA(NULL,0,5,3,MODE_SM MA,PRICE_MEDIAN,shift-cnt+1)*(ndot+1-cnt) ;

TIndicatorVar=TIndicatorVar+iMA(NULL,0,5,3,MODE_SM MA,PRICE_MEDIAN,shift-cnt+1) ;

}

AY=(TYVar+(N-2*ZYVar)*ndot/M)/M ;

AIndicator=(TIndicatorVar+(N-2*ZIndicatorVar)*ndot/M)/M ;

cfl[shift]=Close[shift]+((-1000)*MathLog(AY/AIndicator)/500) ;

shift-- ;

}

return(0) ;

}

//+------------------------------------------------------------------+
Dossiers :
test.gif  28 kb
 

Besoin d'un simple MOD pour l'indicateur Gann_SQ9_A2...Mladen s'il vous plaît aidez...

Bonjour mladen.

Il me semble que vous êtes bien versé dans le codage. Je suis un débutant complet dans les indicateurs et j'ai besoin de votre aide.

J'ai besoin que cet indi donne les sorties 1 et -1 lorsque le MODE 1 (ou le MODE 0, cela m'est égal à ce stade) est sélectionné, si cela est possible S'IL VOUS PLAÎT !

Les sorties (1, -1) SONT DÉJÀ DISPONIBLES dans l'indi, mais il ne donne pas ces valeurs.

Vous pouvez trouver ces sorties de cette variable plus bas dans le code ; âåðõ_âíèç.

J'ai essayé différentes choses avec cet indi et j'ai (presque) réussi, mais lorsqu'il a été utilisé avec un EA que je veux faire appeler l'indi par la fonction iCustom, il a soit calé, soit fait un certain nombre de choses étranges (au cours des différentes étapes de la modélisation).

J'ai inclus le "prototype presque fonctionnel" indi (Gann_SQ9_A4), ainsi que l'original (Gann_SQ9_A2) pour comparaison.

Si le "prototype" actuel peut afficher le " 1 , ou -1" sur le graphique, alors j'imagine qu'il n'est pas trop difficile d'être capable de diriger ce signal vers la sortie de l'indi ? Mais encore une fois - je ne connais pas assez les indi's pour être capable de faire cela !

J'espère vraiment que vous pourrez m'aider....

Salutations

AG

Dossiers :
 
mladen:
Il ressemble à ceci sur USDJPY quand je le teste (donc il fonctionne)

En comparaison avec les paires non-jpy, les signaux sur jpypairs sont assez insignifiants, (pas de signal d' achat ou de vente), donc je dis qu'il ne fonctionne pas dans les paires jpy et tous les instruments de moins de 4 chiffres, pourriez-vous gentiment le recoder/modifier ? merci beaucoup.

 

...

Pour cela, j'aurais besoin de savoir comment vous l'utilisez pour les signaux (à partir du code, je ne vois pas exactement l'"intention" de l'indicateur, en particulier parce que vous avez une partie du code qui utilise des valeurs futures pour les calculs, cette partie :
for (cnt=ndot1; cnt>=1; cnt--) // n=5 - ? ?? ???

{

ZYVar=ZYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2*(ndot+1-cnt);

TYVar=TYVar+(High[shift-cnt+1]+Low[shift-cnt+1])/2;

ZIndicatorVar=ZIndicatorVar+iMA(NULL,0,5,3,MODE_SMMA,PRICE_MEDIAN,shift-cnt+1)*(ndot+1-cnt);

TIndicatorVar=TIndicatorVar+iMA(NULL,0,5,3,MODE_SMMA,PRICE_MEDIAN,shift-cnt+1);

}

l'expression shift-cnt+1 utilise presque toujours des valeurs futures (à l'exception de la barre actuelle) et provoquera un repeint de l'indicateur

annbeea:
par rapport aux paires non-jpy, les signaux sur jpypairs sont assez insignifiants, (pas de signal d'achat ou de vente), donc je dis qu'il ne fonctionne pas dans les paires jpy et tous les instruments de moins de 4 chiffres, pourriez-vous gentiment le recoder/modifier ? merci beaucoup.
Raison: