Aide au codage - page 15

 

S'il vous plaît, aidez moi sur le trailing

J'ai créé un EA par Forex EA Generator, tout semble fonctionner, le trailing fonctionne sur BUY comme requis, mais il ne fonctionne pas sur SELL,

S'il vous plaît, aidez-moi à comprendre où est l'erreur,

merci

..................................

IfOrderDoesNotExist8() ;

}

}

void IfOrderDoesNotExist8()

{

bool exists = false ;

for (int i=OrdersTotal()-1 ; i >= 0 ; i--)

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == 1)

{

existe = true ;

}

}

sinon

{

Print("Erreur OrderSelect() - ", ErrorDescription(GetLastError())) ;

}

if (exists == false)

{

BuyOrder24() ;

}

}

void BuyOrder24()

{

double SL = Ask - BuyStoploss24*PipValue*Point ;

si (BuyStoploss24 == 0) SL = 0 ;

double TP = Ask + BuyTakeprofit24*PipValue*Point ;

si (BuyTakeprofit24 == 0) TP = 0 ;

int ticket = -1 ;

si (true)

ticket = OrderSend(Symbol(), OP_BUY, BuyLots24, Ask, 3, 0, 0, "36912direct5M@", 1, 0, Blue) ;

sinon

ticket = OrderSend(Symbol(), OP_BUY, BuyLots24, Ask, 3, SL, TP, "36912direct5M@", 1, 0, Blue) ;

si (ticket > -1)

{

if (true)

{

OrderSelect(ticket, SELECT_BY_TICKET) ;

bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue) ;

si (ret == false)

Print("Erreur OrderModify() - ", ErrorDescription(GetLastError())) ;

}

}

sinon

{

Print("Erreur lors de l'envoi de la commande - ", ErrorDescription(GetLastError()) ;

}

}

void CloseOrder21()

{

int orderstotal = OrdersTotal() ;

int orders = 0 ;

int ordticket[30][2] ;

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

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES) ;

if (OrderType() != OP_SELL || OrderSymbol() != Symbol() || OrderMagicNumber() != 1)

{

continuez ;

}

ordticket[orders][0] = OrderOpenTime() ;

ordticket[orders][1] = OrderTicket() ;

commandes++ ;

}

si (commandes > 1)

{

ArrayResize(ordticket,orders) ;

ArraySort(ordticket) ;

}

for (i = 0 ; i < commandes ; i++)

{

si (OrderSelect(ordticket[1], SELECT_BY_TICKET) == true)

{

bool ret = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, Red) ;

if (ret == false)

Print("Erreur OrderClose() - ", ErrorDescription(GetLastError())) ;

}

}

}

void TrailingStop10()

{

for (int i=OrdersTotal()-1 ; i >= 0 ; i--)

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

{

si (OrderSymbol() == Symbol() && OrderMagicNumber() == 1)

{

double takeprofit = OrderTakeProfit() ;

if (OrderType() == OP_BUY && Ask - OrderOpenPrice() > TrailingStop10*PipValue*Point)

{

si (OrderStopLoss() < Ask-(TrailingStop10+TrailingGap10)*PipValue*Point)

{

si (NewTakeProfit10 != 0) takeprofit = Ask+(NewTakeProfit10 + TrailingStop10)*PipValue*Point ;

bool ret1 = OrderModify(OrderTicket(), OrderOpenPrice(), Ask-TrailingStop10*PipValue*Point, takeprofit, OrderExpiration(), White) ;

si (ret1 == false)

Print("Erreur OrderModify() - ", ErrorDescription(GetLastError())) ;

}

}

if (OrderType() == OP_SELL && OrderOpenPrice() - Bid > TrailingStop10*PipValue*Point)

{

si (OrderStopLoss() > Bid+(TrailingStop10+TrailingGap10)*PipValue*Point)

{

si (NewTakeProfit10 != 0) takeprofit = Bid-(NewTakeProfit10 + TrailingStop10)*PipValue*Point ;

bool ret2 = OrderModify(OrderTicket(), OrderOpenPrice(), Bid+TrailingStop10*PipValue*Point, takeprofit, OrderExpiration(), White) ;

si (ret2 == false)

Print("Erreur OrderModify() - ", ErrorDescription(GetLastError()) ;)

}

}

}

}

else

Print("Erreur OrderSelect() - ", ErrorDescription(GetLastError())) ;

}

 

Indicateur de variation : besoin d'aide pour tracer dans la fenêtre graphique

Voici l'indicateur :

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

//| variation.mq4 |

//| Copyright © 2010, LeMan. |

//| b-market@mail.ru |

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

#property copyright "Copyright © 2010, LeMan."

#property link "b-market@mail.ru"

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

//---- paramètres d'entrée

extern int N=20 ;

//---- tampons

double ExtMapBuffer1[] ;

double ExtMapBuffer2[] ;

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

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

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

int init()

{

string short_name ;

IndicateurDigits(Digits+2) ;

IndicatorBuffers(2) ;

//---- indicateurs

SetIndexStyle(0,DRAW_LINE) ;

SetIndexBuffer(0,ExtMapBuffer1) ;

SetIndexBuffer(1,ExtMapBuffer2) ;

//----

si (N <= 0) N = 20 ;

//----

SetIndexDrawBegin(0, N*2) ;

//----

short_name = "Variation (" + N + ")" ;

IndicatorShortName(nom_court) ;

SetIndexLabel(0, nom_court) ;

//----

retour(0) ;

}

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

//| Fonction personnalisée de désinitialisation de l'indicateur |

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

int deinit()

{

//----

//----

return(0) ;

}

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

//| Fonction d'itération de l'indicateur personnalisée |

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

int start()

{

//----

int limit = Bars-N-1 ;

for (int i = limite ; i >= 0 ; i--) {

double ma = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i) ;

ExtMapBuffer2 = Close-ma ;

}

//----

i = Barres-N*2-1 ;

while (i >= 0) {

double vr = iMAOnArray(ExtMapBuffer2,Bars,N,0,MODE_SMA,i) ;

double mov = iMA(NULL,0,N,0,MODE_SMA,PRICE_CLOSE,i) ;

ExtMapBuffer1 = Close - (mov + vr) ;

i-- ;

}

//----

return(0) ;

}

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

 

Codeur EA requis

Untrader Forex avec 10 ans d'expérience recherche un codeur d'EA

ayant une expérience du trading.

Le système TradeWynds :

Filtre de l'image temporelle supérieure

H1 ou D1

Toutes les entrées sont prises dans une fenêtre d'entrée de 3 pip en utilisant un SL de 10 pip.

Les entrées peuvent être effectuées dans les deux sens.

2 - 3 indicateurs utilisés.

Sorties sur H1 ou D1.

S'il vous plaît PM si intéressé . . .

 

Si vous avez un EA rentable, je le coderai pour vous ou vous le ferai savoir si c'est vraiment au-delà de mes capacités.

 

Script de construction

Le gourou du codeur

J'ai essayé de chercher sur les différents forums du Net un expert ou un script pour émettre des ordres en attente avec un temps spécifié afin de fonctionner en "News". J'en ai obtenu quelques-uns mais ils n'ont pas été satisfaisants. J'ai essayé de faire un EA qui n'a pas fonctionné et je ne peux pas identifier l'échec. J'ai essayé de faire un script pour ajouter le graphique mais n'ai pas réussi. J'ai essayé de modifier le standard MT4 d'un script également sans succès. Je me demande si vous pouvez m'aider à construire un script à cette fin ... Émettre des ordres en attente d'achat et de vente à un moment prédéterminé.

Merci,

Paulo.peba

 

iATR ne fonctionne pas sur XAGUSD et XAUUSD

Joyeux Noël et bonne année !

Je veux faire un indicateur qui scanne plusieurs symboles dans différents cadres temporels. Les symboles XAGUSD et XAUUSD montrent un ATR de seulement 0.000.

Quel est le problème ?

double atr=iATR(symbol,timeframe[j],8,1)

12:28:48 Scan EURUSD,M1 : EURJPY 5 ATR = 0.0325

12:28:48 Scan EURUSD,M1 : EURJPY 15 ATR = 0.055

12:28:48 Scan EURUSD,M1 : EURJPY 30 ATR = 0.0988

12:28:48 Scan EURUSD,M1 : EURJPY 60 ATR = 0.1513

12:28:48 Scan EURUSD,M1 : EURJPY 240 ATR = 0.2475

12:28:48 Scan EURUSD,M1 : EURJPY 1440 ATR = 0.81

12:28:48 Scan EURUSD,M1 : XAGUSD 5 ATR = 0

12:28:48 Scan EURUSD,M1 : XAGUSD 15 ATR = 0

12:28:48 Scan EURUSD,M1 : XAGUSD 30 ATR = 0

12:28:48 Scan EURUSD,M1 : XAGUSD 60 ATR = 0.1662

12:28:48 Scan EURUSD,M1 : XAGUSD 240 ATR = 0

12:28:48 Scan EURUSD,M1 : XAGUSD 1440 ATR = 1.2625

12:28:48 Scan EURUSD,M1 : XAUUSD 5 ATR = 0

12:28:48 Scan EURUSD,M1 : XAUUSD 15 ATR = 0

12:28:48 Scan EURUSD,M1 : XAUUSD 30 ATR = 0

12:28:48 Scan EURUSD,M1 : XAUUSD 60 ATR = 0

12:28:48 Scan EURUSD,M1 : XAUUSD 240 ATR = 0

12:28:48 Scan EURUSD,M1 : XAUUSD 1440 ATR = 38.8625

Salutations

derumuro

 

Besoin d'aide pour coder un indicateur de ligne de tendance/retour/retest plus avec alerte

Salut les traders, y a-t-il quelqu'un ici qui peut m'aider à coder un indicateur qui est capable de marquer une ligne de tendance/un canal approprié, suivi d'une alerte de rupture (s'il y en a une) et de nous alerter quand il y a un pullback sur cette ligne. Le repli peut également être un retracement vers le niveau Fib de 38,2%, 50% ou 61,8%. J'ai besoin de quelque chose qui puisse marquer une ligne de tendance/un canal approprié car j'ai l'impression que la plupart des indicateurs de ligne de tendance automatique ou de canal automatique ne marquent pas la ligne appropriée. J'ai cherché partout dans la plupart des forums mais je n'ai pas trouvé ce soi-disant indicateur de pullback de ligne de tendance. J'ai essayé DeMark mais je ne suis pas vraiment à l'aise pour l'utiliser. Je ne suis pas sûr que cet indicateur soit possible à coder. Mais je crois que rien n'est possible dans ce monde. Merci...

 

Bonjour Blackwood

BlackWood:
Si vous avez un EA rentable, je le coderai pour vous ou je vous ferai savoir si c'est vraiment au-delà de mes capacités.

En référence au post #148, est-il possible de coder un EA ? Si c'est possible, je pense que l'EA peut être utilisé pour le scalping... Essayez d'y arriver, oui... Merci d'avance...

 

Besoin d'aide pour remodeler l'EA

Bonjour ....

Quelqu'un veut-il m'aider à ajouter les HH et LL en H1 pour montrer les tendances dans l'EA ci-dessous et changer la ligne rouge et bleue en Supplay et demande en H1 ? J'ai trouvé ceci sur les forums EA et je l'ai modifié mais pas parfaitement. Je veux que cet EA fonctionne sur la base de Supplay et Demand pour voir la tendance en utilisant le HH et LL. J'espère que l'EA peut être une entrée à partir de la M5 avec une demande jaune Supplay et Demand Supplay se réfère au rouge et bleu en H1 (rouge et bleu sont maintenant faux, pas Supplay et Demand, S'il vous plaît être modifié en Supplay et Demand). Tendance et renversement de forme nous prenons la forme des séries HH et LL en H1.

Merci.

Dossiers :
 

S'il vous plaît dites-moi comment faire une entrée après Take Profit :)

Bonjour, codeur de génie et personnes aimables:D

Je suis en train de développer un EA simple mais je n'arrive pas à comprendre les conditions ci-dessous.

Si la position précédente est fermée par Take Profit, faire une nouvelle entrée qui fixe 20 pips par s/l et t/p au prochain prix d'ouverture (sur le graphique 5M).

J'ai essayé d'en écrire une.

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY)) //La dernière position était un ordre instantané OP_BUY ou OP_SELL

{

if(OrderClosePrice() == OrderTakeProfit()) // SI le prix de clôture est identique au prix de prise de profit

{

if(OrderType() == OP_BUY) //Ce type d'ordre est un ordre d'achat.

{

OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);// Les Lots et autres variables sont définis par moi-même

}

else if(OrderType() == OP_SELL))

{

OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC) ;

}

}

J'ai essayé de nombreuses fois avec le testeur de stratégie, mais je ne peux pas agir comme je l'espère.

Quelqu'un peut m'aider à résoudre cette question !

Salutations.