Comment coder ? - page 195

 
kipper:
Ce qui se passe, c'est que le programme fait tout ce qu'il faut, mais quand le chiffre est inférieur à 15, il reste BLEU. Je ne sais pas ce que j'ai fait de mal, j'espère que quelqu'un pourra m'éclairer.

Voici le code que j'ai 4 les couleurs

Essayez ceci :

if(sym_1 85) color_1 = Red; else color_1 = Blue;

if(sym_2 85) color_2 = Red; else color_2 = Blue;

if(sym_3 85) color_3 = Red; else color_3 = Blue;

if(sym_4 85) color_4 = Red; else color_4 = Blue;
 

"bar" est le décalage de la barre actuelle :

0 - pour la barre actuelle (ouverte)

1 - pour la barre précédente ("fermée").

grstaka:
Merci !!!!. Que signifie la barre ? Est-ce que c'est +1 -1 Bar ?
 

Merci pour votre aide Roger, je l'apprécie

 

Aide à la création d'un indicateur de surachat/survente

Je cherche quelqu'un avec des compétences en codage pour m'aider à créer un indicateur de sur-achat/sur-vente qui prendrait la différence de prix de 2 paires et afficherait le résultat. Cela devrait être assez simple mais je ne suis pas un programmeur donc je ne suis pas vraiment sûr. Quelqu'un est-il intéressé à essayer ceci pour moi ? Si oui, faites-le moi savoir ou si quelqu'un en connaît déjà un, ce serait bien aussi. J'ai cherché mais je n'ai rien vu qui puisse faire cela.

 

Pips jusqu'à l'appel de marge

Quelqu'un connaît-il un moyen de déterminer le nombre de pips qu'un ordre peut atteindre jusqu'à ce qu'il y ait un appel de marge sur la position ? En supposant qu'une seule position soit ouverte à la fois.

Je suis sûr qu'il y a un moyen, mais je n'ai pas réussi à le trouver.

 

Signaux d'alerte adaptés à la négociation - Comment faire ?

Bonjour,

J'ai un indicateur qui affiche des flèches de transaction, bleues pour l'achat et roses pour la vente. J'ai besoin d'un ordre d'achat et d'un ordre de vente avec un signal sonore. Par conséquent, il n'y a qu'une seule transaction pour une paire à tout moment et la transaction actuelle se ferme lorsque la flèche opposée apparaît, ainsi qu'une nouvelle transaction selon la flèche. Où et comment dois-je modifier le code ? Je joins le code à la présente. Merci pour votre aide.

/*

+------------------------------------------------------------------+

| |

+------------------------------------------------------------------+

*/

#property copyright "Copyright)"

#property link "http://"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 DodgerBlue

#property indicator_width1 3

#property indicator_color2 Magenta

#property indicator_width2 3

extern string note1 = "First Moving Average";

extern int MA1 = 10;

extern string note2 = "0=sma, 1=ema, 2=smma, 3=lwma";

extern int MA1Mode = 0; //0=sma, 1=ema, 2=smma, 3=lwma

extern string note3 = "--------------------------------------------";

extern string note4 = "Second Moving Average";

extern int MA2 = 50;

extern string note5 = "0=sma, 1=ema, 2=smma, 3=lwma";

extern int MA2Mode = 0; //0=sma, 1=ema, 2=smma, 3=lwma

extern string note6 = "--------------------------------------------";

extern string note7 = "Arrow Type";

extern string note8 = "0=Thick, 1=Thin, 2=Hollow, 3=Round";

extern string note9 = "4=Fractal, 5=Diagonal Thin";

extern string note10 = "6=Diagonal Thick, 7=Diagonal Hollow";

extern string note11 = "8=Thumb, 9=Finger";

extern int ArrowType=2;

extern string note12 = "--------------------------------------------";

extern string note13 = "turn on Alert = true; turn off = false";

extern bool AlertOn = true;

extern string note14 = "--------------------------------------------";

extern string note15 = "send Email Alert = true; turn off = false";

extern bool SendAnEmail=false;

double CrossUp[];

double CrossDown[];

string AlertPrefix, MA1short_name, MA2short_name;

string GetTimeFrameStr() {

switch(Period())

{

case 1 : string TimeFrameStr="M1"; break;

case 5 : TimeFrameStr="M5"; break;

case 15 : TimeFrameStr="M15"; break;

case 30 : TimeFrameStr="M30"; break;

case 60 : TimeFrameStr="H1"; break;

case 240 : TimeFrameStr="H4"; break;

case 1440 : TimeFrameStr="D1"; break;

case 10080 : TimeFrameStr="W1"; break;

case 43200 : TimeFrameStr="MN1"; break;

default : TimeFrameStr=Period();

}

return (TimeFrameStr);

}

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

if (ArrowType == 0) {

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0, 233);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1, 234);

}

else if (ArrowType == 1) {

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0, 225);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1, 226);

}

else if (ArrowType == 2) {

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0, 241);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1, 242);

}

else if (ArrowType == 3) {

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0, 221);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1, 222);

}

else if (ArrowType == 4) {

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0, 217);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1, 218);

}

else if (ArrowType == 5) {

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0, 228);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1, 230);

}

else if (ArrowType == 6) {

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0, 236);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1, 238);

}

else if (ArrowType == 7) {

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0, 246);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1, 248);

}

else if (ArrowType == 8) {

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0, 67);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1, 68);

}

else if (ArrowType == 9) {

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0, 71);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1, 72);

}

SetIndexBuffer(0, CrossUp);

SetIndexBuffer(1, CrossDown);

//---- indicator short name

switch(MA1Mode)

{

case 1 : MA1short_name="EMA"; break;

case 2 : MA1short_name="SMMA"; break;

case 3 : MA1short_name="LWMA"; break;

default :

MA1Mode=0;

MA1short_name="SMA";

}

switch(MA2Mode)

{

case 1 : MA2short_name="EMA"; break;

case 2 : MA2short_name="SMMA"; break;

case 3 : MA2short_name="LWMA"; break;

default :

MA2Mode=0;

MA2short_name="SMA";

}

AlertPrefix=Symbol()+" ("+GetTimeFrameStr()+"): ";

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

bool NewBar()

{

static datetime lastbar;

datetime curbar = Time[0];

if(lastbar!=curbar)

{

lastbar=curbar;

return (true);

}

else

{

return(false);

}

}

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

//| Custom indicator iteration function |

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

int start() {

int limit, i, counter;

double MA1now, MA2now, MA1previous, MA2previous, MA1after, MA2after;

double Range, AvgRange;

int counted_bars=IndicatorCounted();

//---- check for possible errors

if(counted_bars<0) return(-1);

//---- last counted bar will be recounted

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(i = 0; i <= limit; i++) {

counter=i;

Range=0;

AvgRange=0;

for (counter=i ;counter<=i+9;counter++)

{

AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);

}

Range=AvgRange/10;

MA1now = iMA(NULL, 0, MA1, 0, MA1Mode, PRICE_CLOSE, i);

MA1previous = iMA(NULL, 0, MA1, 0, MA1Mode, PRICE_CLOSE, i+1);

MA1after = iMA(NULL, 0, MA1, 0, MA1Mode, PRICE_CLOSE, i-1);

MA2now = iMA(NULL, 0, MA2, 0, MA2Mode, PRICE_CLOSE, i);

MA2previous = iMA(NULL, 0, MA2, 0, MA2Mode, PRICE_CLOSE, i+1);

MA2after = iMA(NULL, 0, MA2, 0, MA2Mode, PRICE_CLOSE, i-1);

if ((MA1now > MA2now) && (MA1previous MA2after)) {

CrossUp = Low - Range*1.5;

if ( NewBar())

{

if (AlertOn) {

Alert(AlertPrefix+MA1short_name+" ("+MA1+") "+"crosses UP " + MA2short_name+" ("+MA2+")");

}

if (SendAnEmail) {

SendMail(AlertPrefix,MA1short_name+" ("+MA1+") "+"crosses UP " + MA2short_name+" ("+MA2+")");

}

}

}

else if ((MA1now MA2previous) && (MA1after < MA2after)) {

CrossDown = High + Range*1.5;

if (NewBar())

{

if (AlertOn) {

Alert(AlertPrefix+MA1short_name+" ("+MA1+") "+"crosses DOWN " + MA2short_name+" ("+MA2+")");

}

if (SendAnEmail) {

SendMail(AlertPrefix,MA1short_name+" ("+MA1+") "+"crosses DOWN " + MA2short_name+" ("+MA2+")");

}

}

}

}

return(0);

}

 

Cela ressemble à un simple indicateur MA cross. Vérifiez le lien dans mon sig pour un tutoriel gratuit qui vous permettra de construire un EA MA cross.

Bonne chance

Lux

 

Bonjour seniore l'EA peut faire le robot ... modèle aussi martiangle

1.Looping -> Définir le robot combien de fois le chemin de ronde

2.First Order Auto -> Ordre d'achat ou de vente basé sur la tendance du petit marché à ce moment, puis auto op à côté du dernier achat ou vente.

3.lot de départ -> définir le lot

4.Range -> La distance entre la position que vous commandez et l'autre position.

5.Rangeincrease--> développement de la distance entre la position de l'autre avec les autres positions en fonction de la croissance multiple

6.augmentation du niveau de départ -> dibaris l'ordre pour activer la fonction paramètres rangeincrease

7.multiplicateur -> multiplication du lot dans l'ordre suivant

8.TPmoney -> fermer tous les ordres quand on a atteint le profit de l'argent à ce moment.

merci

 

Aide EA

mirak:
Bonjour seniore l'EA peut faire le robot... modèle aussi martiangle

1.Looping -> Définir le robot combien de fois il doit faire le tour.

2.First Order Auto -> Ordre d'achat ou de vente basé sur la tendance du petit marché à ce moment, puis auto op suivant le dernier achat ou vente.

3.lot de départ -> définir le lot

4.Range -> La distance entre la position que vous commandez et l'autre position.

5.Rangeincrease--> développement de la distance entre la position de l'autre avec les autres positions en fonction de la croissance multiple

6.augmentation du niveau de départ -> dibaris l'ordre pour activer la fonction paramètres rangeincrease

7.multiplicateur -> multiplication du lot dans l'ordre suivant

8.TPmoney -> fermer tous les ordres quand on a atteint le profit de l'argent à ce moment.

merci

Uppp plsss

 

iTime

Voici le code pour obtenir l'heure de début de la barre qui fonctionne sur MTF

GetTime =(iTime(Symbol(),60,i)) ; its OK

comment obtenir l'heure de fin de la barre ?

Merci