From 63fc3129a9aebca7d48ad904176d29e524dcf7f3 Mon Sep 17 00:00:00 2001 From: Bell Date: Sat, 20 Dec 2025 00:50:47 +0700 Subject: [PATCH] fix bug checkFile mqltool --- Experts/BellPriceActionWithEma50EA.ex5 | Bin 42058 -> 35656 bytes Experts/BellPriceActionWithEma50EA.txt | 358 ------------------------- Experts/{EA_ICT.mq5 => ICT.mq5} | 43 ++- Experts/testMovingAverageEA.mq5 | 165 ------------ Profiles/Charts/Default/chart01.chr | Bin 11762 -> 0 bytes Profiles/Charts/Default/order.wnd | Bin 886 -> 2576 bytes experts.dat | Bin 76741 -> 76741 bytes 7 files changed, 42 insertions(+), 524 deletions(-) delete mode 100644 Experts/BellPriceActionWithEma50EA.txt rename Experts/{EA_ICT.mq5 => ICT.mq5} (99%) delete mode 100644 Experts/testMovingAverageEA.mq5 delete mode 100644 Profiles/Charts/Default/chart01.chr diff --git a/Experts/BellPriceActionWithEma50EA.ex5 b/Experts/BellPriceActionWithEma50EA.ex5 index bcbda848516b561cb26352f351d120c8ae938fd1..a9ce463ba573509c9c3a2e64911076be215c7eed 100644 GIT binary patch literal 35656 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 hJ}S~)f2Gz1hpHeY%qFPCBVn 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 -CTrade trade; - -// ================== INPUTS ========================================= -input ENUM_TIMEFRAMES TrendTF = PERIOD_M15; // khung thời gian dùng để lọc xu hướng -input ENUM_TIMEFRAMES EntryTF = PERIOD_M5; // khung thời gian để tìm điểm vào -input int EMA_Fast = 50; // EMA nhanh -input int EMA_Slow = 200; // EMA chậm -input double RiskPercent = 1.0; // rủi ro % equity cho mỗi lệnh -input double TP_Multiplier = 2.0; // tỉ lệ TP = Risk * multiplier -input int MaxOpenPositions = 2; // tối đa 2 lệnh mở -input double DoubleTolerancePoints = 30; // dung sai giữa 2 đáy/đỉnh -input int MinBarsBetweenDouble = 4; // khoảng cách tối thiểu giữa 2 đáy/đỉnh -input int SL_Pips_Default = 35; // SL mặc định (điểm) -input int Slippage = 10; // trượt giá tối đa -input bool VisualizeEMAs = true; // có vẽ EMA lên chart không - -// ================== BIẾN TOÀN CỤC ================================= -int handleEMA50 = INVALID_HANDLE; -int handleEMA200 = INVALID_HANDLE; - -// ================== HÀM HỖ TRỢ ==================================== - -// ---- Đếm số lệnh đang mở cho symbol hiện tại ---- -int CountOpenPositionsSymbol() { - int count = 0; - - for(int i=0; i open1) { - // Và thân nến sau bao phủ hoàn toàn thân nến trước - if(close1 > open2 && open1 < close2) - return true; - } - - return false; -} - -// ---- Kiểm tra mô hình nến nhấn chìm giảm ---- -bool IsBearishEngulfing(ENUM_TIMEFRAMES tf) { - double open1 = iOpen(_Symbol, tf, 1); - double close1 = iClose(_Symbol, tf, 1); - double open2 = iOpen(_Symbol, tf, 2); - double close2 = iClose(_Symbol, tf, 2); - - // Nến trước tăng (xanh), nến sau giảm (đỏ) - if(close2 > open2 && close1 < open1) { - // Và thân nến sau bao phủ hoàn toàn thân nến trước - if(close1 < open2 && open1 > close2) - return true; - } - return false; -} - -// ---- Phát hiện mô hình 2 ĐÁY ---- -bool DetectDoubleBottom(ENUM_TIMEFRAMES tf, int lookbackBars, double tolerancePoints, double &levelPrice) { - levelPrice = 0.0; - - // Duyệt từng nến (bắt đầu từ nến thứ 2 để tránh lỗi biên) - for(int i=2; i qua nến tiếp - - // Khi đã có đáy thứ nhất, tìm đáy thứ hai cách ít nhất MinBarsBetweenDouble nến - for(int j=i+MinBarsBetweenDouble; j thoát hàm - } - } - } - - return false; // không tìm thấy -} - -// ---- Phát hiện mô hình 2 ĐỈNH ---- -bool DetectDoubleTop(ENUM_TIMEFRAMES tf, int lookbackBars, double tolerancePoints, double &levelPrice) { - levelPrice = 0.0; - - // Duyệt nến để tìm đỉnh đầu tiên - for(int i=2; i iHigh(_Symbol, tf, i-1) && h1 > iHigh(_Symbol, tf, i+1)); - if(!isHigh1) continue; - - // Tìm đỉnh thứ 2 sau đỉnh đầu - for(int j=i+MinBarsBetweenDouble; j iHigh(_Symbol, tf, j-1) && h2 > iHigh(_Symbol, tf, j+1)); - if(!isHigh2) continue; - - // So sánh độ cao giữa 2 đỉnh - double diffPoints = MathAbs(h1 - h2)/_Point; - - // Nếu 2 đỉnh gần bằng nhau → xác nhận mô hình - if(diffPoints <= tolerancePoints) { - levelPrice = MathMax(h1, h2); // lấy đỉnh cao hơn làm mốc - return true; - } - } - } - - return false; -} - -// ---- Tính khối lượng lệnh dựa theo % rủi ro ---- -double CalculateLotByRisk(double riskPercent, double stopLossPoints) { - if(stopLossPoints <= 0) - return(SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN)); - - double equity = AccountInfoDouble(ACCOUNT_EQUITY); - double riskMoney = equity * (riskPercent / 100.0); - double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE); - double tickSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE); - - // Nếu broker không trả tickValue chuẩn → fallback - if(tickValue <= 0 || tickSize <= 0) { - double fallback = riskMoney / (stopLossPoints * _Point); - double step = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP); - double lot = MathMax(SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN), - MathFloor(fallback/step)*step); - return lot; - } - - // Giá trị mỗi point cho 1 lot - double valuePerPointFor1Lot = tickValue / tickSize; - - // Tính số lot phù hợp với rủi ro cho phép - double lots = riskMoney / (stopLossPoints * valuePerPointFor1Lot); - - // Làm tròn theo bước lot tối thiểu - double step = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP); - if(step <= 0) step = 0.01; - lots = MathFloor(lots/step)*step; - - double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN); - if(lots < minLot) lots = minLot; - - return NormalizeDouble(lots,2); -} - -// ---- Bộ lọc xu hướng EMA ---- -// Trả về: -// 1 -> chỉ cho BUY -// -1 -> chỉ cho SELL -// 0 -> không rõ xu hướng -int EMAFilter() { - double buf50[], buf200[]; - - if(CopyBuffer(handleEMA50, 0, 1, 1, buf50) <= 0) return 0; - if(CopyBuffer(handleEMA200, 0, 1, 1, buf200) <= 0) return 0; - double ema50 = buf50[0]; - double ema200 = buf200[0]; - - if(ema50 == 0 || ema200 == 0) return 0; - - double price = SymbolInfoDouble(_Symbol, SYMBOL_BID); - double diff = MathAbs(ema50 - ema200); - double thresh = 0.001 * price; // nếu 2 EMA quá gần nhau thì bỏ qua - - if(diff < thresh) return 0; // EMA chồng nhau -> không rõ xu hướng - if(ema50 > ema200) return 1; // EMA nhanh trên EMA chậm -> uptrend - if(ema50 < ema200) return -1; // EMA nhanh dưới EMA chậm -> downtrend - return 0; -} - -// ---- Đặt lệnh thị trường ---- -bool PlaceMarketOrder(bool isBuy, double lots, double sl, double tp) { - trade.SetExpertMagicNumber(20251008); - trade.SetDeviationInPoints(Slippage); - - bool ok = false; - if(isBuy) - ok = trade.Buy(lots, NULL, 0, sl, tp, NULL); - else - ok = trade.Sell(lots, NULL, 0, sl, tp, NULL); - - if(!ok) { - Print("Đặt lệnh thất bại: ", trade.ResultRetcode(), " - ", trade.ResultRetcodeDescription()); - return false; - } - - return true; -} - -// ================== VÒNG LẶP CHÍNH ================================ -void OnTick() { - static datetime lastEntryTime = 0; - datetime t = iTime(_Symbol, EntryTF, 0); - - // Đảm bảo chỉ chạy 1 lần mỗi cây nến mới - if(t == lastEntryTime) return; - lastEntryTime = t; - - // Giới hạn số lệnh mở - if(CountOpenPositionsSymbol() >= MaxOpenPositions) return; - - // Kiểm tra hướng xu hướng từ EMA - int filter = EMAFilter(); - if(filter == 0) return; // nếu chưa rõ xu hướng thì bỏ qua - - double level = 0.0; - bool buySignal = false; - bool sellSignal = false; - - // --- TÌM TÍN HIỆU MUA --- - if(filter == 1 && DetectDoubleBottom(EntryTF, 40, DoubleTolerancePoints, level)) { - // Nếu thấy mô hình 2 đáy + nến nhấn chìm tăng hoặc giá vượt qua level -> BUY - if(IsBullishEngulfing(EntryTF) || iClose(_Symbol, EntryTF, 0) > level) - buySignal = true; - } - - // --- TÌM TÍN HIỆU BÁN --- - if(filter == -1 && DetectDoubleTop(EntryTF, 40, DoubleTolerancePoints, level)) { - // Nếu thấy mô hình 2 đỉnh + nến nhấn chìm giảm hoặc giá cắt xuống level -> SELL - if(IsBearishEngulfing(EntryTF) || iClose(_Symbol, EntryTF, 0) < level) - sellSignal = true; - } - - // --- Kiểm tra chạm EMA như hỗ trợ/kháng cự phụ --- - double ema50_trend = iMA(_Symbol, TrendTF, EMA_Fast, 0, MODE_EMA, PRICE_CLOSE); - - if(filter == 1 && !buySignal) { - double lowTouch = iLow(_Symbol, EntryTF, 1); - // Nếu nến vừa rồi chạm EMA50 (hỗ trợ) và có nhấn chìm tăng -> BUY - if(lowTouch <= ema50_trend && IsBullishEngulfing(EntryTF)) - buySignal = true; - } - - if(filter == -1 && !sellSignal) { - double highTouch = iHigh(_Symbol, EntryTF, 1); - // Nếu nến vừa rồi chạm EMA50 (kháng cự) và có nhấn chìm giảm -> SELL - if(highTouch >= ema50_trend && IsBearishEngulfing(EntryTF)) - sellSignal = true; - } - - // Không có tín hiệu nào -> thoát - if(!buySignal && !sellSignal) return; - - // --- TÍNH TOÁN ENTRY, SL, TP --- - double entryPrice = (buySignal ? SymbolInfoDouble(_Symbol, SYMBOL_ASK) - : SymbolInfoDouble(_Symbol, SYMBOL_BID)); - double slPrice = 0.0; - double tpPrice = 0.0; - double stopLossPoints = SL_Pips_Default; - - // Nếu có level từ mô hình (double top/bottom) - if(level > 0) { - if(buySignal) { - slPrice = level - 5*_Point; // SL thấp hơn đáy 5 points - stopLossPoints = MathAbs(entryPrice - slPrice)/_Point; - } - if(sellSignal) { - slPrice = level + 5*_Point; // SL cao hơn đỉnh 5 points - stopLossPoints = MathAbs(entryPrice - slPrice)/_Point; - } - } else { - // Nếu không có mô hình -> dùng SL mặc định - if(buySignal) slPrice = entryPrice - SL_Pips_Default*_Point; - if(sellSignal) slPrice = entryPrice + SL_Pips_Default*_Point; - stopLossPoints = SL_Pips_Default; - } - - // Tính khối lượng phù hợp với rủi ro - double lots = CalculateLotByRisk(RiskPercent, stopLossPoints); - - // Nếu có TP multiplier -> tính TP - if(TP_Multiplier > 0) { - double riskPriceDiff = MathAbs(entryPrice - slPrice); - if(buySignal) - tpPrice = entryPrice + TP_Multiplier * riskPriceDiff; - else - tpPrice = entryPrice - TP_Multiplier * riskPriceDiff; - } - - // Kiểm tra lại số lệnh mở (phòng trường hợp vừa mở xong) - if(CountOpenPositionsSymbol() >= MaxOpenPositions) return; - - // Đặt lệnh BUY hoặc SELL - bool placed = false; - if(buySignal) - placed = PlaceMarketOrder(true, lots, slPrice, tpPrice); - else if(sellSignal) - placed = PlaceMarketOrder(false, lots, slPrice, tpPrice); - - if(placed) - PrintFormat("Đặt lệnh %s lots=%.2f SL=%.5f TP=%.5f", - (buySignal?"BUY":"SELL"), lots, slPrice, tpPrice); -} - -// ================== KHỞI TẠO & KẾT THÚC =========================== -int OnInit() { - // Tạo các handle EMA để vẽ và tính toán - handleEMA50 = iMA(_Symbol, TrendTF, EMA_Fast, 0, MODE_EMA, PRICE_CLOSE); - handleEMA200 = iMA(_Symbol, TrendTF, EMA_Slow, 0, MODE_EMA, PRICE_CLOSE); - - if(handleEMA50 == INVALID_HANDLE || handleEMA200 == INVALID_HANDLE){ - Print("Lỗi tạo EMA handle. Mã lỗi: ", GetLastError()); - return(INIT_FAILED); - } - - // Nếu bật hiển thị -> vẽ lên biểu đồ - if(VisualizeEMAs) { - bool ok1 = ChartIndicatorAdd(0, 0, handleEMA50); - bool ok2 = ChartIndicatorAdd(0, 0, handleEMA200); - - if(!ok1 || !ok2) Print("Không thể vẽ EMA lên chart. Mã lỗi: ", GetLastError()); - } - - return(INIT_SUCCEEDED); -} - -void OnDeinit(const int reason) -{ - if(handleEMA50 != INVALID_HANDLE) IndicatorRelease(handleEMA50); - if(handleEMA200 != INVALID_HANDLE) IndicatorRelease(handleEMA200); -} diff --git a/Experts/EA_ICT.mq5 b/Experts/ICT.mq5 similarity index 99% rename from Experts/EA_ICT.mq5 rename to Experts/ICT.mq5 index 3aea03c..3edeaaf 100644 --- a/Experts/EA_ICT.mq5 +++ b/Experts/ICT.mq5 @@ -153,6 +153,11 @@ string BOS_Names[3][2]; // tên objects (composite) cho mỗi store entry int BOS_Count[3] = {0,0,0}; // số BOS hiện có cho mỗi slot (0..2) bool BOS_HaveZone[3][2]; // flag có zone hay không +input int NYStartHourVN = 19; +input int NYEndHourVN = 23; +input int LondonStartHourVN = 14; +input int LondonEndHourVN = 18; + void UpdateMTFFVGTouched(string symbol) { if(MTF_FVG_count <= 0) return; @@ -2447,8 +2452,44 @@ void MoveStoplossAdvanced() } } -void OnTick() +bool IsEntryTimeAllowed() { + datetime now = TimeCurrent(); + MqlDateTime t; + TimeToStruct(now, t); + + int hour = t.hour; + + // ===== LONDON ===== + if(hour >= LondonStartHourVN && hour < LondonEndHourVN) + return true; + + // ===== NEW YORK ===== + if(hour >= NYStartHourVN && hour < NYEndHourVN) + return true; + + return false; +} + +bool IsAllowedToTrade() +{ + if(!IsEntryTimeAllowed()) + return false; + + // if(EnableNewsFilter && + // IsHighImpactNewsNear(_Symbol, + // NewsBlockBeforeMin, + // NewsBlockAfterMin)) + return false; + + return true; +} + + +void OnTick() { + if(!IsAllowedToTrade()) + return; + string sym = Symbol(); CancelExpiredLimitOrder(); diff --git a/Experts/testMovingAverageEA.mq5 b/Experts/testMovingAverageEA.mq5 deleted file mode 100644 index 8ed41e8..0000000 --- a/Experts/testMovingAverageEA.mq5 +++ /dev/null @@ -1,165 +0,0 @@ -//+------------------------------------------------------------------+ -//| testMovingAverageEA.mq5 | -//| Copyright 2025, MetaQuotes Ltd. | -//| https://www.mql5.com | -//+------------------------------------------------------------------+ -#property copyright "Copyright 2025, MetaQuotes Ltd." -#property link "https://www.mql5.com" -#property version "1.00" -//+------------------------------------------------------------------+ -//| Include | -//+------------------------------------------------------------------+ -#include -//--- available signals -#include -//--- available trailing -#include -//--- available money management -#include -//+------------------------------------------------------------------+ -//| Inputs | -//+------------------------------------------------------------------+ -//--- inputs for expert -input string Expert_Title ="testMovingAverageEA"; // Document name -ulong Expert_MagicNumber =1338235432; // -bool Expert_EveryTick =false; // -//--- inputs for main signal -input int Signal_ThresholdOpen =10; // Signal threshold value to open [0...100] -input int Signal_ThresholdClose=10; // Signal threshold value to close [0...100] -input double Signal_PriceLevel =0.0; // Price level to execute a deal -input double Signal_StopLevel =50.0; // Stop Loss level (in points) -input double Signal_TakeLevel =50.0; // Take Profit level (in points) -input int Signal_Expiration =4; // Expiration of pending orders (in bars) -input double Signal_AC_Weight =1.0; // Accelerator Oscillator Weight [0...1.0] -//--- inputs for money -input double Money_FixRisk_Percent=10.0; // Risk percentage -//+------------------------------------------------------------------+ -//| Global expert object | -//+------------------------------------------------------------------+ -CExpert ExtExpert; -//+------------------------------------------------------------------+ -//| Initialization function of the expert | -//+------------------------------------------------------------------+ -int OnInit() - { -//--- Initializing expert - if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber)) - { - //--- failed - printf(__FUNCTION__+": error initializing expert"); - ExtExpert.Deinit(); - return(INIT_FAILED); - } -//--- Creating signal - CExpertSignal *signal=new CExpertSignal; - if(signal==NULL) - { - //--- failed - printf(__FUNCTION__+": error creating signal"); - ExtExpert.Deinit(); - return(INIT_FAILED); - } -//--- - ExtExpert.InitSignal(signal); - signal.ThresholdOpen(Signal_ThresholdOpen); - signal.ThresholdClose(Signal_ThresholdClose); - signal.PriceLevel(Signal_PriceLevel); - signal.StopLevel(Signal_StopLevel); - signal.TakeLevel(Signal_TakeLevel); - signal.Expiration(Signal_Expiration); -//--- Creating filter CSignalAC - CSignalAC *filter0=new CSignalAC; - if(filter0==NULL) - { - //--- failed - printf(__FUNCTION__+": error creating filter0"); - ExtExpert.Deinit(); - return(INIT_FAILED); - } - signal.AddFilter(filter0); -//--- Set filter parameters - filter0.Weight(Signal_AC_Weight); -//--- Creation of trailing object - CTrailingNone *trailing=new CTrailingNone; - if(trailing==NULL) - { - //--- failed - printf(__FUNCTION__+": error creating trailing"); - ExtExpert.Deinit(); - return(INIT_FAILED); - } -//--- Add trailing to expert (will be deleted automatically)) - if(!ExtExpert.InitTrailing(trailing)) - { - //--- failed - printf(__FUNCTION__+": error initializing trailing"); - ExtExpert.Deinit(); - return(INIT_FAILED); - } -//--- Set trailing parameters -//--- Creation of money object - CMoneyFixedRisk *money=new CMoneyFixedRisk; - if(money==NULL) - { - //--- failed - printf(__FUNCTION__+": error creating money"); - ExtExpert.Deinit(); - return(INIT_FAILED); - } -//--- Add money to expert (will be deleted automatically)) - if(!ExtExpert.InitMoney(money)) - { - //--- failed - printf(__FUNCTION__+": error initializing money"); - ExtExpert.Deinit(); - return(INIT_FAILED); - } -//--- Set money parameters - money.Percent(Money_FixRisk_Percent); -//--- Check all trading objects parameters - if(!ExtExpert.ValidationSettings()) - { - //--- failed - ExtExpert.Deinit(); - return(INIT_FAILED); - } -//--- Tuning of all necessary indicators - if(!ExtExpert.InitIndicators()) - { - //--- failed - printf(__FUNCTION__+": error initializing indicators"); - ExtExpert.Deinit(); - return(INIT_FAILED); - } -//--- ok - return(INIT_SUCCEEDED); - } -//+------------------------------------------------------------------+ -//| Deinitialization function of the expert | -//+------------------------------------------------------------------+ -void OnDeinit(const int reason) - { - ExtExpert.Deinit(); - } -//+------------------------------------------------------------------+ -//| "Tick" event handler function | -//+------------------------------------------------------------------+ -void OnTick() - { - ExtExpert.OnTick(); - } -//+------------------------------------------------------------------+ -//| "Trade" event handler function | -//+------------------------------------------------------------------+ -void OnTrade() - { - ExtExpert.OnTrade(); - } -//+------------------------------------------------------------------+ -//| "Timer" event handler function | -//+------------------------------------------------------------------+ -void OnTimer() - { - ExtExpert.OnTimer(); - } -//+------------------------------------------------------------------+ diff --git a/Profiles/Charts/Default/chart01.chr b/Profiles/Charts/Default/chart01.chr deleted file mode 100644 index 74818a18d31071ef6f8cdc279ccba2cf219de85c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11762 zcmdU#Z%-RX5XSd)rG5uXecL!-z%~*@>OWPL5~)&BseOeEhCl<@!X_#G@NJ*pjyJn| zd%nAXp@}TZzPs7onR(`!ogMq%e-7M-JU-8+(_THz4XG}xhr?es|xw-}HLze$-uNo4QlC&>A$&%O-t%L68pS-9ULQu!HJXt#&2yyDcmB?yG%24hB=@)E52c^2eBs{e-cs`) z${Oym{)v01xuW!z>ubLFvYBUIBIwK77qW=iw`Ki~*4Xzx+V&$EgOwBMeyZ8eB>k6U zP0#Ylski4!QutyZpW^Ml_iWIle$Fs*;^$}Np2lLq_@fQ=Be$h*okqvr+v}ek2_fvl z^3qe$Hl7c?m#;it<|}kL)Afz_o%!Rf$JC;X=kGo0w;%l*^uO`aY(nLgZl+V`t*XrSOf{*B<8+-L;4c8WG(@Kzwo} zb}T*4HrKI6O#L_{!;BN@^Den-7Q=*vMze}Z+x@BT->ob_zj~ILg*;!%mWh`NGu1uA zyQ~IUciuaU{ovQ0>h1^GMSQ0S*tL(2KdBulTumE?$Sv$(oW z$OPuoGwC&xgr@$-Rj^pUZ1y&SwA`4_lZb~TM|g?2tChz)!$3Od|q zU1I0DMey`8+4&@&ozVkf`Q}Ty9tEgW15xgt2?BSjna0Y$?x>A_9pk%l}}? z`yk5-RyUjrnaFUnzuYfoipxJGd7@d#K}1xX74}Xw3+S@)&8jB3*0t@vuk;Nm#>~Cc z`6}Kgx}Hly->>~V zA#>GB+n#zWX=W|`l#a4$;z%A~tvW4oiMV5TpV{gOi|G2bk!YUzR1)TerF5lcGwZ<0 zG_>6}kCbOCv<}>JZ(kk$2bwL$jm2Bco;#}mhwc~mgL@;deXsiV4}HGWomYCl z@$s8xH>xw%A%BJ(yO96LgK%Xc&G{bCw}?KKEbE4fbg;@!wzI|~#P7Y*HX z4Q$QPAZv2QVc+BFr(r?f-_>g<-PU1|uK#pc?8^Fx1zz5fmetr!S-@EbEQrg8vEa4) zNjSc2;lV>a&yE6vnmivZ+Jxtg_iZfLlb1vG>Ed^GZcc;)`5wPFbASr1ueU{8cNV0p zlq`5?P8v#k;%4MI%KUXXDcbpTXb|%O4bIP4+Qfogc^0X$*zzzIJjGr>KLK8I_Fb2M zQj0d>_ilT^NM4Tlr;F!@vZF6MunEtH3?%qFY89%lec9^!A!KKt;xtD?x(o9Do;kAFC@4vW;rO<>WD1DsPM3)q** zGfgaDPoo~%*ZWIg0W|?J(Ug6nMVs(^Hx^K(r95c&{YV}s15pv}HS7iOfGQBHEZVxV zAYWngEC2Vl%J!B|VL`sa zrddD@&F=!#L-y-rwKmPye>fK1kYE>hrk*?9Qp@bkU5C(lyKnqgdy-*w?x+2+(*Jdx z2|B{oBQ%qtCF8$RY!zk;)cIo@^uZqxBj<`nrnXPJnl%q>t z_GIx-bC0|m{$#*_zg1Yx_{Xl({qmpL8M|>|b&HGG7b@{D&*YDbK6`22SFA(7z1x*` zQzNP+`e|P-$~`Xn)Xf3?rs|^FYq>x6X%8x_4fbh2q{RN|xnK6v>dKkp>fq2J!&NbQZN)}bHmk8+QT zzV$%@{$#r5sw$qZZJ)@`ig32=ykSUF#aS;UMnHZF{yg|!?V{90K-=jaR!4gyvegL4 z?T>Pg9RX?e$NxW@BOpCr-aiMV=k7EDn$Mt5p99JsLKy+=XWMmshB5+D`=2fX()y3z zP@5wlo~*|AJpT@S2PvMSV+7>qpU)u&@Ea!Qop^pOBcT0Ux9*Hxjey+#ZV~Xj=3iOl KjQH=j7w$ilBXf=b diff --git a/Profiles/Charts/Default/order.wnd b/Profiles/Charts/Default/order.wnd index 0789302f22868ed2c5c7735101c3341fb1cba4a3..9dd2f12fa28489910aa4aed45dc5a4235e5062b8 100644 GIT binary patch literal 2576 zcmaLVO-cnZ5QWhi3vNX^NhPT)N8ZHo!}a?MPQ>G^n~yY?lYW1@#Y;TLJznFA9#8T0 zevij^_x6tbTsr|QgkH(_==``pegHD4^ zgHD4^gHD4%gF%CfrSb1=|D4e+41R6UdeC~%deC~%deC~%I%%EMNg5;#k_JhGq(Rak zX^=FSG?+A)G?+A)G?+A)G?+A)G?+A4G*~oPG*~oPG*~oPG*~oPG*~p)G}tuQG}tuQ zG}tuQG}tuQG}tsK8WatR21SFSLD8USP&6nS6b%jy4h;?s4h;?s4h;?s4h;?s4h^nf Gt3LoQb&Tx* delta 15 WcmbOr@{MhR2BY!BiIN*NOqc;HKLpqS diff --git a/experts.dat b/experts.dat index 393b1d1373e2c4e6bdb05ab689285d88b6638aee..50156777e97e1c36124116e1143c55a29fb52f76 100644 GIT binary patch delta 109 zcmX?lo#p6tmJMzE#vu$v45i^ns#GWaq$GMF+LFz5l* yRRCEGn|pY_F;1Q!Be406u&58eCxbIX2tsypOt|Id3u#=8lOM?5-prVA