Comment coder ? - page 243

 

Aide pour améliorer l'indicateur ATR !!!

J'essaie de coder une version améliorée de l'indicateur ATR. Je veux pouvoir avoir l'indicateur ATR mais basé uniquement sur la bougie de 2h00 à 11h00 pour une période P.

Par exemple, sur un graphique horaire, je veux que l'on puisse trouver l'ATR sur 120 périodes (+/- 120 heures = 5 jours) mais seulement avec les barres entre 2h00 et 11h00 pendant ces 120 heures.

Si quelqu'un a une idée de comment modifier le code ATR standard pour faire ce que j'essaie de faire... merci de répondre à ce post avec votre code...

Merci...

 

Ea

S'il vous plaît, quelle expression peut être utilisée pour obtenir le prix ouvert ou le prix haut d'un chandelier qui est à X barres du chandelier fractal le plus récent ? (merci d'écrire l'expression complète... je ne demande qu'une ou deux lignes).

Merci

 
ak_marshal:
S'il vous plaît, quelle expression peut être utilisée pour obtenir l'ouverture ou le prix haut d'un chandelier qui est à X barres du chandelier fractal le plus récent ? (veuillez écrire l'expression complète... je ne demande qu'une ou deux lignes) Merci.

Tout d'abord, vous devez vérifier quel est l'indice de la barre fractale. Pour cela vous devez utiliser une boucle, vous pouvez utiliser "while" ou "for". Je vais utiliser for.

for(int i = 0;i<Bars;i++)

{

double isfractal = code pour lire les fractales ;

if(isfractal != 0)

{

double myOpen = Open;//ce sera votre X où XBarsAfterFractal est un nombre entier - x barres à partir de la barre fractale.

break;//sortir de la boucle

}

}

 

Aide pour un script très simple, s'il vous plaît

Salut les gars,

Quelqu'un peut-il m'aider avec le script CoderGurus ci-dessous.

Il fonctionne très bien tel qu'il est mais je voulais le modifier pour qu'il arrête le stop loss et la prise de profit sur la base du prix d'ouverture de la transaction, et non des prix actuels bid et ask.

Comme je l'ai dit, cela fonctionne bien tel quel, je pensais qu'il me suffirait de modifier OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green) ; en

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Point*StopLoss,OrderOpenPrice()+Point*TakeProfit,0,Green) ;

mais lorsque j'essaie de l'exécuter, rien ne se passe.

Quelqu'un peut-il m'indiquer la bonne direction ?

Merci

Steve

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

//| My_First_Script.mq4 |

//| Copyright Coders Guru

//| https://www.mql5.com/en/forum |

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

#property copyright "Copyright Coders Guru"

#property link "https://www.forex-tsd.com"

#property show_inputs

#include

extern double TakeProfit=250 ;

extern double StopLoss=35 ;

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

//| fonction de démarrage du programme de script |

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

int start()

{

int total,cnt,err ;

double stop_loss_value ;

double take_profit_value ;

total = OrdersTotal() ;

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

if(OrderType()==OP_BUY) // une position longue est ouverte

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green) ;

err=GetLastError() ;

Print ("High - ") ;

Print("erreur(",err,") : ",ErrorDescription(err)) ;

Sleep(1000) ;

}

if(OrderType()==OP_SELL) // une position courte est ouverte

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*StopLoss,Ask-Point*TakeProfit,0,Red) ;

err=GetLastError() ;

Print("erreur(",err,") : ",ErrorDescription(err)) ;

Sleep(1000) ;

}

}

return(0) ;

}

 

Comment puis-je faire fonctionner une fonction en boucle ?

Je veux utiliser une fonction EA qui fonctionne en boucle comme ceci :

(pour l'instant j'utilise une variable

INT trend)

A >> B >> C >> D >> E

J'utilise A = nouveau haut + SMA30 > 80

i "acheter" trend = 1

puis B = sma30 < 80

i " vendre " tendance = 2

puis C = sma30>80

je "achète" la tendance = 3

à C est le point que je veux vérifier

s'il atteint un nouveau sommet à n'importe quel endroit, je veux que la tendance de retour soit de 1 et que la boucle soit bouclée.

s'il ne fait pas de nouveau sommet, il ira à sma30 < 80

et aller à trend = 4

////////////

C'est la boucle que je veux, quelqu'un peut-il me dire la fonction à utiliser (ma façon d'utiliser la variable et non la fonction et je ne sais pas pourquoi).

J'espère un conseil avisé, merci

 

Je n'ai pas pu suivre votre logique, mais peut-être que cet exemple peut vous aider :

MA30=iMA(NULL,0,30,0,0,0,0);

MA80=iMA(NULL,0,80,0,0,0,0);

si(High[0]>High[1] && MA30>MA80) A=1 ;

si(MA30<MA80) B=2 ;

si(MA30>MA80) C=3 ;

Peut-être pouvez-vous travailler avec ceci pour l'étendre au résultat de boucle que vous souhaitez.

 

Définir la date actuelle comme var externe ?

Bonjour à tous, j'ai besoin d'aide pour modifier un code. Le problème est qu'à chaque fois que j'ouvre cet EA particulier, je dois changer manuellement l'heure et la date. Ce que je voulais savoir, c'est s'il était possible de faire une mise à jour automatique à chaque fois que l'EA est ouvert ?

Pour être plus spécifique, l'EA ouvre un achat et une vente en attente à l'heure et à la date prédéterminées, changer l'heure n'est pas si mal, mais quand on attache l'EA à 5 ou 6 graphiques, cela peut devenir un peu ennuyeux, et le copier/coller ne va pas suffire à long terme.

extern datetime NewsTime = D'05.08.2010 10:15' ; est le code.

Toute aide est appréciée

 

Peut-on écrire un script qui définit une variable globale avec une nouvelle date (GlobalVariableSet), et ajouter à l'EA la lecture de cette variable (GlobalVariableGet) ?

 

Quelqu'un peut-il modifier le paramètre Trade comment ?

Bonjour,

J'ai un EA copieur de signaux, qui copie le commentaire exact de la transaction depuis le Master. J'ai besoin d'ajouter un paramètre externe à cet EA, qui peut être réglé sur n'importe quel commentaire commercial que je veux. J'apprécierais vraiment que quelqu'un m'aide.

Merci

Dossiers :
s-mtfx_s.mq4  27 kb
 
Ale:
Vous pouvez peut-être écrire un script qui définit une variable globale avec une nouvelle date (GlobalVariableSet), et ajouter à l'EA la lecture de cette variable (GlobalVariableGet) ?

Merci, mais je pensais que le problème était que les variables externes comme "NewsTime" n'acceptent rien d'autre qu'une variable statique.

vous pouvez la définir en utilisant le script, mais ensuite vous ne pouvez pas la modifier ?

Est-ce exact ?

Raison: