Jump to content

tgt123

Members
  • Posts

    238
  • Joined

  • Last visited

Posts posted by tgt123

  1. Re: ForexCIO™ EX4 Armour

     

    sorry guys. it ask me to key in some info for survey? and reply with hp sms. I register my hp numbeee, but I only reply over the 5 minute time limit. maybe someone could try. I can't regsiter my h/p number anymore bcos already register. it charge RM3.00 to my bills from this SMS i dunno other country. I found it on net, just quick fast and post here. seeing some good comment over the post it look genuine.

  2. Re: (REQ) B@llentine Bre@kout EA

     

    I do believe the EA may be broker sensitive, if some of the testers may share broker names, it will help other members test the EA, as far as the code is concerned, this is what the seller intended, hope this helps :)

     

    Hi jaet1989, since the EA like the other breakout ea http://indo-investasi.com/viewtopic.php?f=6&t=5824 can't run together with other EAs or manual trade. Can you add a specific magic number function to made it run together with other EAs on same account?

  3. Re: www.windsorparkfx.com

     

    Guy please make it work on ECN broker like fxcm Uk. Thanks

     

     

    #include <WinUser32.mqh>

     

    //#import "MTFTP.dll"

    // string gConnect(string a0, string a1, string a2, string a3);

    //#import

     

    string gs_76 = "1.6";

    extern bool TradeEnabled = true;

    extern int TradeSpacing = 0;

    extern int TradeTakeProfit = 0;

    extern double TradeLotSize = 0.1;

    extern int TradeStopLoss = 0;

    extern int TradeMinRange = 0;

    extern bool TradeCloseAll = FALSE;

    extern int TradeMaxOrders = 2;

    extern string AverageHeader = "!=!=!Average Settings!=!=!";

    extern bool AverageDynamic = true;

    extern double AveragePercentSpace = 50.0;

    extern double AveragePercentTP = 100.0;

    extern double AveragePercentSL = 0.0;

    extern int AverageDays = 20;

    extern int AverageMonths = 3;

    extern bool InstantOrders = false;

    extern int MaxSpread = 300;

    extern string DisplayHeader = "!=!=!Display Settings!=!=!";

    extern bool DisplayOn = TRUE;

    extern color DisplayTextColor = LightGray;

    extern color DisplayDataColor = White;

    extern int DisplayFontSize = 12;

    extern bool DisplayArrows = TRUE;

    extern int DisplayCornerMain = 1;

    extern int DisplayCornerAvg = 0;

    extern bool DisplayShowAnchor = TRUE;

    extern color DisplayAnchorClr = LightBlue;

    extern bool DisplayShowUpLine = TRUE;

    extern color DisplayUpLineClr = Red;

    extern bool DisplayShowDownLine = TRUE;

    extern color DisplayDownLineClr = Green;

    extern string NotificationHeader = "!=!=!Notification Settings!=!=!";

    extern bool NotifyAlerts = TRUE;

    extern bool NotifyLog = TRUE;

    extern string OtherTradeHeader = "!=!=!Other Trade Settings!=!=!";

    extern int TradeMagicNumber = 5691;

    extern int TradeMaxAttempts = 5;

    string gs_260 = "";

    int g_slippage_268 = 0;

    bool gi_272;

    bool gi_276;

    int gi_unused_280;

    int gi_284;

    double gd_288;

    double g_bid_296;

    double gd_304;

    double gd_312;

    double gd_320;

    double gd_328;

    double gd_336;

    double gd_344;

    int g_count_352;

    int g_count_356;

    double gd_360;

    string gs_368;

    int gi_376;

    bool gi_380=true;

    bool g_global_var_384;

    bool gi_388 = FALSE;

    int g_global_var_392 = -1;

     

    int init() {

    gi_276 = TRUE;

    if (TradeCloseAll) {

    if (MessageBox("Close all trades?", "Close All Requested", MB_YESNO|MB_ICONQUESTION) == IDYES) {

    closeAllTrades();

    if (MessageBox("All Trades Closed. Continue running?", "Enable Trading", MB_YESNO|MB_ICONQUESTION) == IDYES) TradeEnabled = TRUE;

    else TradeEnabled = FALSE;

    }

    }

    resetADR();

    int l_stoplevel_0 = MarketInfo(Symbol(), MODE_STOPLEVEL);

    if (l_stoplevel_0==0) l_stoplevel_0=5; //I added this part, because some broker has stoploss level ==0.

    if (TradeStopLoss < l_stoplevel_0 && TradeStopLoss > 0) logError("TradeStopLoss value was less than Stop Level! Symbol = " + Symbol() + " Stop Loss = " + TradeStopLoss + " Stop Level = " + l_stoplevel_0);

    if (TradeTakeProfit < l_stoplevel_0 && TradeTakeProfit > 0) logError("TradeTakeProfit value was less than Stop Level! Symbol = " + Symbol() + " Take Profit = " + TradeTakeProfit + " Stop Level = " + l_stoplevel_0);

    if (TradeStopLoss < TradeSpacing && TradeStopLoss > 0) logError("TradeStopLoss value was less than TradeSpacing! Symbol = " + Symbol() + " Stop Loss = " + TradeStopLoss + " Trade Spacing = " + TradeSpacing);

    if (TradeTakeProfit < TradeSpacing && TradeTakeProfit > 0) logError("TradeTakeProfit value was less than TradeSpacing! Symbol = " + Symbol() + " Take Profit = " + TradeTakeProfit + " Trade Spacing = " + TradeSpacing);

    TradeLotSize = NormalizeDouble(TradeLotSize, 2);

    gi_272 = TRUE;

    gi_376 = 0;

    gi_unused_280 = 0;

    g_count_352 = 0;

    g_count_356 = 0;

    // checkUserAuth(1);

    updateDisplay();

    return (0);

    }

     

    /*

    void checkUserAuth(int ai_0) {

    if (IsDemo()) {

    gs_368 = "DEMO";

    gi_380 = TRUE;

    return;

    }

    string l_acc_number_4 = AccountNumber();

    string l_str_concat_12 = StringConcatenate("p", l_acc_number_4);

    if (QuickCheck("ftp.powertradeliveauth.com", l_str_concat_12, AccountNumber(), ai_0)) {

    gs_368 = "LIVE";

    gi_380 = TRUE;

    return;

    }

    gs_368 = "INVALID";

    gi_380 = FALSE;

    }

    */

     

    int deinit() {

    ObjectsDeleteAll();

    return (0);

    }

     

    int start() {

    int l_global_var_0;

    int l_ticket_4;

    double l_price_8;

    double l_price_16;

    bool l_bool_24;

    // checkUserAuth(0);

    if (gi_380) {

    if ((Ask - Bid) / Point >= MaxSpread) logError("Trade Manager skipping this tick. Spread is too high! Bid=" + Bid + " Ask=" + Ask);

    else {

    if (GlobalVariableCheck("$EnableTrading")) g_global_var_384 = GlobalVariableGet("$EnableTrading");

    else g_global_var_384 = TRUE;

    if (GlobalVariableCheck("$TradeManagerReset")) {

    l_global_var_0 = GlobalVariableGet("$TradeManagerReset");

    if (l_global_var_0 == 1) {

    Print("Recieved a \"TradeManagerReset\" command from Profit Manager!");

    gi_272 = TRUE;

    GlobalVariableSet("$TradeManagerReset", 0);

    }

    }

    resetADR();

    if (gi_272) {

    resetAnchorPoint(Bid);

    gi_unused_280 = 0;

    gi_272 = FALSE;

    }

    if (Ask <= gd_304) {

    gi_376 = 3;

    if (TradeEnabled && g_global_var_384 && TradeMaxOrders > OrdersTotal()&& checkMinRange()) {

    if (InstantOrders) {

    l_price_8 = Ask - TradeStopLoss * Point;

    l_price_16 = Ask + TradeTakeProfit * Point;

    if (TradeStopLoss != 0 && TradeTakeProfit != 0) l_ticket_4 = openOrder(Symbol(), OP_BUY, TradeLotSize, Ask, l_price_8, l_price_16, gs_260);

    else {

    if (TradeStopLoss != 0) l_ticket_4 = openOrder(Symbol(), OP_BUY, TradeLotSize, Ask, l_price_8, 0, gs_260);

    else {

    if (TradeTakeProfit != 0) l_ticket_4 = openOrder(Symbol(), OP_BUY, TradeLotSize, Ask, 0, l_price_16, gs_260);

    else l_ticket_4 = openOrder(Symbol(), OP_BUY, TradeLotSize, Ask, 0, 0, gs_260);

    }

    }

    if (l_ticket_4 < 1) logError("Error placing trade: BUY " + TradeLotSize + " Lots at " + Ask + " SL/TP = " + l_price_8 + "/" + l_price_16);

    else placeLongIndicator(Ask);

    } else {

    l_ticket_4 = openOrder(Symbol(), OP_BUY, TradeLotSize, Ask, 0, 0, gs_260);

    if (l_ticket_4 < 1) logError("Error placing market trade: BUY " + TradeLotSize + " Lots at " + Ask + " SL/TP = " + l_price_8 + "/" + l_price_16);

    else {

    if (!OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) logError("OrderSelect failed for ticket #" + l_ticket_4 + " after opening market order. No SL or TP set!");

    l_price_8 = OrderOpenPrice() - TradeStopLoss * Point;

    l_price_16 = OrderOpenPrice() + TradeTakeProfit * Point;

    NormalizeDouble(l_price_8, MarketInfo(Symbol(), MODE_DIGITS));

    NormalizeDouble(l_price_16, MarketInfo(Symbol(), MODE_DIGITS));

    if (TradeStopLoss != 0 && TradeTakeProfit != 0) l_bool_24 = OrderModify(l_ticket_4, OrderOpenPrice(), l_price_8, l_price_16, 0);

    else {

    if (TradeStopLoss != 0) l_bool_24 = OrderModify(l_ticket_4, OrderOpenPrice(), l_price_8, OrderTakeProfit(), 0);

    else

    if (TradeTakeProfit != 0) l_bool_24 = OrderModify(l_ticket_4, OrderOpenPrice(), OrderStopLoss(), l_price_16, 0);

    }

    if (l_bool_24 == FALSE) logError("OrderModify failed for ticket #" + l_ticket_4 + " after opening market order. No SL or TP set!");

    }

    placeLongIndicator(Ask);

    }

    }

    gd_312 = gd_304;

    gd_304 = gd_312 - gd_288 * Point;

    resetDownLine(gd_304);

    gd_344 = gd_304 + (gd_288 + TradeSpacing) * Point;

    }

    if (Bid >= gd_328) {

    gi_376 = 2;

    if (TradeEnabled && g_global_var_384 && TradeMaxOrders > OrdersTotal() && checkMinRange()) {

    if (InstantOrders) {

    l_price_8 = Bid + TradeStopLoss * Point;

    l_price_16 = Bid - TradeTakeProfit * Point;

    NormalizeDouble(l_price_8, MarketInfo(Symbol(), MODE_DIGITS));

    NormalizeDouble(l_price_16, MarketInfo(Symbol(), MODE_DIGITS));

    if (TradeStopLoss != 0 && TradeTakeProfit != 0) l_ticket_4 = openOrder(Symbol(), OP_SELL, TradeLotSize, Bid, l_price_8, l_price_16, gs_260);

    else {

    if (TradeStopLoss != 0) l_ticket_4 = openOrder(Symbol(), OP_SELL, TradeLotSize, Bid, l_price_8, 0, gs_260);

    else {

    if (TradeTakeProfit != 0) l_ticket_4 = openOrder(Symbol(), OP_SELL, TradeLotSize, Bid, 0, l_price_16, gs_260);

    else l_ticket_4 = openOrder(Symbol(), OP_SELL, TradeLotSize, Bid, 0, 0, gs_260);

    }

    }

    if (l_ticket_4 < 1) logError("Error placing instant trade: SELL " + TradeLotSize + " Lots at " + Bid + " SL/TP = " + l_price_8 + "/" + l_price_16);

    else placeShortIndicator(Bid);

    } else {

    l_ticket_4 = openOrder(Symbol(), OP_SELL, TradeLotSize, Bid, 0, 0, gs_260);

    if (l_ticket_4 < 1) logError("Error placing market trade: SELL " + TradeLotSize + " Lots at " + Bid + " SL/TP = " + l_price_8 + "/" + l_price_16);

    else {

    if (!OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) logError("OrderSelect failed for ticket #" + l_ticket_4 + " after opening market order. No SL or TP set!");

    l_price_8 = OrderOpenPrice() + TradeStopLoss * Point;

    l_price_16 = OrderOpenPrice() - TradeTakeProfit * Point;

    NormalizeDouble(l_price_8, MarketInfo(Symbol(), MODE_DIGITS));

    NormalizeDouble(l_price_16, MarketInfo(Symbol(), MODE_DIGITS));

    if (TradeStopLoss != 0 && TradeTakeProfit != 0) l_bool_24 = OrderModify(l_ticket_4, OrderOpenPrice(), l_price_8, l_price_16, 0);

    else {

    if (TradeStopLoss != 0) l_bool_24 = OrderModify(l_ticket_4, OrderOpenPrice(), l_price_8, OrderTakeProfit(), 0);

    else

    if (TradeTakeProfit != 0) l_bool_24 = OrderModify(l_ticket_4, OrderOpenPrice(), OrderStopLoss(), l_price_16, 0);

    }

    if (l_bool_24 == FALSE) logError("OrderModify failed for ticket #" + l_ticket_4 + " after opening market order. No SL or TP set!");

    }

    placeShortIndicator(Bid);

    }

    }

    gd_336 = gd_328;

    gd_328 = gd_336 + gd_288 * Point;

    resetUpLine(gd_328);

    gd_320 = gd_328 - (gd_288 + TradeSpacing) * Point;

    }

    if (Ask <= gd_320 && gi_376 == 2) {

    gd_320 -= gd_288 * Point;

    gd_328 -= gd_288 * Point;

    resetUpLine(gd_328);

    }

    if (Bid >= gd_344 && gi_376 == 3) {

    gd_344 += gd_288 * Point;

    gd_304 += gd_288 * Point;

    resetDownLine(gd_304);

    }

    updateDisplay();

    gi_272 = FALSE;

    }

    }

    return (0);

    }

     

    int checkMinRange() {

    if (TradeMinRange == 0) return (1);

    for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) {

    if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES)) {

    if (OrderMagicNumber() == TradeMagicNumber) {

    if (OrderType() == OP_BUY && MathAbs((OrderOpenPrice() - Ask) / Point) <= TradeMinRange) {

    Print("BUY order #" + OrderTicket() + " was too close to new order! OrderOpenPrice=" + OrderOpenPrice() + " Ask =" + Ask);

    return (0);

    }

    if (OrderType() == OP_SELL && MathAbs((OrderOpenPrice() - Bid) / Point) <= TradeMinRange) {

    Print("SELL order #" + OrderTicket() + " was too close to new order! OrderOpenPrice=" + OrderOpenPrice() + " Bid =" + Bid);

    return (0);

    }

    }

    }

    }

    return (1);

    }

     

    void resetAnchorPoint(double a_price_0) {

    Print("Resetting the anchor point to: " + Bid);

    gi_284 = Ask - Bid;

    gd_288 = TradeSpacing + gi_284 / Point;

    g_bid_296 = Bid;

    if (DisplayShowAnchor) {

    ObjectDelete("AnchorLine");

    ObjectCreate("AnchorLine", OBJ_HLINE, 0, Time[0], a_price_0);

    ObjectSet("AnchorLine", OBJPROP_COLOR, DisplayAnchorClr);

    ObjectSet("AnchorLine", OBJPROP_WIDTH, 2);

    }

    gd_344 = 999;

    gd_328 = Ask + TradeSpacing * Point;

    resetUpLine(gd_328);

    gd_320 = 0;

    gd_304 = Bid - TradeSpacing * Point;

    resetDownLine(gd_304);

    gi_unused_280 = 0;

    gi_376 = 1;

    }

     

    void resetUpLine(double a_price_0) {

    if (DisplayShowUpLine) {

    ObjectDelete("LongLine");

    ObjectCreate("LongLine", OBJ_HLINE, 0, Time[0], a_price_0);

    ObjectSet("LongLine", OBJPROP_COLOR, DisplayUpLineClr);

    ObjectSet("LongLine", OBJPROP_WIDTH, 2);

    }

    }

     

    void resetDownLine(double a_price_0) {

    if (DisplayShowDownLine) {

    ObjectDelete("ShortLine");

    ObjectCreate("ShortLine", OBJ_HLINE, 0, Time[0], a_price_0);

    ObjectSet("ShortLine", OBJPROP_COLOR, DisplayDownLineClr);

    ObjectSet("ShortLine", OBJPROP_WIDTH, 2);

    }

    }

     

    void placeLongIndicator(double a_price_0) {

    g_count_352++;

    ObjectCreate("LongArrow" + g_count_352, OBJ_ARROW, 0, Time[0], a_price_0);

    ObjectSet("LongArrow" + g_count_352, OBJPROP_COLOR, Green);

    ObjectSet("LongArrow" + g_count_352, OBJPROP_ARROWCODE, 3);

    ObjectSet("LongArrow" + g_count_352, OBJPROP_WIDTH, 3);

    }

     

    void placeShortIndicator(double a_price_0) {

    g_count_356++;

    ObjectCreate("ShortArrow" + g_count_356, OBJ_ARROW, 0, Time[0], a_price_0);

    ObjectSet("ShortArrow" + g_count_356, OBJPROP_COLOR, Red);

    ObjectSet("ShortArrow" + g_count_356, OBJPROP_ARROWCODE, 3);

    ObjectSet("ShortArrow" + g_count_356, OBJPROP_WIDTH, 3);

    }

     

    void resetADR() {

    gd_360 = GetDailyRange(AverageDays, 0);

    if (AverageDynamic) {

    TradeSpacing = gd_360 * AveragePercentSpace / 100.0;

    TradeTakeProfit = gd_360 * AveragePercentTP / 100.0;

    TradeStopLoss = gd_360 * AveragePercentSL / 100.0;

    }

    }

     

    int openOrder(string as_0, int a_cmd_8, double ad_12, double a_price_20, double a_price_28, double a_price_36, string a_comment_44) {

    int l_cmd_64;

    int l_count_52 = 0;

    RefreshRates();

    if (a_cmd_8 == OP_BUY || a_cmd_8 == OP_BUYSTOP || a_cmd_8 == OP_BUYLIMIT) l_cmd_64 = 0;

    else

    if (a_cmd_8 == OP_SELL || a_cmd_8 == OP_SELLSTOP || a_cmd_8 == OP_SELLLIMIT) l_cmd_64 = 1;

    AccountFreeMarginCheck(as_0, l_cmd_64, ad_12);

    int l_error_60 = GetLastError();

    if (l_error_60 > 0/* NO_ERROR */) {

    logError("Error during margin check while opening a new position: " + l_error_60);

    return (0);

    }

    int l_ticket_56 = OrderSend(as_0, a_cmd_8, ad_12, a_price_20, g_slippage_268, a_price_28, a_price_36, a_comment_44, TradeMagicNumber);

    if (l_ticket_56 > 0) {

    logInfo("Order #" + l_ticket_56 + " was opened successfully.");

    return (l_ticket_56);

    }

    while (l_count_52 < TradeMaxAttempts) {

    l_count_52++;

    l_error_60 = processErrors();

    if (l_error_60 == 1/* NO_RESULT */) {

    Sleep(1000);

    RefreshRates();

    if (a_cmd_8 == OP_BUY) a_price_20 = Ask;

    else

    if (a_cmd_8 == OP_SELL) a_price_20 = Bid;

    l_ticket_56 = OrderSend(as_0, a_cmd_8, ad_12, a_price_20, g_slippage_268, a_price_28, a_price_36, a_comment_44, TradeMagicNumber);

    if (l_ticket_56 > 0) {

    logInfo("Order #" + l_ticket_56 + " was opened successfully.");

    return (l_ticket_56);

    }

    }

    if (l_error_60 > 1/* NO_RESULT */) {

    logError(TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS) + " - ERROR: Failed to place order due to critical error.");

    return (0);

    }

    }

    logError(TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS) + " - ERROR: Failed to place order after " + TradeMaxAttempts + " tries.");

    return (0);

    }

     

    int closeOrder(int a_ticket_0, double a_lots_4) {

    double l_price_12;

    int li_20;

    int l_count_24 = 0;

    logInfo("Enter closeOrder with Ticket = " + a_ticket_0 + " Lots = " + a_lots_4);

    a_lots_4 = NormalizeDouble(a_lots_4, 2);

    while (l_count_24 < TradeMaxAttempts) {

    if (OrderSelect(a_ticket_0, SELECT_BY_TICKET)) {

    if (OrderType() == OP_BUY) l_price_12 = NormalizeDouble(MarketInfo(OrderSymbol(), MODE_BID), MarketInfo(OrderSymbol(), MODE_DIGITS));

    if (OrderType() == OP_SELL) l_price_12 = NormalizeDouble(MarketInfo(OrderSymbol(), MODE_ASK), MarketInfo(OrderSymbol(), MODE_DIGITS));

    logInfo("Calling OrderClose(" + OrderTicket() + "," + a_lots_4 + "," + l_price_12 + "," + g_slippage_268 + ")");

    if (OrderClose(OrderTicket(), a_lots_4, l_price_12, TradeMaxAttempts)) {

    logInfo("Order # " + OrderTicket() + " closed successfully...");

    return (1);

    }

    l_count_24++;

    li_20 = processErrors();

    if (li_20 > 1) {

    logError(TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS) + " - Failed to place order with serious error.. Manual closing of the order # " + OrderTicket() + " needed!");

    return (0);

    }

    RefreshRates();

    } else logInfo("OrderSelect by ticket failed during closeOrder!");

    }

    logError(TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS) + " - ERROR: Failed to place order after " + TradeMaxAttempts + " tries.. Manual closing of the order # " +

    OrderTicket() + " needed!");

    return (0);

    }

     

    void closeAllTrades() {

    for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) {

    if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES))

    if (OrderMagicNumber() == TradeMagicNumber) closeOrder(OrderTicket(), OrderLots());

    }

    }

     

    int processErrors() {

    bool l_bool_8;

    int l_count_12;

    int l_error_0 = GetLastError();

    logInfo("Last error: " + l_error_0);

    switch (l_error_0) {

    case 0/* NO_ERROR */:

    return (0);

    case 2/* COMMON_ERROR */:

    logError("System failure. Reboot the computer/check the server!");

    return (3);

    case 3/* INVALID_TRADE_PARAMETERS */:

    logError("Error of the logic of the EA!");

    return (3);

    case 4/* SERVER_BUSY */:

    logInfo("Trading server is busy! Wait for 2 minutes.");

    Sleep(120000);

    return (2);

    case 6/* NO_CONNECTION */:

    l_bool_8 = FALSE;

    l_count_12 = 0;

    logInfo("Disconnected!");

    while (!l_bool_8 || l_count_12 > 60) {

    Sleep(10000);

    logInfo("Connection not restored " + (10 * l_count_12) + " seconds passed!");

    l_bool_8 = IsConnected();

    if (l_bool_8) {

    logInfo("Connection restored");

    return (2);

    }

    l_count_12++;

    }

    logError("Connection problems!");

    return (3);

    case 8/* TOO_FREQUENT_REQUESTS */:

    logError("Frequent requests!");

    return (3);

    case 64/* ACCOUNT_DISABLED */:

    logError("Account is blocked!");

    return (3);

    case 65/* INVALID_ACCOUNT */:

    logError("Wrong account number!");

    return (3);

    case 128/* TRADE_TIMEOUT */:

    logWarning("Waiting of transaction timed out!");

    return (2);

    case 129/* INVALID_PRICE */:

    logWarning("Wrong price!");

    return (1);

    case 130/* INVALID_STOPS */:

    logWarning("Wrong stop!");

    return (1);

    case 131/* INVALID_TRADE_VOLUME */:

    logError("Wrong calculation of trade volume!");

    return (3);

    case 132/* MARKET_CLOSED */:

    logError("Market closed!");

    case 134/* NOT_ENOUGH_MONEY */:

    logError("Lack of margin for performing operation!");

    case 135/* PRICE_CHANGED */:

    logWarning("Prices changed!");

    return (1);

    case 136/* OFF_QUOTES */:

    logWarning("No price!");

    return (2);

    case 138/* REQUOTE */:

    logWarning("Requote again!");

    return (1);

    case 139/* ORDER_LOCKED */:

    logWarning("The order is in process. Program glitch!");

    return (2);

    case 141/* TOO_MANY_REQUESTS */:

    logError("Too many requests!");

    case 148/* ERR_TRADE_TOO_MANY_ORDERS */:

    logError("Transaction volume too large!");

    }

    return (0);

    }

     

    void logError(string as_0) {

    if (NotifyAlerts) Alert(as_0);

    if (NotifyLog) logMessage(as_0);

    Print(as_0);

    }

     

    void logWarning(string as_0) {

    if (NotifyLog) logMessage(as_0);

    Print(as_0);

    }

     

    void logInfo(string as_0) {

    if (NotifyLog) logMessage(as_0);

    Print(as_0);

    }

     

    void logMessage(string as_unused_0) {

    }

     

    string getTradeEnabledString() {

    if (TradeEnabled) return ("TRUE");

    return ("FALSE");

    }

     

    string getTrendDirectionString() {

    if (gi_376 == 0) return ("INIT");

    if (gi_376 == 1) return ("FINDING");

    if (gi_376 == 2) return ("UP");

    if (gi_376 == 3) return ("DOWN");

    return ("");

    }

     

    string getTrendDirectionFont() {

    if (gi_376 == 0) return ("Times New Roman");

    if (gi_376 == 1) return ("Times New Roman");

    if (gi_376 == 2) return ("Times New Roman");

    if (gi_376 == 3) return ("Times New Roman");

    return ("");

    }

     

    int getTrendDirectionColor() {

    if (gi_376 == 0) return (DisplayDataColor);

    if (gi_376 == 1) return (DisplayDataColor);

    if (gi_376 == 2) return (32768);

    if (gi_376 == 3) return (255);

    return (0);

    }

     

    void updateDisplay() {

    int li_0 = 1;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, gs_260 + " v" + gs_76, "", Gold, Gold, DisplayFontSize + 4, "Times New Roman", "Times New Roman");

    li_0++;

    li_0++;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, "Account Type:", gs_368, DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, "Trade Enabled:", getTradeEnabledString(), DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, "Trade Spacing:", TradeSpacing, DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, "Take Profit:", TradeTakeProfit, DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, "Stop Loss:", TradeStopLoss, DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, "Lot Size:", DoubleToStr(TradeLotSize, 2), DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    li_0++;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, "Anchor:", DoubleToStr(g_bid_296, MarketInfo(Symbol(), MODE_DIGITS)), DisplayAnchorClr, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, "Short Entry:", DoubleToStr(gd_328, MarketInfo(Symbol(), MODE_DIGITS)), DisplayUpLineClr, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, "Long Entry:", DoubleToStr(gd_304, MarketInfo(Symbol(), MODE_DIGITS)), DisplayDownLineClr, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    AdvancedComment(gi_276, DisplayCornerMain, li_0, "Trend:", getTrendDirectionString(), DisplayTextColor, getTrendDirectionColor(), DisplayFontSize, "Times New Roman", getTrendDirectionFont());

    li_0 = 1;

    AdvancedComment(gi_276, DisplayCornerAvg, li_0, "ADR Days:", AverageDays, DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    AdvancedComment(gi_276, DisplayCornerAvg, li_0, "ADR:", DoubleToStr(gd_360, 0), DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    AdvancedComment(gi_276, DisplayCornerAvg, li_0, "AMR Months:", AverageMonths, DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    li_0++;

    if (AverageMonths > 0) AdvancedComment(gi_276, DisplayCornerAvg, li_0, "AMR:", DoubleToStr(GetMonthlyRange(AverageMonths, 0), 0), DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    else AdvancedComment(gi_276, DisplayCornerAvg, li_0, "AMR:", DoubleToStr(GetMonthlyRange(AverageMonths, 0), 0), DisplayTextColor, DisplayDataColor, DisplayFontSize, "Times New Roman", "Times New Roman");

    gi_276 = FALSE;

    ObjectsRedraw();

    }

     

    int AdvancedComment(bool ai_0, int a_corner_4, int ai_8, string a_text_12, string a_text_20, color a_color_28, color a_color_32, int ai_36, string a_fontname_40, string a_fontname_48) {

    int l_fontsize_64;

    int l_x_76;

    int l_x_80;

    int li_56 = 10;

    int l_fontsize_60 = 10;

    int li_68 = 15;

    if (ai_36 > li_56) l_fontsize_64 = ai_36;

    else l_fontsize_64 = li_56;

    l_fontsize_60 = l_fontsize_64;

    if (a_corner_4 == 0 || a_corner_4 == 2) {

    l_x_76 = 5;

    l_x_80 = 100;

    } else {

    l_x_76 = 70;

    l_x_80 = 5;

    }

    int l_y_72 = ai_8 * li_68;

    if (ai_0) {

    ObjectDelete("PanelLabel" + ai_8 + a_corner_4);

    ObjectCreate("PanelLabel" + ai_8 + a_corner_4, OBJ_LABEL, 0, 0, 0);

    ObjectSetText("PanelLabel" + ai_8 + a_corner_4, a_text_12, l_fontsize_60, a_fontname_40, a_color_28);

    ObjectSet("PanelLabel" + ai_8 + a_corner_4, OBJPROP_CORNER, a_corner_4);

    ObjectSet("PanelLabel" + ai_8 + a_corner_4, OBJPROP_XDISTANCE, l_x_76);

    ObjectSet("PanelLabel" + ai_8 + a_corner_4, OBJPROP_YDISTANCE, l_y_72);

    ObjectDelete("PanelData" + ai_8 + a_corner_4);

    ObjectCreate("PanelData" + ai_8 + a_corner_4, OBJ_LABEL, 0, 0, 0);

    ObjectSet("PanelData" + ai_8 + a_corner_4, OBJPROP_CORNER, a_corner_4);

    ObjectSet("PanelData" + ai_8 + a_corner_4, OBJPROP_XDISTANCE, l_x_80);

    ObjectSet("PanelData" + ai_8 + a_corner_4, OBJPROP_YDISTANCE, l_y_72);

    }

    ObjectSetText("PanelData" + ai_8 + a_corner_4, a_text_20, l_fontsize_64, a_fontname_48, a_color_32);

    return (0);

    }

     

    int GetDailyRange(int ai_0, int ai_unused_4) {

    double l_ihigh_28;

    double l_ilow_36;

    bool li_8 = FALSE;

    int l_index_12 = 0;

    int l_count_16 = 0;

    double ld_ret_44 = 0;

    int l_day_20 = TimeDay(Time[0]);

    int l_day_24 = l_day_20;

    while (!li_8) {

    if (TimeDay(Time[l_index_12]) != l_day_24 && TimeDayOfWeek(Time[l_index_12]) != 0) {

    l_ihigh_28 = iHigh(Symbol(), PERIOD_D1, iBarShift(Symbol(), PERIOD_D1, Time[l_index_12]));

    l_ilow_36 = iLow(Symbol(), PERIOD_D1, iBarShift(Symbol(), PERIOD_D1, Time[l_index_12]));

    ld_ret_44 += (l_ihigh_28 - l_ilow_36) / Point;

    l_count_16++;

    if (l_count_16 == ai_0) li_8 = TRUE;

    }

    l_day_24 = TimeDay(Time[l_index_12]);

    if (l_index_12 < Bars - 1) l_index_12++;

    else li_8 = TRUE;

    }

    ld_ret_44 /= ai_0;

    return (ld_ret_44);

    }

     

    int GetMonthlyRange(int ai_0, int ai_unused_4) {

    double l_ihigh_28;

    double l_ilow_36;

    bool li_8 = FALSE;

    int l_index_12 = 0;

    int l_count_16 = 0;

    double ld_ret_44 = 0;

    if (ai_0 == 0) return (0);

    int l_month_20 = TimeMonth(Time[0]);

    int l_month_24 = l_month_20;

    while (!li_8) {

    if (TimeMonth(Time[l_index_12]) != l_month_24) {

    l_ihigh_28 = iHigh(Symbol(), PERIOD_MN1, iBarShift(Symbol(), PERIOD_MN1, Time[l_index_12]));

    l_ilow_36 = iLow(Symbol(), PERIOD_MN1, iBarShift(Symbol(), PERIOD_MN1, Time[l_index_12]));

    ld_ret_44 += (l_ihigh_28 - l_ilow_36) / Point;

    l_count_16++;

    if (l_count_16 == ai_0) li_8 = TRUE;

    }

    l_month_24 = TimeMonth(Time[l_index_12]);

    if (l_index_12 < Bars - 1) l_index_12++;

    else li_8 = TRUE;

    }

    ld_ret_44 /= ai_0;

    return (ld_ret_44);

    }

    /*

    bool QuickCheck(string as_0, string as_8, string as_16, bool ai_24) {

    string ls_28;

    int l_str2int_36 = StrToInteger(as_8);

    int li_40 = l_str2int_36 & 768 / 255 + 1;

    int li_44 = l_str2int_36 & 240 / 16 + 1;

    int li_48 = l_str2int_36 & 15;

    string l_var_name_52 = as_8;

    if (GlobalVariableCheck(l_var_name_52)) g_global_var_392 = GlobalVariableGet(l_var_name_52);

    else GlobalVariableSet(l_var_name_52, -1);

    if (ai_24) {

    ls_28 = gConnect(as_0, as_8, as_16, "ROOT");

    if (ls_28 == "Connected") gi_388 = TRUE;

    else gi_388 = FALSE;

    GlobalVariableSet(l_var_name_52, DayOfWeek());

    } else {

    if (li_40 == DayOfWeek() && li_44 == Hour() && li_48 == Minute()) {

    if (g_global_var_392 != DayOfWeek()) {

    ls_28 = gConnect(as_0, as_8, as_16, "ROOT");

    if (ls_28 == "Connected") gi_388 = TRUE;

    else gi_388 = FALSE;

    }

    GlobalVariableSet(l_var_name_52, DayOfWeek());

    }

    }

    return (gi_388);

    }

    */

  4. Re: Volume : The Truth of Secret !!

     

    Hi

     

    I'm using the Akmos Trade IDLe software with TradeGuider RT and the interfacing is working fine. Using it on their 14 day demo trial. But every now and then the IDLe software will lock up and i'll have to End Task it and run again. Other than that it works fine, but only updates the charts on the TF i'm using ...so if I have the 15 min chart opened then every 15 minutes the chart is updated.

     

    Does any know if there are any companies offering Free trial periods on Live Data Feeds that I can incorporate with TradeGuider RT?

     

    Also i'm using TradeGuider RT v. 2.5.3 any have Tradeguider RT 3.0?

     

    thanks

     

    You can renew Akmos demo every 14 days, just login to its site, and click renew button.

  5. Re: NeuroShell Trader & Noxa Filter : Discussion and Sharing..

     

    TGT123

     

    Your thread. Anything to add? Any progress? Have you or anyone been able to get data consistently and stably passed from MT4 to NS and orders passed stably and consistently back to MT4 for execution?

     

    I haven't. Frustrating ;) The Jurik indicators plus the Noxa filters seem to point to a good solution, but without the MT4 connect, almost pointless.

     

    Hope this thread doesn't die.....

     

    Merlin

     

     

    Merlin, try using TW ( Interactive broker demo ) to check whether can send the order, Sorry

  6. Re: [release] Grail_2 (ISEA leeched from it) for FXCH broker

     

    I never had problem for money withdraw at FXCH, no does for deposite neither.

    Data in the real account is different with the demo account. That's why I tuned the code exactly in my FXCH real account.

    spread is 1 pips on EURGBP. 2 pips on EURCHF, AUDCHF.

     

    I never trusted the reviews on the FPA, why? because lossers always complains. no matter what. I did not say FXCH is good, but I do not say it is bad .

     

    I am also currently demo forward test it on the forex.com on EURCHF M1.

     

    I'm not getting info FPA, this is real case happen to my Friend, he use BankingFX EA to run, it is up to ur our still want to put head into to water!!! so stubborn

  7. Re: [release] Grail_2 (ISEA leeched from it) for FXCH broker

     

    I has read bad reviews at forexpeacearmy about FXCH.Does have very requotes at live account?are spreads really 1 pips about live account or it is fake?

     

    Thanks

    fxch is for eyecathing!! It doesn't show real price! Told many times, I have friend who deposit USd2000 and after few trades he found out that fxch data feed is weird and lot of spike, and he stop using it and ask for withdrawal, till now more than 6 mths ready, the money still not in!!!!!! So how many time need to tell!!! Ask fxch go to hell!!!!!

  8. Re: [REQ]MT4TBcopy

     

    Thanks alot finimej for the mod of ISEA or Grail EA! at http://www.indo-investasi.com/viewtopic.php?p=22250#p22250

     

    We now has one more option using ECN, currenex broker by using :-

     

    MT4 Demo --> MT4TBcopy --> Tradebullet--> ECN/ Currenex Broker

     

    So our tools!!!

     

    1)MT demo - Free!!

     

    2)MT4Bcopy - http://mql4.info/index.php?page=shop.product_details&category_id=3&flypage=shop.garden_flypage&product_id=20&option=com_virtuemart&Itemid=1

     

    Anyone have MT4Bcopy please share.!

     

    3) Tradebullet

    We may have some of the top guys from indo who have cracked version of tradebullet from unfriendly site or else download the full working 14 days trial version at http://www.tradebullet.com/download/ and use

    http://rapid*share.com/files/134269569/Microbest_CrackLock_3.8.1.zip to have unlimted usage!.

  9. Re: [Req] ISEA (Investiva Super Expert Advisor)

     

    Thanks alot finimej for the mod of ISEA or Grail EA! at http://www.indo-investasi.com/viewtopic.php?p=22250#p22250

     

    We now has one more option using ECN, currenex broker by using :-

     

    MT4 Demo --> MT4TBcopy --> Tradebullet--> ECN/ Currenex Broker

     

    So our tools!!!

     

    1)MT demo - Free!!

     

    2)MT4Bcopy - http://mql4.info/index.php?page=shop.product_details&category_id=3&flypage=shop.garden_flypage&product_id=20&option=com_virtuemart&Itemid=1

     

    Anyone have MT4Bcopy please share.!

     

    3) Tradebullet

    We may have some of the top guys from indo who have cracked version of tradebullet from unfriendly site or else download the full working 14 days trial version at http://www.tradebullet.com/download/ and use

    http://rapid*share.com/files/134269569/Microbest_CrackLock_3.8.1.zip to have unlimted usage!.

  10. Re: NeuroShell Trader & Noxa Filter : Discussion and Sharing..

     

    Hi MB,

     

    U need install NS in main line of the internet connection, not the "branched lines", cos duration the second line of internet connection wont work.

     

    Time for us to share some experience using it.

     

    Don't understand what you mean by "U need install NS in main line of the internet connection, not the "branched lines", cos duration the second line of internet connection wont work."

     

    Main line of the internet connection?

     

    Anyway, got it up running rapidly with MT Feed Pro and got it connected and running. That's a start :)

     

    MB

     

    if u have 2 lines only could generate the code for direct line, not the sub line. eg through router, wifi

×
×
  • Create New...