Вообщем тут посидел с промтом повозился и решил перевести вот что получилось надеюсь по руски кто то сможет хоть что то поправить и снова переведу в английский и тогда получиться что надо система пожалувста хлопцы подсобите в этом деле. я бы и сам но на работе начальство задолбали меня дня свободного нет
//+------------------------------------------------------------------+
//| turbo2.mq4 |
//| Авторское право © 2010, Корпорация Программного обеспечения MetaQuotes |
//| MetaTrader 5 Trading Platform / MetaQuotes Software Corp. |
//+------------------------------------------------------------------+
#property авторское право "Авторское право © 2010, Корпорация Программного обеспечения MetaQuotes"
#property связываются "http://www.metaquotes.net"
экскрачка int MMType = 1;
экскрачка bool UseClose = ЛОЖНЫЙ;
экскрачка bool UseAdd = ВЕРНЫЙ;
экскрачка двойной LotExponent = 1.667;
экскрачка двойной промах = 3.0;
экскрачка двойные Партии = 0.01;
экскрачка двойной LotsDigits = 2;
экскрачка двойной TakeProfit = 45.0;
удвойте g_pips_128 = 17.0;
удвойте gd_136 = 10.0;
удвойте gd_144 = 10.0;
экскрачка двойной PipStep = 92.0;
экскрачка int MaxTrades = 10;
экскрачка bool UseEquityStop = ЛОЖНЫЙ;
экскрачка двойной TotalEquityRisk = 10;
экскрачка bool UseTrailingStop = ВЕРНЫЙ;
экскрачка bool UseTimeOut = ЛОЖНЫЙ;
экскрачка двойной MaxTradeOpenHours = 48.0;
int g_magic_192 = 673953067;
двойной g_price_196;
двойной gd_204;
двойной gd_unused_212;
двойной gd_unused_220;
двойной g_price_228;
двойной g_bid_236;
двойной g_ask_244;
двойной gd_252;
двойной gd_260;
bool gi_284;
натяните gs_sokol2_288 = "";
int gi_296 = 0;
int gi_300;
int gi_304 = 0;
двойной gd_308;
int g_pos_316 = 0;
int gi_320;
удвойте gd_324 = 0.0;
bool gi_332 = ВЕРНЫЙ;
bool gi_336 = ВЕРНЫЙ;
bool gi_340 = ВЕРНЫЙ;
int gi_344;
bool gi_348 = ВЕРНЫЙ;
int g_datetime_352 = 0;
int g_datetime_356 = 0;
двойной gd_360;
двойной gd_368;
int init ()
{
возвратитесь (0);
}
int deinit () {
возвратитесь (0);
}
начало int () {
двойной l_ord_lots_8;
двойной l_ord_lots_16;
двойной l_iclose_24;
двойной l_iclose_32;
если (UseTrailingStop) TrailingAlls (gd_136, gd_144, g_price_228);
если (UseTimeOut) {
если (TimeCurrent () >= gi_300) {
CloseThisSymbolAll ();
Печать ("Закрытый Все из-за Перерыва");
}
}
если (gi_296 == Время [0]) возвращение (0);
gi_296 = Время [0];
удвойте ld_0 = CalculateProfit ();
если (UseEquityStop) {
если (ld_0< 0.0&& MathAbs (ld_0)> TotalEquityRisk / 97.0 * AccountEquityHigh ()) {
CloseThisSymbolAll ();
Печать ("Закрытый Все должен Прервать работу");
gi_348 = ВЕРНЫЙ;
}
}
gi_320 = CountTrades ();
если (gi_320 == 0) gi_284 = ВЕРНЫЙ;
для (g_pos_316 = OrdersTotal () - 1; g_pos_316 >= 0; g_pos_316-) {
OrderSelect (g_pos_316, SELECT_BY_POS, MODE_TRADES);
если (OrderSymbol ()! = Символ () || OrderMagicNumber ()! = g_magic_192), продолжаются;
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192) {
если (OrderType () == OP_BUY) {
gi_336 = ВЕРНЫЙ;
gi_340 = ВЕРНЫЙ;
l_ord_lots_8 = OrderLots ();
разрыв;
}
}
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192) {
если (OrderType () == OP_SELL) {
gi_336 = ВЕРНЫЙ;
gi_340 = ВЕРНЫЙ;
l_ord_lots_16 = OrderLots ();
разрыв;
}
}
}
если (gi_320> 0&& gi_320 <= MaxTrades) {
RefreshRates ();
gd_252 = FindLastBuyPrice ();
gd_260 = FindLastSellPrice ();
если (gi_336&& gd_252 - Спрашивают >= PipStep * Пункт), gi_332 = ВЕРНЫЙ;
если (gi_340&& Предложение - gd_260 >= PipStep * Пункт) gi_332 = ВЕРНЫЙ;
}
если (gi_320< 1) {
gi_340 = ВЕРНЫЙ;
gi_336 = ВЕРНЫЙ;
gi_332 = ВЕРНЫЙ;
gd_204 = AccountEquity ();
}
если (gi_332) {
gd_252 = FindLastBuyPrice ();
gd_260 = FindLastSellPrice ();
если (gi_340) {
если (UseClose) {
fOrderCloseMarket (0, 1);
gd_308 = NormalizeDouble (LotExponent * l_ord_lots_16, LotsDigits);
} еще gd_308 = fGetLots (OP_SELL);
если (UseAdd) {
gi_304 = gi_320;
если (gd_308> 0.0) {
RefreshRates ();
gi_344 = OpenPendingOrder (1, gd_308, Предложение, промах, Спрашивает, 0, 0, gs_sokol2_288 + "-" + gi_304, g_magic_192, 0, HotPink);
если (gi_344< 0) {
Печать ("Ошибка:", GetLastError ());
возвратитесь (0);
}
gd_260 = FindLastSellPrice ();
gi_332 = ВЕРНЫЙ;
gi_348 = ВЕРНЫЙ;
}
}
} еще {
если (gi_336) {
если (UseClose) {
fOrderCloseMarket (1, 0);
gd_308 = NormalizeDouble (LotExponent * l_ord_lots_8, LotsDigits);
} еще gd_308 = fGetLots (OP_BUY);
если (UseAdd) {
gi_304 = gi_320;
если (gd_308> 0.0) {
gi_344 = OpenPendingOrder (0, gd_308, Спрашивают, уменьшаются, Предложение, 0, 0, gs_sokol2_288 + "-" + gi_304, g_magic_192, 0, Известь);
если (gi_344< 0) {
Печать ("Ошибка:", GetLastError ());
возвратитесь (0);
}
gd_252 = FindLastBuyPrice ();
gi_332 = ВЕРНЫЙ;
gi_348 = ВЕРНЫЙ;
}
}
}
}
}
если (gi_332&& gi_320< 1) {
l_iclose_24 = iClose (Символ (), 0, 2);
l_iclose_32 = iClose (Символ (), 0, 1);
g_bid_236 = Предложение;
g_ask_244 = Спрашивают;
если (! gi_340&&! gi_336) {
gi_304 = gi_320;
если (l_iclose_24> l_iclose_32) {
gd_308 = fGetLots (OP_SELL);
если (gd_308> 0.0) {
gi_344 = OpenPendingOrder (1, gd_308, g_bid_236, промах, g_bid_236, 0, 0, gs_sokol2_288 + "-" + gi_304, g_magic_192, 0, HotPink);
если (gi_344< 0) {
Печать (gd_308, "Ошибка:", GetLastError ());
возвратитесь (0);
}
gd_252 = FindLastBuyPrice ();
gi_348 = ВЕРНЫЙ;
}
} еще {
gd_308 = fGetLots (OP_BUY);
если (gd_308> 0.0) {
gi_344 = OpenPendingOrder (0, gd_308, g_ask_244, промах, g_ask_244, 0, 0, gs_sokol2_288 + "-" + gi_304, g_magic_192, 0, Известь);
если (gi_344< 0) {
Печать (gd_308, "Ошибка:", GetLastError ());
возвратитесь (0);
}
gd_260 = FindLastSellPrice ();
gi_348 = ВЕРНЫЙ;
}
}
}
если (gi_344> 0) gi_300 = TimeCurrent () + 60.0 * (60.0 * MaxTradeOpenHours);
gi_332 = ВЕРНЫЙ;
}
gi_320 = CountTrades ();
g_price_228 = 0;
удвойте ld_40 = 0;
для (g_pos_316 = OrdersTotal () - 1; g_pos_316 >= 0; g_pos_316-) {
OrderSelect (g_pos_316, SELECT_BY_POS, MODE_TRADES);
если (OrderSymbol ()! = Символ () || OrderMagicNumber ()! = g_magic_192), продолжаются;
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192) {
если (OrderType () == OP_BUY || OrderType () == OP_SELL) {
g_price_228 + = OrderOpenPrice () * OrderLots ();
ld_40 + = OrderLots ();
}
}
}
если (gi_320> 0) g_price_228 = NormalizeDouble (g_price_228 / ld_40, Цифры);
если (gi_348) {
для (g_pos_316 = OrdersTotal () - 1; g_pos_316 >= 0; g_pos_316-) {
OrderSelect (g_pos_316, SELECT_BY_POS, MODE_TRADES);
если (OrderSymbol ()! = Символ () || OrderMagicNumber ()! = g_magic_192), продолжаются;
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192) {
если (OrderType () == OP_BUY) {
g_price_196 = g_price_228 + TakeProfit * Пункт;
gd_unused_212 = g_price_196;
gd_324 = g_price_228 - g_pips_128 * Пункт;
gi_284 = ВЕРНЫЙ;
}
}
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192) {
если (OrderType () == OP_SELL) {
g_price_196 = g_price_228 - TakeProfit * Пункт;
gd_unused_220 = g_price_196;
gd_324 = g_price_228 + g_pips_128 * Пункт;
gi_284 = ВЕРНЫЙ;
}
}
}
}
если (gi_348) {
если (gi_284 == ВЕРНЫЙ) {
для (g_pos_316 = OrdersTotal () - 1; g_pos_316 >= 0; g_pos_316-) {
OrderSelect (g_pos_316, SELECT_BY_POS, MODE_TRADES);
если (OrderSymbol ()! = Символ () || OrderMagicNumber ()! = g_magic_192), продолжаются;
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192) OrderModify (OrderTicket (), g_price_228, OrderStopLoss (), g_price_196, 0, Желтый);
gi_348 = ВЕРНЫЙ;
}
}
}
возвратитесь (0);
}
удвойтесь БЕЗ ОБОЗНАЧЕНИЯ ДАТЫ (удвойте ad_0) {
возвратитесь (NormalizeDouble (ad_0, Цифры));
}
int fOrderCloseMarket (bool ai_0 = ВЕРНЫЙ, bool ai_4 = ВЕРНЫЙ) {
int li_ret_8 = 0;
для (int l_pos_12 = OrdersTotal () - 1; l_pos_12 >= 0; l_pos_12-) {
если (OrderSelect (l_pos_12, SELECT_BY_POS, MODE_TRADES)) {
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192) {
если (OrderType () == OP_BUY&& ai_0) {
RefreshRates ();
если (! IsTradeContextBusy ()) {
если (! OrderClose (OrderTicket (), OrderLots (), БЕЗ ОБОЗНАЧЕНИЯ ДАТЫ (Предложение), 5, CLR_NONE)) {
Печать ("Ошибка закрывают ПОКУПКУ" + OrderTicket ());
li_ret_8 =-1;
}
} еще {
если (g_datetime_352! = iTime (ПУСТОЙ УКАЗАТЕЛЬ, 0, 0)) {
g_datetime_352 = iTime (ПУСТОЙ УКАЗАТЕЛЬ, 0, 0);
Печать ("Потребность закрывают ПОКУПКУ" + OrderTicket () + ". Торговый Контекст, Занятый");
}
возвратитесь (-2);
}
}
если (OrderType () == OP_SELL&& ai_4) {
RefreshRates ();
если (! IsTradeContextBusy ()) {
если (! OrderClose (OrderTicket (), OrderLots (), БЕЗ ОБОЗНАЧЕНИЯ ДАТЫ (Спрашивают), 5, CLR_NONE)) {
Печать ("Ошибка близко ПРОДАЮТ" + OrderTicket ());
li_ret_8 =-1;
}
} еще {
если (g_datetime_356! = iTime (ПУСТОЙ УКАЗАТЕЛЬ, 0, 0)) {
g_datetime_356 = iTime (ПУСТОЙ УКАЗАТЕЛЬ, 0, 0);
Печать ("Потребность близко ПРОДАЮТ" + OrderTicket () + ". Торговый Контекст, Занятый");
}
возвратитесь (-2);
}
}
}
}
}
возвратитесь (li_ret_8);
}
удвойте fGetLots (int a_cmd_0) {
двойной l_lots_4;
int l_datetime_16;
выключатель (MMType) {
случай 0:
l_lots_4 = Партии;
разрыв;
случай 1:
l_lots_4 = NormalizeDouble (Партии * MathPow (LotExponent, gi_304), LotsDigits);
разрыв;
случай 2:
l_datetime_16 = 0;
l_lots_4 = Партии;
для (int l_pos_20 = OrdersHistoryTotal () - 1; l_pos_20 >= 0; l_pos_20-) {
если (OrderSelect (l_pos_20, SELECT_BY_POS, MODE_HISTORY)) {
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192) {
если (l_datetime_16< OrderCloseTime ()) {
l_datetime_16 = OrderCloseTime ();
если (OrderProfit ()< 0.0) l_lots_4 = NormalizeDouble (OrderLots () * LotExponent, LotsDigits);
еще l_lots_4 = Партии;
}
}
} еще возвратитесь (-3);
}
}
если (AccountFreeMarginCheck (Символ (), a_cmd_0, l_lots_4) <= 0.0) возвращение (-1);
если (GetLastError () == 134/* NOT_ENOUGH_MONEY */) возвращение (-2);
возвратитесь (l_lots_4);
}
int CountTrades () {
int l_count_0 = 0;
для (int l_pos_4 = OrdersTotal () - 1; l_pos_4 >= 0; l_pos_4-) {
OrderSelect (l_pos_4, SELECT_BY_POS, MODE_TRADES);
если (OrderSymbol ()! = Символ () || OrderMagicNumber ()! = g_magic_192), продолжаются;
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192)
если (OrderType () == OP_SELL || OrderType () == OP_BUY) l_count_0 ++;
}
возвратитесь (l_count_0);
}
недействительный CloseThisSymbolAll () {
для (int l_pos_0 = OrdersTotal () - 1; l_pos_0 >= 0; l_pos_0-) {
OrderSelect (l_pos_0, SELECT_BY_POS, MODE_TRADES);
если (OrderSymbol () == Символ ()) {
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192) {
если (OrderType () == OP_BUY) OrderClose (OrderTicket (), OrderLots (), Предложение, промах, Синий);
если (OrderType () == OP_SELL) OrderClose (OrderTicket (), OrderLots (), Спрашивают, уменьшаются, Красный);
}
Сон (1000);
}
}
}
int OpenPendingOrder (int ai_0, дважды a_lots_4, дважды a_price_12, int a_slippage_20, дважды ad_24, int ai_32, int ai_36, натягивают a_comment_40, int a_magic_48, int a_datetime_52, красят a_color_56) {
int l_ticket_60 = 0;
int l_error_64 = 0;
int l_count_68 = 0;
int li_72 = 100;
выключатель (ai_0) {
случай 2:
для (l_count_68 = 0; l_count_68< li_72; l_count_68 ++) {
l_ticket_60 = OrderSend (Символ (), OP_BUYLIMIT, a_lots_4, a_price_12, a_slippage_20, StopLong (ad_24, ai_32), TakeLong (a_price_12, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError ();
если (l_error_64 == 0/* NO_ERROR */) разрыв;
если (! (l_error_64 == 4/* SERVER_BUSY */|| l_error_64 == 137/* BROKER_BUSY */|| l_error_64 == 146/* TRADE_CONTEXT_BUSY */|| l_error_64 == 136/* OFF_QUOTES */)) разрыв;
Сон (1000);
}
разрыв;
случай 4:
для (l_count_68 = 0; l_count_68< li_72; l_count_68 ++) {
l_ticket_60 = OrderSend (Символ (), OP_BUYSTOP, a_lots_4, a_price_12, a_slippage_20, StopLong (ad_24, ai_32), TakeLong (a_price_12, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError ();
если (l_error_64 == 0/* NO_ERROR */) разрыв;
если (! (l_error_64 == 4/* SERVER_BUSY */|| l_error_64 == 137/* BROKER_BUSY */|| l_error_64 == 146/* TRADE_CONTEXT_BUSY */|| l_error_64 == 136/* OFF_QUOTES */)) разрыв;
Сон (5000);
}
разрыв;
случай 0:
для (l_count_68 = 0; l_count_68< li_72; l_count_68 ++) {
RefreshRates ();
l_ticket_60 = OrderSend (Символ (), OP_BUY, a_lots_4, Спрашивают, a_slippage_20, StopLong (Предложение, ai_32), TakeLong (Спросите, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError ();
если (l_error_64 == 0/* NO_ERROR */) разрыв;
если (! (l_error_64 == 4/* SERVER_BUSY */|| l_error_64 == 137/* BROKER_BUSY */|| l_error_64 == 146/* TRADE_CONTEXT_BUSY */|| l_error_64 == 136/* OFF_QUOTES */)) разрыв;
Сон (5000);
}
разрыв;
случай 3:
для (l_count_68 = 0; l_count_68< li_72; l_count_68 ++) {
l_ticket_60 = OrderSend (Символ (), OP_SELLLIMIT, a_lots_4, a_price_12, a_slippage_20, StopShort (ad_24, ai_32), TakeShort (a_price_12, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError ();
если (l_error_64 == 0/* NO_ERROR */) разрыв;
если (! (l_error_64 == 4/* SERVER_BUSY */|| l_error_64 == 137/* BROKER_BUSY */|| l_error_64 == 146/* TRADE_CONTEXT_BUSY */|| l_error_64 == 136/* OFF_QUOTES */)) разрыв;
Сон (5000);
}
разрыв;
случай 5:
для (l_count_68 = 0; l_count_68< li_72; l_count_68 ++) {
l_ticket_60 = OrderSend (Символ (), OP_SELLSTOP, a_lots_4, a_price_12, a_slippage_20, StopShort (ad_24, ai_32), TakeShort (a_price_12, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError ();
если (l_error_64 == 0/* NO_ERROR */) разрыв;
если (! (l_error_64 == 4/* SERVER_BUSY */|| l_error_64 == 137/* BROKER_BUSY */|| l_error_64 == 146/* TRADE_CONTEXT_BUSY */|| l_error_64 == 136/* OFF_QUOTES */)) разрыв;
Сон (5000);
}
разрыв;
случай 1:
для (l_count_68 = 0; l_count_68< li_72; l_count_68 ++) {
l_ticket_60 = OrderSend (Символ (), OP_SELL, a_lots_4, Предложение, a_slippage_20, StopShort (Спрашивают, ai_32), TakeShort (Предложение, ai_36), a_comment_40, a_magic_48, a_datetime_52, a_color_56);
l_error_64 = GetLastError ();
если (l_error_64 == 0/* NO_ERROR */) разрыв;
если (! (l_error_64 == 4/* SERVER_BUSY */|| l_error_64 == 137/* BROKER_BUSY */|| l_error_64 == 146/* TRADE_CONTEXT_BUSY */|| l_error_64 == 136/* OFF_QUOTES */)) разрыв;
Сон (5000);
}
}
возвратитесь (l_ticket_60);
}
удвойтесь, StopLong (удвойте ad_0, int ai_8) {
если (ai_8 == 0) возвращение (0);
еще возвратитесь (ad_0 - ai_8 * Пункт);
}
удвойтесь, StopShort (удвойте ad_0, int ai_8) {
если (ai_8 == 0) возвращение (0);
еще возвратитесь (ad_0 + ai_8 * Пункт);
}
удвойтесь, TakeLong (удвойте ad_0, int ai_8) {
если (ai_8 == 0) возвращение (0);
еще возвратитесь (ad_0 + ai_8 * Пункт);
}
удвойтесь, TakeShort (удвойте ad_0, int ai_8) {
если (ai_8 == 0) возвращение (0);
еще возвратитесь (ad_0 - ai_8 * Пункт);
}
удвойте CalculateProfit () {
удвойте ld_ret_0 = 0;
для (g_pos_316 = OrdersTotal () - 1; g_pos_316 >= 0; g_pos_316-) {
OrderSelect (g_pos_316, SELECT_BY_POS, MODE_TRADES);
если (OrderSymbol ()! = Символ () || OrderMagicNumber ()! = g_magic_192), продолжаются;
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192)
если (OrderType () == OP_BUY || OrderType () == OP_SELL) ld_ret_0 + = OrderProfit ();
}
возвратитесь (ld_ret_0);
}
недействительный TrailingAlls (int ai_0, int ai_4, дважды a_price_8) {
int l_ticket_16;
двойной l_ord_stoploss_15;
двойной l_price_28;
если (ai_4! = 0) {
для (int l_pos_36 = OrdersTotal () - 1; l_pos_36 >= 0; l_pos_36-) {
если (OrderSelect (l_pos_36, SELECT_BY_POS, MODE_TRADES)) {
если (OrderSymbol ()! = Символ () || OrderMagicNumber ()! = g_magic_192), продолжаются;
если (OrderSymbol () == Символ () || OrderMagicNumber () == g_magic_192) {
если (OrderType () == OP_BUY) {
l_ticket_16 = NormalizeDouble ((Предложение - a_price_8) / Пункт, 0);
если (l_ticket_16< ai_0) продолжаются;
l_ord_stoploss_15 = OrderStopLoss ();
l_price_28 = Предложение - ai_4 * Пункт;
если (l_ord_stoploss_15 == 0.0 || (l_ord_stoploss_15! = 0.0&& l_price_28> l_ord_stoploss_15)) OrderModify (OrderTicket (), a_price_8, l_price_28, OrderTakeProfit (), 0, Вода);
}
если (OrderType () == OP_SELL) {
l_ticket_16 = NormalizeDouble ((a_price_8 - Спрашивают) / Пункт, 0);
если (l_ticket_16< ai_0) продолжаются;
l_ord_stoploss_15 = OrderStopLoss ();
l_price_28 = Спрашивают + ai_4 * Пункт;
если (l_ord_stoploss_15 == 0.0 || (l_ord_stoploss_15! = 0.0&& l_price_28< l_ord_stoploss_15)) OrderModify (OrderTicket (), a_price_8, l_price_28, OrderTakeProfit (), 0, Красный);
}
}
Сон (1000);
}
}
}
}
удвойте AccountEquityHigh () {
если (CountTrades () == 0) gd_360 = AccountEquity ();
если (gd_360< gd_368) gd_360 = gd_368;
еще gd_360 = AccountEquity ();
gd_368 = AccountEquity ();
возвратитесь (gd_360);
}
удвойте FindLastBuyPrice () {
двойной l_ord_open_price_8;
int l_ticket_24;
удвойте ld_unused_0 = 0;
int l_ticket_20 = 0;
для (int l_pos_16 = OrdersTotal () - 1; l_pos_16 >= 0; l_pos_16-) {
OrderSelect (l_pos_16, SELECT_BY_POS, MODE_TRADES);
если (OrderSymbol ()! = Символ () || OrderMagicNumber ()! = g_magic_192), продолжаются;
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192&& OrderType () == OP_BUY) {
l_ticket_24 = OrderTicket ();
если (l_ticket_24> l_ticket_20) {
l_ord_open_price_8 = OrderOpenPrice ();
ld_unused_0 = l_ord_open_price_8;
l_ticket_20 = l_ticket_24;
}
}
}
возвратитесь (l_ord_open_price_8);
}
удвойте FindLastSellPrice () {
двойной l_ord_open_price_8;
int l_ticket_24;
удвойте ld_unused_0 = 0;
int l_ticket_20 = 0;
для (int l_pos_16 = OrdersTotal () - 1; l_pos_16 >= 0; l_pos_16-) {
OrderSelect (l_pos_16, SELECT_BY_POS, MODE_TRADES);
если (OrderSymbol ()! = Символ () || OrderMagicNumber ()! = g_magic_192), продолжаются;
если (OrderSymbol () == Символ ()&& OrderMagicNumber () == g_magic_192&& OrderType () == OP_SELL) {
l_ticket_24 = OrderTicket ();
если (l_ticket_24> l_ticket_20) {
l_ord_open_price_8 = OrderOpenPrice ();
ld_unused_0 = l_ord_open_price_8;
l_ticket_20 = l_ticket_24;
}
}
}
возвратитесь (l_ord_open_price_8);
}