#property copyright "Copyright © 2009, FXPROMaker Trading Solutions, http://www.fxpromaker.com" #property link "http://www.fxpromaker.com" extern double Lots = 0.01; extern bool Compouding = FALSE; extern int CompoundEach = 30000; double g_lots_92 = 0.0; extern int TakeProfit = 30; extern int StopLoss = 300; bool gi_108 = FALSE; int gi_112 = 30; int gi_116 = 50; int gi_120 = 30; int gi_124 = 50; int gi_128 = 30; int gi_132 = 50; int gi_136 = 30; int gi_140 = 50; int gi_144 = 30; int gi_148 = 50; int gi_152 = 30; int gi_156 = 48; int gi_160 = 30; int gi_164 = 48; int gi_168 = 30; int gi_172 = 48; int gi_176 = 30; int gi_180 = 48; int gi_184 = 30; int gi_188 = 55; int gi_192 = 73; int gi_196 = 78; int gi_200 = 100; int gi_204 = 115; int gi_208 = 130; int gi_212 = 145; int gi_216 = 160; int gi_220 = 150; int gi_224 = 165; int gi_228 = 165; int gi_232 = 165; int gi_236 = 165; int gi_240 = 165; int gi_244 = 165; int gi_248 = 165; int g_slippage_252 = 3; int gi_256 = 2; extern int StartHour = 0; extern int EndHour = 24; extern int Magic = 111; extern bool CloseAllNow = FALSE; extern bool UseMACD = FALSE; extern int BrokerMode = 1; bool gi_284 = FALSE; extern int FridayCloseTime = 24; int g_digits_292; int gi_296 = 928195200; int gi_300 = D'28.07.2009 04:30'; string gs_304 = "This version is expired. Visit www.fxpromaker.com"; string gs_312 = "This EA does not trade from December, 20 till January, 7"; string gs_320 = "Invalid Account. Visit www.fxpromaker.com"; string gs_328 = "You need to increase your deposit to "; string gs_336 = "for trading this lot;"; string gs_344 = "Or change your lotsize according Manual."; int gi_352 = 0; string gs_356 = "We recommend you to trade on USDJPY only"; int init() { if (!IsDemo() && !IsTesting()) Alert(gs_320); if (StringSubstr(Symbol(), 0, 6) != "USDJPY") Alert(gs_356); if (IsTesting() == TRUE) gi_352 = 3000000; else { if (AccountLeverage() <= 100) gi_352 = 3000000; else gi_352 = 2500000; } gi_352 = NormalizeDouble(gi_352 * Lots, 0); if (AccountBalance() < gi_352) { Alert(gs_328 + gi_352 + " $" + "\n" + gs_336 + "\n" + gs_344); } if (Digits == 3 && StringSubstr(Symbol(), 0, 6) == "USDJPY") ChangeParameters(); g_digits_292 = Digits; g_lots_92 = Lots; return (1); } int start() { int li_28; int li_32; int l_ticket_36; double l_price_72; double l_price_80; double l_price_88; double l_lots_96; double l_pips_160; double l_pips_168; double l_price_208; double l_price_216; double l_price_224; bool l_bool_320; double l_ord_lots_324; double l_ord_lots_332; double l_lotstep_344; if (StringSubstr(Symbol(), 0, 6) != "USDJPY") { Comment(gs_356); return (-1); } if (AccountBalance() < gi_352) { Comment(gs_328 + gi_352 + " $" + "\n" + gs_336 + "\n" + gs_344); return (-1); } if (!IsDemo() && !IsTesting()) { Comment(gs_320); return (-1); } if (CloseAllNow == TRUE) { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (StringSubstr(OrderSymbol(), 0, 6) == StringSubstr(Symbol(), 0, 6) || BrokerMode == 3 && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 5, CLR_NONE); if (OrderType() != OP_BUY && OrderType() != OP_SELL) OrderDelete(OrderTicket()); } } return (0); } if (g_digits_292 != Digits) { Alert("Attention! Your quotes were changed!"); if (Digits == 3 && StringSubstr(Symbol(), 0, 6) == "USDJPY") ChangeParameters(); g_digits_292 = Digits; } int l_ticket_4 = 0; int l_ticket_8 = 0; int l_ticket_12 = 0; int l_ticket_16 = 0; int l_ticket_20 = 0; int l_ticket_24 = 0; double l_ord_lots_40 = 0; double l_ord_lots_48 = 0; double l_ord_open_price_56 = 0; double l_ord_open_price_64 = 0; double l_ord_takeprofit_104 = 0; double l_ord_takeprofit_112 = 0; double l_ord_lots_120 = 0; double l_ord_lots_128 = 0; double l_ord_lots_136 = 0; double l_ord_lots_144 = 0; double ld_176 = 0; double ld_184 = 0; double l_ord_lots_192 = 0; double l_ord_lots_200 = 0; string ls_232 = ""; string ls_240 = ""; string ls_248 = ""; string ls_256 = ""; string ls_264 = ""; string ls_272 = ""; string ls_280 = ""; string ls_288 = ""; string ls_296 = ""; string ls_304 = ""; string ls_312 = ""; if (gi_284 == TRUE) li_32 = 100; else li_32 = 1; if (iMACD(NULL, 0, 14, 26, 9, PRICE_CLOSE, MODE_MAIN, 0) > iMACD(NULL, 0, 14, 26, 9, PRICE_CLOSE, MODE_MAIN, 1)) li_28 = 2; if (iMACD(NULL, 0, 14, 26, 9, PRICE_CLOSE, MODE_MAIN, 0) < iMACD(NULL, 0, 14, 26, 9, PRICE_CLOSE, MODE_MAIN, 1)) li_28 = 1; for (int l_pos_340 = 0; l_pos_340 < OrdersTotal(); l_pos_340++) { OrderSelect(l_pos_340, SELECT_BY_POS, MODE_TRADES); if (StringSubstr(OrderSymbol(), 0, 6) == StringSubstr(Symbol(), 0, 6) || BrokerMode == 3 && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY && OrderLots() > l_ord_lots_40) { l_ord_lots_40 = OrderLots(); l_ord_open_price_56 = OrderOpenPrice(); l_ticket_4 = OrderTicket(); l_ord_takeprofit_112 = OrderTakeProfit(); } if (OrderType() == OP_BUY) { if (OrderLots() < l_ord_lots_192 || l_ord_lots_192 == 0.0) { l_ord_lots_192 = OrderLots(); ld_176 = OrderOpenPrice() - StopLoss * Point; } } if (OrderType() == OP_SELL && OrderLots() > l_ord_lots_48) { l_ord_lots_48 = OrderLots(); l_ord_open_price_64 = OrderOpenPrice(); l_ticket_8 = OrderTicket(); l_ord_takeprofit_104 = OrderTakeProfit(); } if (OrderType() == OP_SELL) { if (OrderLots() < l_ord_lots_200 || l_ord_lots_200 == 0.0) { l_ord_lots_200 = OrderLots(); ld_184 = OrderOpenPrice() + StopLoss * Point; } } if (OrderType() == OP_BUYLIMIT) { l_ticket_12 = OrderTicket(); l_ord_lots_136 = OrderLots(); } if (OrderType() == OP_SELLLIMIT) { l_ticket_16 = OrderTicket(); l_ord_lots_144 = OrderLots(); } if (OrderType() == OP_BUYSTOP) { l_ticket_20 = OrderTicket(); l_ord_lots_120 = OrderLots(); } if (OrderType() == OP_SELLSTOP) { l_ticket_24 = OrderTicket(); l_ord_lots_128 = OrderLots(); } } } if (Compouding == TRUE) { l_lotstep_344 = MarketInfo(Symbol(), MODE_LOTSTEP); Lots = NormalizeDouble(l_lotstep_344 * MathFloor(AccountBalance() * g_lots_92 / (CompoundEach * l_lotstep_344)), gi_256); } if (Lots < MarketInfo(Symbol(), MODE_MINLOT)) Alert("Minimal lotsize you can open with this broker is " + MarketInfo(Symbol(), MODE_MINLOT)); if (l_ticket_4 == 0 && l_ticket_12 != 0) OrderDelete(l_ticket_12); if (l_ticket_4 == 0 && l_ticket_12 == 0) { if (TimeCurrent() >= gi_296 && TimeCurrent() <= gi_300) { if ((Month() > 1 && Month() < 12) || (Month() == 1 && Day() >= 7) || (Month() == 12 && Day() < 20)) { l_price_80 = Ask - StopLoss * Point; if (StopLoss <= 0) l_price_80 = 0; l_price_88 = Ask + TakeProfit * Point; if ((StartHour < EndHour && TimeHour(TimeCurrent()) >= StartHour && TimeHour(TimeCurrent()) < EndHour) || (StartHour > EndHour && TimeHour(TimeCurrent()) >= StartHour || TimeHour(TimeCurrent()) < EndHour)) { if (DayOfWeek() != 5 || Hour() < FridayCloseTime) { if ((li_28 == 2 && l_ticket_8 == 0) || UseMACD == FALSE) { if (AccountFreeMarginCheck(Symbol(), OP_BUY, Lots * li_32) >= 0.0) { if (BrokerMode != 2 && BrokerMode != 3) OrderSend(Symbol(), OP_BUY, Lots, Ask, g_slippage_252, l_price_80, l_price_88, "Magic = " + Magic, Magic, 0, CLR_NONE); else { l_ticket_36 = OrderSend(Symbol(), OP_BUY, Lots, Ask, g_slippage_252, 0, 0, "Magic = " + Magic, Magic, 0, CLR_NONE); if (l_ticket_36 > 0) { l_bool_320 = OrderModify(l_ticket_36, OrderOpenPrice(), l_price_80, l_price_88, 0, CLR_NONE); if (l_bool_320 == FALSE) Print("Error modifying BUY order : ", GetLastError()); } } } else { if (AccountFreeMarginCheck(Symbol(), OP_BUY, Lots) >= 0.0) ls_296 = "we recommend you to decrease your start lot or increase deposit"; else ls_248 = "BUY, " + DoubleToStr(Lots, 2) + " lots. "; } } } } } else ls_240 = gs_312; } else ls_240 = gs_304; } if (l_ticket_8 == 0 && l_ticket_16 != 0) OrderDelete(l_ticket_16); if (l_ticket_8 == 0 && l_ticket_16 == 0) { if (TimeCurrent() >= gi_296 && TimeCurrent() <= gi_300) { if ((Month() > 1 && Month() < 12) || (Month() == 1 && Day() >= 7) || (Month() == 12 && Day() < 20)) { l_price_80 = Bid + StopLoss * Point; if (StopLoss <= 0) l_price_80 = 0; l_price_88 = Bid - TakeProfit * Point; if ((StartHour < EndHour && TimeHour(TimeCurrent()) >= StartHour && TimeHour(TimeCurrent()) < EndHour) || (StartHour > EndHour && TimeHour(TimeCurrent()) >= StartHour || TimeHour(TimeCurrent()) < EndHour)) { if (DayOfWeek() != 5 || Hour() < FridayCloseTime) { if ((li_28 == 1 && l_ticket_4 == 0) || UseMACD == FALSE) { if (AccountFreeMarginCheck(Symbol(), OP_SELL, Lots * li_32) >= 0.0) { if (BrokerMode != 2 && BrokerMode != 3) OrderSend(Symbol(), OP_SELL, Lots, Bid, g_slippage_252, l_price_80, l_price_88, "Magic = " + Magic, Magic, 0, CLR_NONE); else { l_ticket_36 = OrderSend(Symbol(), OP_SELL, Lots, Bid, g_slippage_252, 0, 0, "Magic = " + Magic, Magic, 0, CLR_NONE); if (l_ticket_36 > 0) { l_bool_320 = OrderModify(l_ticket_36, OrderOpenPrice(), l_price_80, l_price_88, 0, CLR_NONE); if (l_bool_320 == FALSE) Print("Error modifying SELL order : ", GetLastError()); } } } else { if (AccountFreeMarginCheck(Symbol(), OP_SELL, Lots) >= 0.0) ls_296 = "we recommend you to decrease your start lot or increase deposit"; else ls_256 = "SELL, " + DoubleToStr(Lots, 2) + " lots. "; } } } } } else ls_240 = gs_312; } else ls_240 = gs_304; } if (l_ticket_4 != 0 && l_ticket_12 == 0) { l_pips_168 = FinalStep(NormalizeDouble(l_ord_lots_40 / l_ord_lots_192, 0)); l_pips_160 = FinalTP(NormalizeDouble(l_ord_lots_40 / l_ord_lots_192, 0)); l_price_72 = l_ord_open_price_56 - l_pips_168 * Point; if (gi_108 == FALSE) l_price_80 = l_price_72 - StopLoss * Point; else l_price_80 = ld_176; if (StopLoss <= 0) l_price_80 = 0; l_price_88 = l_price_72 + l_pips_160 * Point; if (l_ord_lots_40 < 512.0 * l_ord_lots_192) l_lots_96 = NormalizeDouble(2.0 * l_ord_lots_40, gi_256); else l_lots_96 = NormalizeDouble(l_ord_lots_40 + l_ord_lots_192, gi_256); l_ticket_12 = OrderSend(Symbol(), OP_BUYLIMIT, l_lots_96, l_price_72, g_slippage_252, l_price_80, l_price_88, "Magic = " + Magic, Magic, 0, CLR_NONE); } if (l_ticket_8 != 0 && l_ticket_16 == 0) { l_pips_168 = FinalStep(NormalizeDouble(l_ord_lots_48 / l_ord_lots_200, 0)); l_pips_160 = FinalTP(NormalizeDouble(l_ord_lots_48 / l_ord_lots_200, 0)); l_price_72 = l_ord_open_price_64 + l_pips_168 * Point; if (gi_108 == FALSE) l_price_80 = l_price_72 + StopLoss * Point; else l_price_80 = ld_184; if (StopLoss <= 0) l_price_80 = 0; l_price_88 = l_price_72 - l_pips_160 * Point; if (l_ord_lots_48 < 512.0 * l_ord_lots_200) l_lots_96 = NormalizeDouble(2.0 * l_ord_lots_48, gi_256); else l_lots_96 = NormalizeDouble(l_ord_lots_48 + l_ord_lots_200, gi_256); l_ticket_16 = OrderSend(Symbol(), OP_SELLLIMIT, l_lots_96, l_price_72, g_slippage_252, l_price_80, l_price_88, "Magic = " + Magic, Magic, 0, CLR_NONE); } if (l_ticket_20 != 0 && l_ord_lots_120 <= l_ord_lots_40 || l_ord_lots_120 == l_ord_lots_136) OrderDelete(l_ticket_20); if (l_ord_lots_192 != 0.0) l_pips_168 = FinalStep(NormalizeDouble(l_ord_lots_40 / l_ord_lots_192, 0)); if (l_ticket_4 != 0 && l_ord_open_price_56 - Ask > l_pips_168 * Point && l_ticket_12 <= 0 || l_ticket_20 == 0) { l_price_72 = l_ord_open_price_56 - l_pips_168 * Point; l_price_224 = Ask; while (l_price_72 >= l_price_224) { l_ord_lots_324 = l_ord_lots_40; if (l_ord_lots_40 < 512.0 * l_ord_lots_192) l_ord_lots_40 = NormalizeDouble(2.0 * l_ord_lots_40, gi_256); else l_ord_lots_40 = NormalizeDouble(l_ord_lots_40 + l_ord_lots_192, gi_256); l_pips_168 = FinalStep(NormalizeDouble(l_ord_lots_40 / l_ord_lots_192, 0)); l_price_72 -= l_pips_168 * Point; if (l_price_72 < l_price_224) { if (l_ticket_12 <= 0) { l_ticket_12 = -2; l_pips_160 = FinalTP(NormalizeDouble(l_ord_lots_40 / l_ord_lots_192, 0)); if (gi_108 == FALSE) l_price_80 = l_price_72 - StopLoss * Point; else l_price_80 = ld_176; if (StopLoss <= 0) l_price_80 = 0; l_price_88 = l_price_72 + l_pips_160 * Point; if (l_ord_lots_40 < 512.0 * l_ord_lots_192) l_lots_96 = NormalizeDouble(2.0 * l_ord_lots_40, gi_256); else l_lots_96 = NormalizeDouble(l_ord_lots_40 + l_ord_lots_192, gi_256); if (AccountFreeMarginCheck(Symbol(), OP_BUY, l_lots_96) >= 0.0) l_ticket_12 = OrderSend(Symbol(), OP_BUYLIMIT, l_lots_96, l_price_72, g_slippage_252, l_price_80, l_price_88, "Magic = " + Magic, Magic, 0, CLR_NONE); else ls_304 = "BUYLIMIT, " + DoubleToStr(l_lots_96, 2) + " lots. "; } if (l_ticket_20 == 0 && l_ord_lots_40 != l_ord_lots_136 && l_ticket_12 != -2) { l_price_208 = l_price_72 + l_pips_168 * Point; l_pips_160 = FinalTP(NormalizeDouble(l_ord_lots_324 / l_ord_lots_192, 0)); l_price_88 = l_price_208 + l_pips_160 * Point; l_lots_96 = NormalizeDouble(l_ord_lots_40, gi_256); if (gi_108 == FALSE) l_price_80 = l_price_208 - StopLoss * Point; else l_price_80 = ld_176; if (StopLoss <= 0) l_price_80 = 0; l_ticket_36 = OrderSend(Symbol(), OP_BUYSTOP, l_lots_96, l_price_208, g_slippage_252, l_price_80, l_price_88, "Magic = " + Magic, Magic, 0, CLR_NONE); } } } } if (l_ticket_24 != 0 && l_ord_lots_128 <= l_ord_lots_48 || l_ord_lots_128 == l_ord_lots_144) OrderDelete(l_ticket_24); if (l_ord_lots_200 != 0.0) l_pips_168 = FinalStep(NormalizeDouble(l_ord_lots_48 / l_ord_lots_200, 0)); if (l_ticket_8 != 0 && Bid - l_ord_open_price_64 > l_pips_168 * Point && l_ticket_16 <= 0 || l_ticket_24 == 0) { l_price_72 = l_ord_open_price_64 + l_pips_168 * Point; l_price_224 = Bid; while (l_price_72 <= l_price_224) { l_ord_lots_332 = l_ord_lots_48; if (l_ord_lots_48 < 512.0 * l_ord_lots_200) l_ord_lots_48 = NormalizeDouble(2.0 * l_ord_lots_48, gi_256); else l_ord_lots_48 = NormalizeDouble(l_ord_lots_48 + l_ord_lots_200, gi_256); l_pips_168 = FinalStep(NormalizeDouble(l_ord_lots_48 / l_ord_lots_200, 0)); l_price_72 += l_pips_168 * Point; if (l_price_72 > l_price_224) { if (l_ticket_16 <= 0) { l_ticket_16 = -2; l_pips_160 = FinalTP(NormalizeDouble(l_ord_lots_48 / l_ord_lots_200, 0)); if (gi_108 == FALSE) l_price_80 = l_price_72 + StopLoss * Point; else l_price_80 = ld_184; if (StopLoss <= 0) l_price_80 = 0; l_price_88 = l_price_72 - l_pips_160 * Point; if (l_ord_lots_48 < 512.0 * l_ord_lots_200) l_lots_96 = NormalizeDouble(2.0 * l_ord_lots_48, gi_256); else l_lots_96 = NormalizeDouble(l_ord_lots_48 + l_ord_lots_200, gi_256); if (AccountFreeMarginCheck(Symbol(), OP_SELL, l_lots_96) >= 0.0) l_ticket_16 = OrderSend(Symbol(), OP_SELLLIMIT, l_lots_96, l_price_72, g_slippage_252, l_price_80, l_price_88, "Magic = " + Magic, Magic, 0, CLR_NONE); else ls_312 = "SELLLIMIT, " + DoubleToStr(l_lots_96, 2) + " lots. "; } if (l_ticket_24 == 0 && l_ord_lots_48 != l_ord_lots_144 && l_ticket_16 != -2) { l_price_216 = l_price_72 - l_pips_168 * Point; l_pips_160 = FinalTP(NormalizeDouble(l_ord_lots_332 / l_ord_lots_200, 0)); l_price_88 = l_price_216 - l_pips_160 * Point; l_lots_96 = NormalizeDouble(l_ord_lots_48, gi_256); if (gi_108 == FALSE) l_price_80 = l_price_216 + StopLoss * Point; else l_price_80 = ld_184; if (StopLoss <= 0) l_price_80 = 0; l_ticket_36 = OrderSend(Symbol(), OP_SELLSTOP, l_lots_96, l_price_216, g_slippage_252, l_price_80, l_price_88, "Magic = " + Magic, Magic, 0, CLR_NONE); } } } } for (l_pos_340 = 0; l_pos_340 < OrdersTotal(); l_pos_340++) { OrderSelect(l_pos_340, SELECT_BY_POS, MODE_TRADES); if (StringSubstr(OrderSymbol(), 0, 6) == StringSubstr(Symbol(), 0, 6) || BrokerMode == 3 && OrderType() == OP_BUY && l_ticket_4 != 0 && OrderMagicNumber() == Magic) { if (gi_108 == FALSE) l_price_80 = l_ord_open_price_56 - StopLoss * Point; else l_price_80 = ld_176; if (StopLoss <= 0) l_price_80 = 0; if (OrderLots() < l_ord_lots_40) l_price_88 = l_ord_takeprofit_112; else l_price_88 = OrderTakeProfit(); if (NormalizeDouble(l_price_88, Digits) != NormalizeDouble(OrderTakeProfit(), Digits) || NormalizeDouble(l_price_80, Digits) != NormalizeDouble(OrderStopLoss(), Digits)) OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(l_price_80, Digits), NormalizeDouble(l_price_88, Digits), 0, CLR_NONE); } if (StringSubstr(OrderSymbol(), 0, 6) == StringSubstr(Symbol(), 0, 6) || BrokerMode == 3 && OrderType() == OP_SELL && l_ticket_8 != 0 && OrderMagicNumber() == Magic) { if (gi_108 == FALSE) l_price_80 = l_ord_open_price_64 + StopLoss * Point; else l_price_80 = ld_184; if (StopLoss <= 0) l_price_80 = 0; if (OrderLots() < l_ord_lots_48) l_price_88 = l_ord_takeprofit_104; else l_price_88 = OrderTakeProfit(); if (NormalizeDouble(l_price_88, Digits) != NormalizeDouble(OrderTakeProfit(), Digits) || NormalizeDouble(l_price_80, Digits) != NormalizeDouble(OrderStopLoss(), Digits)) OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(l_price_80, Digits), NormalizeDouble(l_price_88, Digits), 0, CLR_NONE); } } if (ls_248 != "" || ls_256 != "" || ls_264 != "" || ls_272 != "" || ls_280 != "" || ls_288 != "" || ls_304 != "" || ls_312 != "") ls_232 = "Not enough margin for opening orders: "; Comment(ls_240, "\n", ls_232, ls_248, ls_256, ls_264, ls_272, ls_280, ls_288, ls_304, ls_312, "\n", ls_296); return (0); } int FinalStep(double ad_0) { switch (ad_0) { case 1.0: return (gi_112); case 2.0: return (gi_120); case 4.0: return (gi_128); case 8.0: return (gi_136); case 16.0: return (gi_144); case 32.0: return (gi_152); case 64.0: return (gi_160); case 128.0: return (gi_168); case 256.0: return (gi_176); case 512.0: return (gi_184); } return (gi_184); } int FinalTP(double ad_0) { switch (ad_0) { case 1.0: return (gi_116); case 2.0: return (gi_124); case 4.0: return (gi_132); case 8.0: return (gi_140); case 16.0: return (gi_148); case 32.0: return (gi_156); case 64.0: return (gi_164); case 128.0: return (gi_172); case 256.0: return (gi_180); case 512.0: return (gi_188); case 513.0: return (gi_192); case 514.0: return (gi_196); case 515.0: return (gi_200); case 516.0: return (gi_204); case 517.0: return (gi_208); case 518.0: return (gi_212); case 519.0: return (gi_216); case 520.0: return (gi_220); case 521.0: return (gi_224); case 522.0: return (gi_228); case 523.0: return (gi_232); case 524.0: return (gi_236); case 525.0: return (gi_240); case 526.0: return (gi_244); case 527.0: return (gi_248); } return (gi_248); } void ChangeParameters() { TakeProfit = 300; StopLoss = 3000; gi_112 = 300; gi_116 = 500; gi_120 = 300; gi_124 = 500; gi_128 = 300; gi_132 = 500; gi_136 = 300; gi_140 = 500; gi_144 = 300; gi_148 = 500; gi_152 = 300; gi_156 = 480; gi_160 = 300; gi_164 = 480; gi_168 = 300; gi_172 = 480; gi_176 = 300; gi_180 = 480; gi_184 = 300; gi_188 = 550; gi_192 = 730; gi_196 = 780; gi_200 = 1000; gi_204 = 1150; gi_208 = 1300; gi_212 = 1450; gi_216 = 1600; gi_220 = 1500; gi_224 = 1650; gi_228 = 1650; gi_232 = 1650; gi_236 = 1650; gi_240 = 1650; gi_244 = 1650; gi_248 = 1650; g_slippage_252 = 30; }