Comment coder ? - page 57

 
nondisclosure007:
J'essaie de comprendre ce qui ne va pas ici. J'ai écrit ce petit indicateur pour essayer de comprendre pourquoi je n'arrive pas à dessiner des flèches sur chaque barre d'un graphique. Je n'ai aucune raison de le faire.

J'ai un autre indicateur sur lequel je travaille qui sera discret sur le choix de celui-ci, j'ai écrit ceci pour essayer de comprendre quel est le problème.

Il ne dessine une flèche sur le bas de la bougie que pour les dernières barres. Il devrait dessiner une flèche sur chaque barre du graphique, en haut et en bas de chaque bougie.

Et seules les données d'une bougie apparaissent dans les fenêtres de données.

J'ai inclus une image et l'indicateur. Toute aide serait appréciée.

Vous devez déclarer les deux buffers : #property indicator_buffers 2

 
Michel:
Vous devez déclarer les deux buffers : #property indicator_buffers 2

wow. je ne peux pas croire que j'ai manqué ça.

J'ai même mis une simple comparaison avec un ima pour voir si je peux dicter lequel. cela fonctionne aussi. maintenant tout ce que j'ai à faire est de regarder mon indicateur original qui me donne le problème et de comparer les 2.

Merci !

 
ralph.ronnquist:
Tu es sûr ? Avez-vous "compressé" l'échelle de prix pour vous assurer qu'elle n'est pas dessinée en dehors de la fenêtre actuelle ?

Vous aviez raison. Elles étaient là, mais pas tout à fait. J'ai changé la formule pour placer la flèche et maintenant elles apparaissent toutes.

 

Stoploss surMACD

Je veux faire un stoploss sur MACD.

J'ai ce code :

double Mach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar) ;

double vMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+1) ;

double vvMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+2) ;

GlobalVariableSet("mt_Vager1"+Symbol()+Period(),mtr) ;

GlobalVariableSet("l_Vager1"+Symbol()+Period(),TP_SL_Inc) ;

if (TotalOrders(Magic_Number)>0){

bool g=false ;

while (!g){

g=true ;

for (int kli=OrdersTotal()-1;kli>=0;kli--){

OrderSelect(kli,SELECT_BY_POS) ;

si

(OrderMagicNumber()==Magic_Number && OrderType()==OP_BUY && Mach<vMach && vMach<vvMach)

{

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slippage,Pink) ;

g=false ;

break ;

}

si (OrderMag

icNumber()==Magic_Number && OrderType()==OP_SELL && m1>m2 && m11<=m21)

(OrderMagicNumber()==Magic_Number && OrderType()==OP_SELL && Mach>vMach && vMach>vvMach)

{

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slippage,Pink) ;

g=false ;

break ;

}

}

}

}

L'ouverture fonctionne mais pas la sortie stoploss.

Merci pour votre aide.

Jo

 

MACD stoploss

Lire TradeBar

 

Je pensais pouvoir limiter le nombre d'alertes déclenchées par trigger en utilisant ceci :

if(trigger == 1)

{

int StartWaitingTime = GetTickCount() ;

si(GetTickCount() - StartWaitingTime > MaxWaiting_sec * 1000)

{

if(ShowAlert == true) {

Alert("Achat...........

Mais cela ne semble pas fonctionner, aidez-moi à le modifier pour qu'il fonctionne, merci !

 
nondisclosure007:
tu avais raison. elles étaient là, mais très éloignées. j'ai changé la formule de l'emplacement de la flèche. maintenant elles apparaissent toutes.

Vous devez également remettre l'avgRange à 0 avant la boucle.

avgRange = 0 ;

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

{

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

}

Robert

 

Vous avez une ligne supplémentaire en rouge qui pourrait causer un problème.

Robert

Jovager:
Je veux faire un stoploss sur MACD.

J'ai ce code :

double Mach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar) ;

double vMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+1) ;

double vvMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+2) ;

GlobalVariableSet("mt_Vager1"+Symbol()+Period(),mtr) ;

GlobalVariableSet("l_Vager1"+Symbol()+Period(),TP_SL_Inc) ;

if (TotalOrders(Magic_Number)>0){

bool g=false ;

while (!g){

g=true ;

for (int kli=OrdersTotal()-1;kli>=0;kli--){

OrderSelect(kli,SELECT_BY_POS) ;

si

(OrderMagicNumber()==Magic_Number && OrderType()==OP_BUY && Mach<vMach && vMach<vvMach)

{

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slippage,Pink) ;

g=false ;

break ;

}

si ( OrderMag

icNumber()==Magic_Number && OrderType()==OP_SELL && m1>m2 && m11<=m21) (OrderMagicNumber()==Magic_Number && OrderType()==OP_SELL && Mach>vMach && vMach>vvMach)

{

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slippage,Pink) ;

g=false ;

break ;

}

}

}

}

L'ouverture fonctionne mais pas la sortie stoploss.

Merci de votre aide.

Jo
 
 
Slakerz:
Salut les gars, j'ai essayé de comprendre comment mettre un StopLoss... mon EA est comme ci-dessous,

...

Qui est ce CHinGsMAroonCLK ?

Si je me souviens bien, cet EA n'est rien d'autre que 10p3 de elCactus, mais peut-être que je me trompe...

Consultez son fil de discussion, vous y trouverez probablement ce que vous cherchez : https://www.mql5.com/en/forum/174975

Raison: