Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
55_MA_med_FIN
//+------------------------------------------------------------------+
//| 50 peHta6 tynnel MA medFIN.mq4.mq4 |
//| Copyright © 2009, costy_ |
//| jena@deneg.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, costy_"
#property link "jena@deneg.net"
#define STUPID 0x60BE45
extern string Lots_Desc = "Åñëè 0 ïðèìåíÿåòñÿ äèíàìè÷åñêèé ëîò";
extern double Lots = 1;
extern string RiskPercentage_Desc = "Íàñòðîéêà äëÿ äèíàìè÷åñêîãî ëîòà -- % ðèñêà. Åñëè 0 èñïîëüçóåòñÿ ìèíèìàëüíûé äîñòóïíûé ðàçìåð ëîòà, åñëè Lots > 0 ýòà íàñòðîéêà èãíîðèðóåòñÿ";
extern int RiskPercentage = 0;
extern int Slippage = 25;
extern string Target_Desc = "Òåéê ïðîôèò, åñëè 0 ïðîôèò íå âûñòàâëÿåòñÿ 90-200";
extern int Target = 0 ;
extern string Loss_Desc = "Ñòîï ëîññ, åñëè 0 ëîññ íå âûñòàâëÿåòñÿ 30-80";
extern int Loss = 0;
extern string MA_DESC = "Ïåðèîäû ÌÀ ";
extern int F55 = 55;
extern int shift = 13;
extern int METHOD_MA=1;
extern int timeframe =0;
extern string Òîðãóåìûé_äèàïàçîí = " ÷àñàõ(íî -1÷àñ ò.ê. ma shift 1)";
extern int îêîí÷àíèå=20;
extern int íà÷àëî=8;
extern string MaxOrders_Desc = "åñëè 0 êîëè÷åñòâî îäíîâðåìåííî îòêðûòûõ ïîçèöèé íå îãðàíè÷èâàåòñÿ 1-3";
extern int MaxOrders = 1;
double LotsToBid;
string symbol;
bool áûëà_ïîêóïêà?;
bool áûëà_ïðîäàæà?;
//---------------------------
int k=1;
// èìïîðòèðóåì áèáëèîòåêó ôóíêöèé äëÿ ðàçëè÷íûõ âèäîâ òðåéëèíãà
// ïðèìåð âûçîâà ôóíêöèé - ñì. áëèæå ê êîíöó êîäà
#import "TrailingAll.ex4"
void TrailingByShadows(int ticket,int tmfrm,int bars_n, int indent,bool trlinloss);
void TrailingByFractals(int ticket,int tmfrm,int frktl_bars,int indent,bool trlinloss);
void TrailingStairs(int ticket,int trldistance,int trlstep);
void TrailingUdavka(int ticket,int trl_dist_1,int level_1,int trl_dist_2,int level_2,int trl_dist_3);
void TrailingByTime(int ticket,int interval,int trlstep,bool trlinloss);
void TrailingByATR(int ticket,int atr_timeframe,int atr1_period,int atr1_shift,int atr2_period,int atr2_shift,double coeff,bool trlinloss);
void TrailingRatchetB(int ticket,int pf_level_1,int pf_level_2,int pf_level_3,int ls_level_1,int ls_level_2,int ls_level_3,bool trlinloss);
void TrailingByPriceChannel(int iTicket,int iBars_n,int iIndent);
void TrailingByMA(int iTicket,int iTmFrme,int iMAPeriod,int iMAShift,int MAMethod,int iApplPrice,int iShift,int iIndent);
void TrailingFiftyFifty(int iTicket,int iTmFrme,double dCoeff,bool bTrlinloss);
void KillLoss(int iTicket,double dSpeedCoeff);
#import
//--------------------------------------------------------------
// çàêðûòèå ïîêóïîê
void CloseBuys(int MagicNumber, int Slippage)
{
for(int i = 0; i < OrdersTotal(); i++)
{
// already closed
if(OrderSelect(i, SELECT_BY_POS) == false) continue;
// not current symbol
if(OrderSymbol() != Symbol()) continue;
// order was opened in another way
if(OrderMagicNumber() != MagicNumber) continue;
if(OrderType() == OP_BUY)
{
if(OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Blue))
{
i--;
}
RefreshRates();
}
}
}
//-----------------------------------------------------
// çàêðûòèå ïðîäàæ
void CloseSells(int MagicNumber, int Slippage)
{
for(int i = 0; i < OrdersTotal(); i++)
{
// already closed
if(OrderSelect(i, SELECT_BY_POS) == false) continue;
// not current symbol
if(OrderSymbol() != Symbol()) continue;
// order was opened in another way
if(OrderMagicNumber() != MagicNumber) continue;
if(OrderType() == OP_SELL)
{
if (OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Red))
{
i--;
}
RefreshRates();
}
}
}
//----------------------------------------------------
// ïîäñ÷åò êîë-âà îòêðûòûõ ïîçèöèé
int GetOrdersCount(int MagicNumber, int Type)
{
int count = 0;
for(int i = 0; i < OrdersTotal(); i++)
{
// already closed
if(OrderSelect(i, SELECT_BY_POS) == false) continue;
// not current symbol
if(OrderSymbol() != Symbol()) continue;
// order was opened in another way
if(OrderMagicNumber() != MagicNumber) continue;
if(OrderType() == Type)
{
count++;
}
}
return (count);
}
//-------------------------------------------------------
// Âû÷èñëåíèå äèíàìè÷åñêîãî ëîòà
double GetLotsToBid(int RiskPercentage)
{
double margin = MarketInfo(Symbol(), MODE_MARGINREQUIRED);
double minLot = MarketInfo(Symbol(), MODE_MINLOT);
double maxLot = MarketInfo(Symbol(), MODE_MAXLOT);
double step = MarketInfo(Symbol(), MODE_LOTSTEP);
double account = AccountFreeMargin();
double percentage = account*RiskPercentage/100;
double lots = MathRound(percentage/margin/step)*step;
if(lots < minLot)
{
lots = minLot;
}
if(lots > maxLot)
{
lots = maxLot;
}
return (lots);
}
//----------------------------------------------------
// ïîêóïêà
void OpenBuy()
{
double TP = 0;
if (Target > 0)
{
TP = Bid + Target*Point;
}
double SL = 0;
if (Loss > 0)
{
SL = Bid - Loss*Point;
}
if (Lots == 0) LotsToBid = GetLotsToBid(RiskPercentage);
OrderSend(Symbol(), OP_BUY, LotsToBid, Ask, Slippage, SL, TP, NULL, STUPID, 0, Blue);
}
//----------------------------------------------------
// ïðîäàæà
void OpenSell()
{
double TP = 0;
if (Target > 0)
{
TP = Ask - Target*Point;
}
double SL = 0;
if (Loss > 0)
{
SL = Ask + Loss*Point;
}
if (Lots == 0) LotsToBid = GetLotsToBid(RiskPercentage);
OrderSend(Symbol(), OP_SELL, LotsToBid, Bid, Slippage, SL, TP, NULL, STUPID, 0, Red);
}
//------------------------------------------------------
// ïðîâåðêà óñëîâèé òîðãîâëè è óïðàâëåíèå ïîçèöèÿìè
void Check()
{
int X=1*k;
int Y=13*k;
//--------------------------------------------------------------
double ma1 = iMA(symbol, timeframe, F55, 0, METHOD_MA, PRICE_MEDIAN, shift);
double ma0 = iMA(symbol, timeframe, F55, 0, METHOD_MA, PRICE_MEDIAN, 1);
if(Hour()<îêîí÷àíèå&&Hour()>íà÷àëî){
if(ma0>ma1&&áûëà_ïîêóïêà?<1 ){CheckBuy();áûëà_ïîêóïêà?=2;áûëà_ïðîäàæà?=0;
} //öåíà íàõîäèòñÿ ÂÛØÅ êàíàëà buy
if(ma0<ma1&&áûëà_ïðîäàæà?<1 ){CheckSell();áûëà_ïðîäàæà?=2;áûëà_ïîêóïêà?=0;
} } //öåíà íàõîäèòñÿ ÍÈÆÅ êàíàëà sell
}
void PrintComments() {
}
//--------------------------------------------------------------
//--------------------------------------------------------------
void CheckBuy()
{
if (GetOrdersCount(STUPID, OP_SELL) > 0)
{
CloseSells(STUPID, Slippage);
}
if (GetOrdersCount(STUPID, OP_BUY) < MaxOrders || MaxOrders == 0)
{
OpenBuy();
}}
void CheckSell()
{
if (GetOrdersCount(STUPID, OP_BUY) > 0)
{
CloseBuys(STUPID, Slippage);
}
if (GetOrdersCount(STUPID, OP_SELL) < MaxOrders || MaxOrders == 0)
{
OpenSell();
}}
//--------------------------------------------------------------
//--------------------------------------------------------------
int init()
{
LotsToBid = Lots;
symbol = Symbol();
}
//--------------------------------------------------------------
int start()
{
PrintComments();
// Check for open new orders and close current ones
Check();
for (int i=0;i<OrdersTotal();i++)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderMagicNumber()!=STUPID || OrderSymbol()!=Symbol()) continue;
if ((OrderType()==OP_BUY) || (OrderType()==OP_SELL))
{
// !!! ÏÐÈÌÅÐ ÂÛÇÎÂÀ ÔÓÍÊÖÈÉ ÒÐÅÉËÈÍÃÀ !!!
// !!! ÏÐÈÌÅÐ ÂÛÇÎÂÀ ÔÓÍÊÖÈÉ ÒÐÅÉËÈÍÃÀ !!!
// !!! ÏÐÈÌÅÐ ÂÛÇÎÂÀ ÔÓÍÊÖÈÉ ÒÐÅÉËÈÍÃÀ !!!
// ñðåäè âîçìîæíûõ âàðèàíòîâ ìû, äîïóñòèì, âûáðàëè òðåéëèíã ïî ôðàêòàëàì. Òðåéëèíãóåì ïî
// 5-áàðíûì ôðàêòàëàì íà äíåâêàõ, ñ îòñòóïîì îò ýêñòðåìóìà â 3 ï., â çîíå ëîññîâ íå òðàëèì
//TrailingByFractals(OrderTicket(),5,10,8,false);
// (êàê âèäèì, äîñòàòî÷íî ïðåäâàðèòåëüíî âûáðàòü îðäåð OrderSelect() è âûçâàòü ôóíêöèþ,
// ïåðåäàâ åé òèêåò ïîçèöèè è îïðåäåëèâ íåîáõîäèìûå ïàðàìåòðû).
// Ïðè æåëàíèè Âû ìîæåòå çàêîìåíòèðîâàòü äàííûé âèä òðåéëèíãà è ïîäêëþ÷èòü ëþáîé äðóãîé
// èëè äàæå "ñêîíñòðóèðîâàòü" èç íèõ áîëåå èëè ìåíåå ñëîæíóþ êîíñòðóêöèþ.
//--------------------------------------------------------------
//--------------------------------------------------------------
//| 1) ÒÐÅÉËÈÍÃ ÏÎ ÔÐÀÊÒÀËÀÌ |
//| TrailingByFractals(int ticket,int tmfrm,int frktl_bars,int indent,bool trlinloss)
//| Ïàðàìåòðû:
//| ticket - óíèêàëüíûé ïîðÿäêîâûé íîìåð îðäåðà(âûáðàííûé ïåðåä âûçîâîì ôóíêöèè ñ ïîìîùüþ OrderSelect());
//| tmfrm - òàéìôðåéì, ïî áàðàì êîòîðîãî îñóùåñòâëÿåòñÿ òðåéëèíã (âàðèàíòû - 1, 5, 15, 30, 60, 240, 1440, 10080, 43200);
//| bars_n - êîëè÷åñòâî áàðîâ â ñîñòàâå ôðàêòàëà (íå ìåíüøå 3);
//| indent - îòñòóï (ïóíêòîâ) îò ýêñòðåìóìà ïîñëåäíåãî ôðàêòàëà, íà êîòîðîì áóäåò ðàçìåùåí ñòîïëîññ (íå ìåíüøå 0);
//| trlinloss - óêàçàòåëü òîãî, ñëåäóåò ëè ïåðåäâèãàòü ñòîïëîññ íà "ëîññîâîì" ó÷àñòêå, ò.å. â èíòåðâàëå ìåæäó
//| íà÷àëüíûì ñòîïëîññîì è êóðñîì îòêðûòèÿ (true - òðàëèì, false - òðåéëèíã íà÷èíàåòñÿ òîëüêî ïðè óñëîâèè,
//| ÷òî íîâûé ñòîïëîññ "ëó÷øå" êóðñà îòêðûòèÿ, "â ïðîôèòå").
//TrailingByFractals(OrderTicket(),5,8,8,false);
//--------------------------------------------------------------
//| 2) ÒÐÅÉËÈÍà ÏÎ ÒÅÍßÌ N ÑÂÅ×ÅÉ |
//| TrailingByShadows(int ticket,int tmfrm,int bars_n, int indent,bool trlinloss)
//| Ïàðàìåòðû:
//| ticket - óíèêàëüíûé ïîðÿäêîâûé íîìåð îðäåðà (âûáðàííûé ïåðåä âûçîâîì ôóíêöèè ñ ïîìîùüþ OrderSelect());
//| tmfrm - òàéìôðåéì, ïî áàðàì êîòîðîãî îñóùåñòâëÿåòñÿ òðåéëèíã (âàðèàíòû - 1, 5, 15, 30, 60, 240, 1440, 10080, 43200);
//| bars_n - êîëè÷åñòâî áàðîâ, êîòîðûå èñïîëüçóþòñÿ äëÿ îïðåäåëåíèÿ óðîâíÿ ñòîïëîññà (íå ìåíüøå 1);
//| indent - îòñòóï (ïóíêòîâ) îò âûáðàííîãî high/low, íà êîòîðîì áóäåò ðàçìåùåí ñòîïëîññ (íå ìåíüøå 0);
//| trlinloss - óêàçàòåëü òîãî, ñëåäóåò ëè ïåðåäâèãàòü ñòîïëîññ íà "ëîññîâîì" ó÷àñòêå, ò.å.
//| â èíòåðâàëå ìåæäó íà÷àëüíûì ñòîïëîññîì è êóðñîì îòêðûòèÿ (true - òðàëèì, false - òðåéëèíã íà÷èíàåòñÿ òîëüêî ïðè óñëîâèè,
//| ÷òî íîâûé ñòîïëîññ "ëó÷øå" êóðñà îòêðûòèÿ, "â ïðîôèòå").
//TrailingByShadows(OrderTicket(),5,10,4,false);
//--------------------------------------------------------------
//| 3) ÒÐÅÉËÈÍà ÑÒÀÍÄÀÐÒÍÛÉ-ÑÒÓÏÅÍ×ÀÑÒÛÉ
//| TrailingStairs(int ticket,int trldistance,int trlstep)
//| Ïàðàìåòðû:
//| ticket - óíèêàëüíûé ïîðÿäêîâûé íîìåð îðäåðà (âûáðàííûé ïåðåä âûçîâîì ôóíêöèè ñ ïîìîùüþ OrderSelect());
//| trldistance - ðàññòîÿíèå îò òåêóùåãî êóðñà (ïóíêòîâ), íà êîòîðîì "òðàëèì" (íå ìåíüøå MarketInfo(Symbol(),MODE_STOPLEVEL));
//| trlstep - "øàã" èçìåíåíèÿ ñòîïëîññà (ïóíêòîâ) (íå ìåíüøå 1).
//TrailingStairs(OrderTicket(),30,15);
//--------------------------------------------------------------
//| 4) ÒÐÅÉËÈÍÃ ÑÒÀÍÄÀÐÒÍÛÉ-"ÓÄÀÂÊÀ"
//| TrailingUdavka(int ticket,int trl_dist_1,int level_1,int trl_dist_2,int level_2,int trl_dist_3)
//| Ïàðàìåòðû:
//| ticket - óíèêàëüíûé ïîðÿäêîâûé íîìåð îðäåðà (âûáðàííûé ïåðåä âûçîâîì ôóíêöèè ñ ïîìîùüþ OrderSelect());
//| trl_dist_1 - èñõîäíîå ðàññòîÿíèå òðåéëèíãà (ïóíêòîâ) (íå ìåíüøå MarketInfo(Symbol(),MODE_STOPLEVEL),
//| áîëüøå trl_dist_2 è trl_dist_3);
//| level_1 - óðîâåíü ïðîôèòà (ïóíêòîâ), ïðè äîñòèæåíèè êîòîðîãî äèñòàíöèÿ òðåéëèíãà áóäåò ñîêðàùåíà
//| ñ trl_dist_1 äî trl_dist_2 (ìåíüøå level_2; áîëüøå trl_dist_1);
//| trl dist_2 - ðàññòîÿíèå òðåéëèíãà (ïóíêòîâ) ïîñëå äîñòèæåíèÿ êóðñîì óðîâíÿ ïðîôèòà â level_1 ïóíêòîâ
//| (íå ìåíüøå MarketInfo(Symbol(),MODE_STOPLEVEL));
//| level_2 - óðîâåíü ïðîôèòà (ïóíêòîâ), ïðè äîñòèæåíèè êîòîðîãî äèñòàíöèÿ òðåéëèíãà áóäåò ñîêðàùåíà
//| ñ trl_dist_2 äî trl_dist_3 ïóíêòîâ (áîëüøå trl_dist_1 è áîëüøå level_1);
//| trl dist_3 - ðàññòîÿíèå òðåéëèíãà (ïóíêòîâ) ïîñëå äîñòèæåíèÿ êóðñîì óðîâíÿ ïðîôèòà â level_2 ïóíêòîâ (
//| íå ìåíüøå MarketInfo(Symbol(),MODE_STOPLEVEL)).
//TrailingUdavka(OrderTicket(),int trl_dist_1,int level_1,int trl_dist_2,int level_2,int trl_dist_3);
//--------------------------------------------------------------
//| 5) ÒÐÅÉËÈÍÃ ÏÎ ÂÐÅÌÅÍÈ
//| TrailingByTime(int ticket,int interval,int trlstep,bool trlinloss)
//| Ïàðàìåòðû:
//| ticket - óíèêàëüíûé ïîðÿäêîâûé íîìåð îðäåðà (âûáðàííûé ïåðåä âûçîâîì ôóíêöèè ñ ïîìîùüþ OrderSelect());
//| interval - êîëè÷åñòâî öåëûõ ìèíóò ñ ìîìåíòà îòêðûòèÿ ïîçèöèè, ïî èñòå÷åíèþ êîòîðûõ ïûòàåìñÿ ïåðåìåñòèòü ñòîïëîññ
//| íà øàã trlstep ïóíêòîâ;
//| trlstep - øàã (ïóíêòîâ), íà êîòîðûé ïûòàåìñÿ ïåðåìåùàòü ñòîïëîññ ÷åðåç êàæäûå interval ìèíóò;
//| trlinloss - â äàííîì ñëó÷àå åñëè trlinloss==true, òî òðàëèì îò ñòîïëîññà, èíà÷å îò êóðñà îòêðûòèÿ
//| (åñëè ñòîïëîññ íå áûë óñòàíîâëåí, ==0, òðàëèì âñåãäà îò êóðñà îòêðûòèÿ).
//TrailingByTime(OrderTicket(),30,10,true);
//--------------------------------------------------------------
//| 6) ÒÐÅÉËÈÍÃ ÏÎ ATR (Average True Range, Ñðåäíèé èñòèííûé äèàïàçîí)
//| TrailingByATR(int ticket,int atr_timeframe,int atr1_period,int atr1_shift,int atr2_period,int atr2_shift,double coeff,bool trlinloss)
//| Ïàðàìåòðû:
//| ticket - óíèêàëüíûé ïîðÿäêîâûé íîìåð îðäåðà (âûáðàííûé ïåðåä âûçîâîì ôóíêöèè ñ ïîìîùüþ OrderSelect());
//| atr_timeframe - òàéìôðåéì, íà êîòîðîì ðàññ÷èòûâàåì çíà÷åíèå ATR (âàðèàíòû - 1, 5, 15, 30, 60, 240, 1440, 10080, 43200);
//| atr1_period - ïåðèîä ïåðâîãî ATR (áîëüøå 0; ìîæåò áûòü ðàâåí atr2_period, íî ëó÷øå îòëè÷åí îò ïîñëåäíåãî, ïî÷åìó - ñì. âûøå);
//| atr1_shift - äëÿ ïåðâîãî ATR ñäâèã "îêíà", â êîòîðîì ðàññ÷èòûâàåòñÿ çíà÷åíèå ATR, îòíîñèòåëüíî òåêóùåãî áàðà íà óêàçàííîå
//| êîëè÷åñòâî áàðîâ íàçàä (íåîòðèöàòåëüíîå öåëîå ÷èñëî);
//| atr2_period - ïåðèîä âòîðîãî ATR (áîëüøå 0);
//| atr2_shift - äëÿ âòîðîãî ATR ñäâèã "îêíà", â êîòîðîì ðàññ÷èòûâàåòñÿ çíà÷åíèå ATR, îòíîñèòåëüíî òåêóùåãî áàðà íà óêàçàííîå
//| êîëè÷åñòâî áàðîâ íàçàä (íåîòðèöàòåëüíîå öåëîå ÷èñëî);
//| coeff - ñòîïëîññ ñ÷èòàåì êàê ATR*coeff, ò.å. ýòî êîýôôèöèåíò, îïðåäåëÿþùèé, íà ðàññòîÿíèè ñêîëüêèõ ATR îò òåêóùåãî êóðñà
//| ñëåäóåò ðàçìåñòèòü ñòîïëîññ;
//| trlinloss - óêàçàòåëü òîãî, ñëåäóåò ëè ïåðåäâèãàòü ñòîïëîññ íà "ëîññîâîì" ó÷àñòêå, ò.å. â èíòåðâàëå ìåæäó íà÷àëüíûì
//| ñòîïëîññîì è êóðñîì îòêðûòèÿ (true - òðàëèì, false - òðåéëèíã íà÷èíàåòñÿ òîëüêî ïðè óñëîâèè,
//| ÷òî íîâûé ñòîïëîññ "ëó÷øå" êóðñà îòêðûòèÿ, "â ïðîôèòå").
//TrailingByATR(OrderTicket(),int atr_timeframe,int atr1_period,int atr1_shift,int atr2_period,int atr2_shift,double coeff,bool trlinloss);
//--------------------------------------------------------------
//| 7) ÒÐÅÉËÈÍÃ RATCHET ÁÀÐÈØÏÎËÜÖÀ
//| TrailingRatchetB(int ticket,int pf_level_1,int pf_level_2,int pf_level_3,int ls_level_1,int ls_level_2,int ls_level_3,bool trlinloss)
//| Ïàðàìåòðû:
//| ticket - óíèêàëüíûé ïîðÿäêîâûé íîìåð îðäåðà (âûáðàííûé ïåðåä âûçîâîì ôóíêöèè ñ ïîìîùüþ OrderSelect());
//| pf_level_1 - óðîâåíü ïðîôèòà (ïóíêòîâ), ïðè êîòîðîì ñòîïëîññ ïåðåíîñèì â áåçóáûòîê + 1 ïóíêò;
//| pf_level_2 - óðîâåíü ïðîôèòà (ïóíêòîâ), ïðè êîòîðîì ñòîïëîññ ïåðåíîñèì ñ +1 íà ðàññòîÿíèå pf_level_1 ïóíêòîâ îò êóðñà îòêðûòèÿ;
//| pf_level_3 - óðîâåíü ïðîôèòà (ïóíêòîâ), ïðè êîòîðîì ñòîïëîññ ïåðåíîñèì ñ pf_level_1 íà pf_level_2 ïóíêòîâ îò êóðñà îòêðûòèÿ
//| (íà ýòîì äåéñòâèÿ ôóíêöèè çàêàí÷èâàþòñÿ);
//| ls_level_1 - ðàññòîÿíèå îò êóðñà îòêðûòèÿ â ñòîðîíó "ëîññà", íà êîòîðîì áóäåò óñòàíîâëåí ñòîïëîññ ïðè äîñòèæåíèè ïðîôèòîì
//| ïîçèöèè +1 (ò.å. ïðè +1 ñòîïëîññ áóäåò ïîäæàò íà ls_level_1);
//| ls_level_2 - ðàññòîÿíèå îò êóðñà îòêðûòèÿ â "ëîññå", íà êîòîðîì áóäåò óñòàíîâëåí ñòîïëîññ ïðè óñëîâèè, ÷òî êóðñ ñíà÷àëà
//| îïóñêàëñÿ íèæå ls_level_1, à ïîòîì ïîäíÿëñÿ âûøå (ò.å. èìåëè ëîññ, íî îí íà÷àë óìåíüøàòüñÿ -
//| íå äîïóñòèì åãî ïîâòîðíîãî óâåëè÷åíèÿ);
//| ls_level_3 - ðàññòîÿíèå îò êóðñà îòêðûòèÿ "ìèíóñå", íà êîòîðîì áóäåò óñòàíîâëåí ñòîïëîññ ïðè óñëîâèè, ÷òî êóðñ ñíèæàëñÿ
//| íèæå ls_level_2, à ïîòîì ïîäíÿëñÿ âûøå;
//| trlinloss - óêàçàòåëü òîãî, ñëåäóåò ëè ïåðåäâèãàòü ñòîïëîññ íà "ëîññîâîì" ó÷àñòêå, ò.å. â èíòåðâàëå ìåæäó íà÷àëüíûì
//| ñòîïëîññîì è êóðñîì îòêðûòèÿ (true - òðàëèì, false - òðåéëèíã íà÷èíàåòñÿ òîëüêî ïðè óñëîâèè,
//| ÷òî íîâûé ñòîïëîññ "ëó÷øå" êóðñà îòêðûòèÿ, "â ïðîôèòå").
//TrailingRatchetB(OrderTicket(),80,2000,1500,50,30,20,false);
//--------------------------------------------------------------
//| 8) ÒÐÅÉËÈÍÃ ÏÎ ÖÅÍÂÎÌÓ ÊÀÍÀËÓ
//| TrailingByPriceChannel(int iTicket,int iBars_n,int iIndent)
//| Ïàðàìåòðû:
//| iTicket - óíèêàëüíûé ïîðÿäêîâûé íîìåð îðäåðà (âûáðàííûé ïåðåä âûçîâîì ôóíêöèè ñ ïîìîùüþ OrderSelect());
//| iBars_n - ïåðèîä êàíàëà (êîë-âî áàðîâ, ñðåäè êîòðûõ èùåì íàèáîëüøèé õàé è íàèìåíüøèé ëîó - âåðõíþþ è íèæíþþ
//| ãðàíèöû êàíàëà ñîîòâåòñòâåííî);
//| iIndent - îòñòóï (ïóíêòîâ), ñ êîòîðûì óñòàíàâëèâàåì ñòîïëîññ îò ãðàíèöû êàíàëà.
//TrailingByPriceChannel(OrderTicket(),16,5);
//--------------------------------------------------------------
//| 9) ÒÐÅÉËÈÍÃ ÏÎ ÑÊÎËÜÇßÙÅÌÓ ÑÐÅÄÍÅÌÓ
//| TrailingByMA(OrderTicket(),int iTmFrme,int iMAPeriod,int iMAShift,int MAMethod,int iApplPrice,int iShift,int iIndent)
//| Ïàðàìåòðû:
//| iTicket - óíèêàëüíûé ïîðÿäêîâûé íîìåð îðäåðà (âûáðàííûé ïåðåä âûçîâîì ôóíêöèè ñ ïîìîùüþ OrderSelect());
//| iTmFrme - ïåðèîä ÷àðòà, íà êîòîðîì áóäåò ðàñ÷èòûâàòüñÿ ìóâèíã; äîïóñòèìûå âàðèàíòû ââîäà: 1 (M1), 5 (M5), 15 (M15), 30 (M30), 60 (H1), 240 (H4), 1440 (D), 10080 (W), 43200 (MN);
//| iMAPeriod - ïåðèîä óñðåäíåíèÿ äëÿ âû÷èñëåíèÿ ñêîëüçÿùåãî ñðåäíåãî;
//| iMAShift - ñäâèã èíäèêàòîðà îòíîñèòåëüíî öåíîâîãî ãðàôèêà;
//| iMAMethod - ìåòîä óñðåäíåíèÿ; äîïóñòèìûå âàðèàíòû ââîäà: 0 (MODE_SMA), 1 (MODE_EMA), 2 (MODE_SMMA), 3 (MODE_LWMA);
//| iApplPrice - èñïîëüçóåìàÿ öåíà; âàðèàíòû ââîäà: 0 (PRICE_CLOSE), 1 (PRICE_OPEN), 2 (PRICE_HIGH), 3 (PRICE_LOW), 4 (PRICE_MEDIAN), 5 (PRICE_TYPICAL), 6 (PRICE_WEIGHTED);
//| iShift - ñäâèã îòíîñèòåëüíî òåêóùåãî áàðà íà óêàçàííîå êîëè÷åñòâî ïåðèîäîâ íàçàä;
//| iIndent - îòñòóï (ïóíêòîâ) îò çíà÷åíèÿ ñðåäíåãî ïðè ðàçìåùåíèè ñòîïëîññà.
// Äîïóñòèìûå âàðèàíòû ââîäà:
// iTmFrme: 1 (M1), 5 (M5), 15 (M15), 30 (M30), 60 (H1), 240 (H4), 1440 (D), 10080 (W), 43200 (MN);
// iMAPeriod: 2-infinity, öåëûå ÷èñëà;
// iMAShift: öåëûå ïîëîæèòåëüíûå èëè îòðèöàòåëüíûå ÷èñëà, à òàêæå 0;
// MAMethod: 0 (MODE_SMA), 1 (MODE_EMA), 2 (MODE_SMMA), 3 (MODE_LWMA);
// iApplPrice: 0 (PRICE_CLOSE), 1 (PRICE_OPEN), 2 (PRICE_HIGH), 3 (PRICE_LOW), 4 (PRICE_MEDIAN), 5 (PRICE_TYPICAL), 6 (PRICE_WEIGHTED)
// iShift: 0-Bars, öåëûå ÷èñëà;
// iIndent: 0-infinity, öåëûå ÷èñëà;
//TrailingByMA(OrderTicket(),5,21,0,0,0,0,0);
//--------------------------------------------------------------
//| 10) ÒÐÅÉËÈÍÃ "ÏÎËÎÂÈÍßÙÈÉ"
//| TrailingFiftyFifty(int iTicket,int iTmFrme,double dCoeff,bool bTrlinloss)
//| Ïàðàìåòðû:
//| iTicket - óíèêàëüíûé ïîðÿäêîâûé íîìåð îðäåðà (âûáðàííûé ïåðåä âûçîâîì ôóíêöèè ñ ïîìîùüþ OrderSelect());
//| iTmFrme - ïåðèîä ÷àðòà, ïî áàðàì êîòîðîãî áóäåò îñóùåñòâëÿòüñÿ òðåéëèíã; äîïóñòèìûå âàðèàíòû ââîäà: 1 (M1), 5 (M5), 15 (M15), 30 (M30), 60 (H1), 240 (H4), 1440 (D), 10080 (W), 43200 (MN);
//| dCoeff - êîýôôèöèåíò, îïðåäåëÿþùèé òî, â ñêîëüêî ðàç áóäåò ñîêðàùåíî ðàññòîÿíèå ìåæäó êóðñîì íà ìîìåíò çàêðûòèÿ áàðà
//| è òåêóùèì ñòîïëîññîì;
//| bTrlinloss - óêàçàòåëü òîãî, ñëåäóåò ëè îñóùåñòâëÿòü òðåéëèíã íà ëîññîâîì ó÷àñòêå.
//TrailingFiftyFifty(OrderTicket(),15,2,false) ;
//--------------------------------------------------------------
}
}
return(0);
}
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
---