S'il vous plaît, aidez-moi à faire des corrections. Cet EA ne ferme pas de force les ordres ouverts. J'aimerais qu'en plus de l'heure de fixation des limites, nous puissions également fixer l'heure de leur fermeture forcée. Nous avons besoin de TP et de trall pour les optimiser. Un trall, de sorte que toutes les limites seraient fermées de manière modeste mais collecter le bruit nocturne.
Introduction à la suppression des ordres, au timing, à la fixation d'arrêts et au chalutage (repris ici https://www.mql5.com/ru/code/32662, même explication là).
Aidez-moi à écrire un robot de trading EA. Le premier lot achète 0,01 ou moins. Si deux points sont pris, alors il est fermé et de nouveau acheter 0,01 deux points. Si ce n'est pas le cas, le lot est toujours doublé et va à l'inverse de la vente de 0,02 pour deux ou trois points selon les règles de négociation par point. S'il n'est pas pris, on achète 0,04 et on ferme, s'il n'est pas pris 0,08 et ainsi de suite jusqu'à huit fois, c'est-à-dire jusqu'à 0,128 lot. Nous changeons toujours de direction. S'il a été pris, à nouveau 0,01. ***
La précédente, malheureusement, ne convenait pas. J'ai parcouru la base de code et trouvé presque exactement ce dont j'ai besoin
https://www.mql5.com/ru/code/10236.
//+------------------------------------------------------------------+
//| i`lbeback.mq4 |
//| Copyright ? 2011, AM2 && Tiburond |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2011, AM2 && Tiburond"
#property link "http://www.forexsystems.biz"
#define MAGIC 20110406
extern int StopLoss = 1300; //???????? ??????
extern int StartHour = 21; //??? ?????? ????????(???????????? ?????)
extern int Distance = 250; //?????????? ?? ???? ??? ????????? ??????
extern int Step = 50; //??? ????????? ???????
extern int Count = 4; //?????????? ??????????????? ???????
extern int Expiration = 4; //????? ????????? ??????
extern double Lots = 1; //???
extern bool MM = true; //?????????? ???????????????
extern double TSP = 5; //????
extern bool BU = true; //?????????? ?????? ??????? ? ????????? ? ??????? ???
extern int BUHour = 2; //??? ????? ??????? ??????? ??????? ? ?????????
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int b=0,s=0,res;
datetime expiration = TimeCurrent()+3600*Expiration;
double BuyPrice=fND(Open[0]-Distance*Point);
double SellPrice=fND(Open[0]+Distance*Point);
for (int i=OrdersTotal()-1;i>=0;i--)
{
if (OrderSelect(i, SELECT_BY_POS))
{
if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=MAGIC) continue;
if (OrderType()==OP_BUYLIMIT) b++;
if (OrderType()==OP_SELLLIMIT) s++;
}
}
if (Hour()>BUHour && Hour()<StartHour && AllProfit()>0) ClosePositions();
if (Hour()>BUHour && DayOfWeek() == 5) ClosePositions();
if (Hour()==StartHour && b<1 && DayOfWeek() != 5)
for(i=1;i<=Count;i++)
{
{
res=OrderSend(Symbol(),OP_BUYLIMIT,fLots(),fND(Ask-(Distance*Point+i*Step*Point)),3,fND(BuyPrice-StopLoss*Point),fND(Open[0]),"",MAGIC,expiration,Blue);
Sleep(3000);
if(res<0)
{
Print("??????: ",GetLastError());
} else {
RefreshRates();
}
}
}
if (Hour()==StartHour && s<1 && DayOfWeek() != 5)
for(i=1;i<=Count;i++)
{
{
res=OrderSend(Symbol(),OP_SELLLIMIT,fLots(),fND(Bid+(Distance*Point+i*Step*Point)),3,fND(SellPrice+StopLoss*Point),fND(Open[0]),"",MAGIC,expiration,Red );
Sleep(3000);
if(res<0)
{
Print("??????: ",GetLastError());
} else {
RefreshRates();
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
double fND(double d, int n=-1)
{
if (n<0) return(NormalizeDouble(d, Digits));
return(NormalizeDouble(d, n));
}
//+------------------------------------------------------------------+
double fLots()
{
double lot=Lots;
double lot_min =MarketInfo( Symbol(), MODE_MINLOT );
double lot_max =MarketInfo( Symbol(), MODE_MAXLOT );
if (MM)
{
double lot_step =MarketInfo( Symbol(), MODE_LOTSTEP );
double lotcost =MarketInfo( Symbol(), MODE_TICKVALUE );
double dollarsPerPip=0.0;
lot = AccountFreeMargin()*TSP/100.0;
dollarsPerPip=lot/StopLoss;
lot=fND(dollarsPerPip/lotcost, 2);
lot=fND(lot/lot_step, 0) * lot_step;
}
if (lot<lot_min) lot=lot_min;
if (lot>lot_max) lot=lot_max;
return(lot);
}
//+------------------------------------------------------------------+
void ClosePositions()
{
if(BU)
for (int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol())
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC)
{
if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Blue);
if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
}
Sleep(1000);
}
}
}
//+------------------------------------------------------------------+
double AllProfit()
{
double Profit = 0;
for (int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MAGIC) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) Profit += OrderProfit();
}
return (Profit);
}
//+------------------------------------------------------------------+
S'il vous plaît, aidez-moi à faire des corrections. Cet EA ne ferme pas de force les ordres ouverts. J'aimerais qu'en plus de l'heure de fixation des limites, nous puissions également fixer l'heure de leur fermeture forcée.
Nous avons besoin de TP et de trall pour les optimiser. Un trall, de sorte que toutes les limites seraient fermées de manière modeste mais collecter le bruit nocturne.
Introduction à la suppression des ordres, au timing, à la fixation d'arrêts et au chalutage (repris ici https://www.mql5.com/ru/code/32662, même explication là).
Comment trouvez-vous l'identité
Est-ce que vous écrivez des EAs contre une rémunération et sans discussion sur le forum ?
Service d'écriture rémunéré Freelance. Suivez le lien et lisez le matériel de référence.
Bonjour, veuillez m'aider.
J'ai besoin d'un EA qui recherche et montre les situations sur le graphique comme sur les captures d'écran.
Les calculs utilisent un SAR parabolique normal et un canal derégression linéaire normal.
la formation souhaitée.
Ce serait très apprécié. Je peux partager les entrées.
Je vous en serais très reconnaissant. Je peux partager les données.
Pourquoi se moquer de ParabolicSAR - il montre parfaitement les entrées et les sorties telles qu'elles sont.