Orders Execution
Miscellaneous
0
Views
0
Downloads
0
Favorites
Profitability Reports
GBP/CAD
Oct 2024 - Jan 2025
0.00 %
Total Trades
0
Won Trades
0
Lost trades
0
Win Rate
0.0 %
Expected payoff
0.00
Gross Profit
0.00
Gross Loss
0.00
Total Net Profit
0.00
-100%
-50%
0%
50%
100%
GBP/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
0
Won Trades
0
Lost trades
0
Win Rate
0.0 %
Expected payoff
0.00
Gross Profit
0.00
Gross Loss
0.00
Total Net Profit
0.00
-100%
-50%
0%
50%
100%
_auto_SELL
//+------------------------------------------------------------------+
//| _auto_SELL.mq4 |
//| "ÑÊÐÈÏÒÛ ÄËß ËÅÍÈÂÎÃÎ" |
//| Ñêðèïò îòêðûâàåò SELL â àêòèâíîì îêíå. |
//| Ïðè CreateGif=true àêòèâíîå îêíî ïîñëå |
//| îòêðûòèÿ ïîçèöèè ñîõðàíÿåòñÿ êàê ðèñóíîê â |
//| ...\<Òåðìèíàë>\exsperts\files\<FileName>.gif |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, Bookkeeper"
#property link "yuzefovich@gmail.com"
#property show_inputs // Åñëè åñòü æåëàíèå ìåíÿòü ýêñòåðíû â ïðîöåññå
//+------------------------------------------------------------------+
extern int Aggression = 1; // = 0 - ôèêñèðîâàííûì ëîòîì
// = 1 èëè 2 àâòîâûáîð
extern double FixLot = 0.1;
extern int DistSLmin = 35; // StopLoss â ïóíêòàõ - íå ìåíüøå.
// Åñëè àâòîìàòîì áóäåò ìåíüøå - áóäåò
// óñòàíîâëåí íà DistSLmin ïóíêòîâ
extern int NBarsMax = 15; // Ìàêñèìàëüíîå ÷èñëî áàðîâ, ñðåäè
// êîòîðûõ èñêàòü ëîêàëüíûé ìàêñèìóì.
// Åñëè íàéäåí íå áóäåò, áóäåò âçÿò
// áîëüøèé èç High â ýòîì äèàïàçîíå.
// èëè ïî DistSLmin
extern int SlipPage = 7; // Ïðîñêàëüçûâàíèå â ïóíêòàõ
extern bool StopLoss = true; // Ñòàâèòü èëè íåò StopLoss
extern bool TakeProfit = true; // Ñòàâèòü èëè íåò TakeProfit=StopLoss
extern bool CreateGif = false; // Ñîçäàòü èëè íåò ðèñóíîê
//+------------------------------------------------------------------+
double CalcLotsAuto() // Ìÿãêî-àãðåññèâíûé ñïîñîá óïðàâëåíèÿ äåíþøêîé.
{
double lots;
// Ìèíèìàëüíûé è ìàêñèìàëüíûé ðàçìåðû ëîòîâ
double MinLot=MarketInfo(Symbol(),MODE_MINLOT);
int MinLotDgts;
if(MinLot<0.1) MinLotDgts=2; // ðàçìåðíîñòü ìèíëîòà
else
{
if(MinLot<1.0) MinLotDgts=1;
else MinLotDgts=0;
}
double MaxLot=MarketInfo(Symbol(),MODE_MAXLOT);
// íóæåí çàëîã íà ìèíëîò
double MarginLot=MarketInfo(Symbol(),MODE_MARGINREQUIRED)*MinLot;
// èìååì ñâîáîäíûõ ñðåäñòâ
double FreeMargin=AccountFreeMargin();
// åñëè èõ íå èìååì :(
if(MarginLot>FreeMargin) return(-1.0);
// à åñëè èìååì, òî ñêîëüêî ëîòîâ ìîæåì ñåáå ïîçâîëèòü íà ïîçó
double LotStep=MarketInfo(Symbol(),MODE_LOTSTEP);
int LotStepDgts;
if(LotStep<0.1) LotStepDgts=2; // ðàçìåðíîñòü
else
{
if(LotStep<1.0) LotStepDgts=1;
else LotStepDgts=0;
}
FixLot=NormalizeDouble(FixLot,LotStepDgts);
if(Aggression==0)
{
if(FixLot>0)
{
MarginLot=MarketInfo(Symbol(),MODE_MARGINREQUIRED)*FixLot;
if(MarginLot>FreeMargin) lots=NormalizeDouble(MinLot,MinLotDgts);
else lots=NormalizeDouble(FixLot,LotStepDgts);
return(lots);
}
else
{
lots=NormalizeDouble(MinLot,MinLotDgts);
return(lots);
}
}
int n=1;
int m=NormalizeDouble(MaxLot/MinLot,0);
double level=MarginLot*2;
while(level<=FreeMargin && n<=m)
{
n++;
if(Aggression==1)
level=level+MarginLot*n; // Ìåíåå àãðåññèâíî
else level=level+MarginLot*MathSqrt(n);
}
n--;
lots=NormalizeDouble((MinLot*n),MinLotDgts);
return(lots);
}
//+------------------------------------------------------------------+
void start()
{
double SL, TP;
int ticket, i;
string FileName, str;
//----
// Äîïóñê óðîâíåé ñòîïîâ (äîáàâëÿþ ïðîñêàëüçûâàíèå)
double MinDistForStops=
(MarketInfo(Symbol(),MODE_STOPLEVEL)+SlipPage)*Point;
double lots=CalcLotsAuto();
if(lots<=0)
{
Alert("Open_BUY: My finance sing romances");
return;
}
int N=0, m=0;
bool b=true;
while(b && N<NBarsMax)
{
N++;
if((Period()<1440 && High[N]>=High[N+1] && High[N]>=High[N-1] && High[N]>High[N+2] && High[N]>High[N-2])
|| (Period()>240 && High[N]>High[N+1] && High[N]>High[N-1]))
{
b=false;
m=N;
}
else m=iHighest(NULL,0,MODE_HIGH,N,0);
}
RefreshRates();
double DistStops=High[m]-Bid+MarketInfo(Symbol(),MODE_SPREAD)*Point;
DistStops=MathMax((DistSLmin*Point),DistStops);
DistStops=MathMax(MinDistForStops,DistStops);
if(StopLoss==true) SL=Ask+DistStops;
else SL=0;
if(TakeProfit==true) TP=Bid-DistStops;
else TP=0;
ticket=OrderSend(Symbol(),OP_SELL,
lots,
NormalizeDouble(MarketInfo(Symbol(),MODE_BID),Digits),
SlipPage,
NormalizeDouble(SL,Digits),
NormalizeDouble(TP,Digits),
"",0,0,CLR_NONE);
if(ticket<0) Alert("Open_SELL LastError: ",GetLastError());
else
{
if(CreateGif==true)
{
// ðèñóåì, åñëè çàêàçàíî
datetime curdate=TimeCurrent();
FileName=Symbol()+"_SELL_"+TimeYear(curdate);
i=TimeMonth(curdate);
if(i<10)
{
str="0"+i;
FileName=FileName+str;
}
else FileName=FileName+i;
i=TimeSeconds(curdate)+
100*TimeMinute(curdate)+
10000*TimeHour(curdate)+
1000000*TimeDay(curdate);
if(TimeDay(curdate)<10)
{
str="0"+i;
FileName=FileName+str;
}
else FileName=FileName+i;
FileName=FileName+".gif";
WindowScreenShot(FileName,400,300);
}
}
return;
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---