Demande d'EA - page 2

 

oui BETA

Les heures de trading sont les heures ALPARI ! !!! (GTM+1)

#property copyright "Alex.Piech.FinGeR"

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

#define MAGIC 20051021

extern string PARAMETERS_TRADE = "PARAMETERS TRADE";

extern int SLIPPAGE = 3;

extern double Lots = 0.1;

extern int StopLoss = 10;

extern int TakeProfit = 35;

extern int JPYpair = 0;

extern bool useProfitTrailing = False;

extern int TrailingStop = 20;

extern int TrailingStep = 3;

extern string PARAMETERS_EXPERT = "PARAMETERS EXPERT";

extern bool UseOneAccount = False;

extern int NumberAccount = 0815;

extern string Name_Expert = "BETA";

extern bool UseSound = True;

extern string NameFileSound = "expert.wav";

extern color clOpenBuy = LightBlue;

extern color clOpenSell = LightCoral;

extern color clModifyBuy = Aqua;

extern color clModifySell = Tomato;

extern color clCloseBuy = Blue;

extern color clCloseSell = Red;

int prevBar;

void SetArrow(datetime t, double p, int k, color c) {

ObjectSet("Arrow", OBJPROP_TIME1 , t);

ObjectSet("Arrow", OBJPROP_PRICE1 , p);

ObjectSet("Arrow", OBJPROP_ARROWCODE, k);

ObjectSet("Arrow", OBJPROP_COLOR , c);

}

void deinit()

{

Comment("");

}

void start() {

SetArrow(Time[0],Low[0]-5*Point,241,Gold);

//bx=False;

//sx=False;

Comment("");

if (UseOneAccount && AccountNumber()!=NumberAccount) {

Comment("-UseOnAccount- Number"+AccountNumber()+" FAILED!");

return;

} else Comment("");

CheckForOpen();

CheckForClose();

if (useProfitTrailing) TrailingPositions();

}

void CheckForOpen() {

double ldStop=0, ldTake=0;

double close1=iClose(NULL,1440,1);

double high1=iHigh(NULL,1440,1);

double low1=iLow(NULL,1440,1);

double close=iClose(NULL,1440,0);

double high=iHigh(NULL,1440,0);

double low=iLow(NULL,1440,0);

double Pr = high1 + 1*Point;

double Pr2 = low1 - 1*Point;

int tradesignal2 = 0;

int tradesignal2s = 0;

if (JPYpair == 0)

double val2 = (Pr - (MathFloor(close1*100) /100))*10000;

else

val2 = (Pr - MathFloor(close1))*100;

if (val2 >= 15 && val2 <= 85) tradesignal2 = 1;

if (JPYpair == 0)

double val2a = (Pr2 - (MathFloor(close1*100) /100))*10000;

else

val2a = (Pr2 - MathFloor(close1))*100;

if (val2a >= 15 && val2a <= 85) tradesignal2s = 1;

int T=0;

if(Hour()== 23 && Minute() == 30) T=1;

if (!ExistPosition() && prevBar!=Bars) {

if (T==1 && tradesignal2 == 1 && (high1 - low1) >= 100*Point && (high1 - close1 ) >= 25*Point ) {

if (StopLoss!=0) ldStop=Pr-StopLoss*Point;

if (TakeProfit!=0) ldTake=Pr+TakeProfit*Point;

SetOrder(OP_BUYSTOP,Pr , ldStop, ldTake);

prevBar=Bars;

}

if (T== 1 && tradesignal2s == 1 && (high1 - low1) >= 100*Point && (close1 - low1) >= 25*Point ) {

if (StopLoss!=0) ldStop=Pr2+StopLoss*Point;

if (TakeProfit!=0) ldTake=Pr2-TakeProfit*Point;

SetOrder(OP_SELLSTOP, Pr2, ldStop, ldTake);

prevBar=Bars;

}

}

}

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

//| is MAGIC trade open ? |

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

bool ExistPosition() {

bool Exist=False;

for (int i=0; i<OrdersTotal(); i++) {

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) Exist=True;

}

}

return(Exist);

}

void SetOrder(int op, double pp, double ldStop, double ldTake) {

color clOpen;

string lsComm=GetCommentForOrder();

if (op==OP_BUYSTOP) clOpen=clOpenBuy; else clOpen=clOpenSell;

OrderSend(Symbol(),op,Lots,pp,SLIPPAGE,ldStop,ldTake,lsComm,MAGIC,0,clOpen);

if (UseSound) PlaySound(NameFileSound);

}

string GetCommentForOrder() {

return(Name_Expert);

}

void TrailingPositions() {

for (int i=0; i<OrdersTotal(); i++) {

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC ) {

if (OrderType()==OP_BUY) {

if ((Bid-OrderOpenPrice())>TrailingStop*Point) {

if (OrderStopLoss()<Bid-(TrailingStop+TrailingStep-1)*Point) {

ModifyStopLoss(Bid-TrailingStop*Point, clModifyBuy);

}

}

}

if (OrderType()==OP_SELL) {

if (OrderOpenPrice()-Ask>TrailingStop*Point) {

if (OrderStopLoss()>Ask+(TrailingStop+TrailingStep-1)*Point || OrderStopLoss()==0) {

ModifyStopLoss(Ask+TrailingStop*Point, clModifySell);

}

}

}

}

}

}

}

void CheckForClose() {

bool fs=False;

bool fs1=False;

int T2=0;

if(Hour()== 13 && Minute() >= 45) T2=1;

if (T2==1){

fs1 = True;

fs = True;

}

for (int i=0; i<OrdersTotal(); i++) {

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) {

if (OrderType()==OP_BUYSTOP && fs) {

OrderDelete(OrderTicket());

// OrderClose(OrderTicket(), Lots, Bid, SLIPPAGE, Aqua);

return;

}

if (OrderType()==OP_SELLSTOP && fs1) {

OrderDelete(OrderTicket());

// OrderClose(OrderTicket(), Lots, Ask, SLIPPAGE, Violet);

return;

}

}

}

}

}

void ModifyStopLoss(double ldStop, color clModify) {

bool fm;

double ldOpen=OrderOpenPrice();

double ldTake=OrderTakeProfit();

fm=OrderModify(OrderTicket(), ldOpen, ldStop, ldTake, 0, clModify);

if (fm && UseSound) PlaySound(NameFileSound);

}

 

ici EA

Dossiers :
platinum.mq4  7 kb
 

Alex,

Quel calendrier pour Platimun et Beta ?

 
Eric:
Sada, je pense que cela signifie par exemple :

Ne pas être long si le prix se situe entre 1,1785 et 1,1799 (car il y aura une résistance au niveau du chiffre "rond" -- 1,1800, et il pourrait se retracer vers le bas).

Ne pas être short si le prix se situe entre 1.1715 et 1.1701 (parce qu'il y aura une résistance au niveau du chiffre "rond" -- 1.1700, et il pourrait y avoir un retracement vers le haut).

Mais je peux me tromper !

eric, je pense que vous avez tort il veut dire

ne négociez pas à court ou à long terme si le prix se situe entre 1,1685 et 1,1715, car il suppose qu'il s'agit d'une zone de soutien ou de résistance importante.

xpie

 

J'ai un graphique automatique quotidien D1 pour toutes les périodes de temps.

oui xpie est tout Beta aidez-moi s'il vous plaît

 

xpie, oui, il semble que vous ayez raison - il y a une "zone de non échange" de 30 pip pour les longs et les shorts.

 
Alex.Piech.FinGeR:
oui BETA .

tu peux m'envoyer le gso ? tu peux l'envoyer par email si tu veux à forextrash<--yahoo

 

La stratégie similaire sur EasyDayTrader est prête à être utilisée. Jetez-y un coup d'œil.

 
forex-experts:
La stratégie similaire sur EasyDayTrader est prête à être utilisée. Jetez-y un coup d'oeil.

Peut-être pourriez-vous poster une version d'essai EXP ou EX4 (30 jours ?) de l'EA pour que nous puissions la tester ?

Sinon, on pourrait penser que vous postez ici juste pour faire la publicité de vos EA commerciaux et non pour le bénéfice des membres du forum... cela s'appelle du spamming gratuit, non ? Ce n'est pas ce que nous voulons, n'est-ce pas ?

Voici un lien vers l'endroit où je pense que votre futur post "publicitaire" devrait aller (EA commercial) :

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

Sada

Edit :

PS : mon message, après l'avoir lu, semble un peu trop sarcastique... désolé si je vous ai offensé mais je suis en fait vraiment intéressé à tester les EA commerciaux.

 

Clarification

Je pense que ce qu'il veut dire, c'est qu'il faut être short si le prix est de 80 ou moins et long si 20 ou plus, de préférence à/près de l'un ou l'autre plutôt qu'au milieu d'une figure de 100 pip.