dyn
-
Posts
5 -
Joined
-
Last visited
Content Type
Profiles
Forums
Articles
Posts posted by dyn
-
-
Re: New Destiny expert advisor
anyone can upload for destiny ver 3.33 ?
link is dead
-
-
Re: ProV2 from destinyforex
anyone have DestinyProV2-EURGBP.ex4 or DestinyProV2-EURGBP.mq4 for eurgpb pair ?
-
Re: POST YOUR EX4 HERE !!!! ( PART 2) :D
http://depositfiles.com/files/l6gzhu6dx
can somebody please make this work for foward test
live account and demo account
already test with http://www.alpari-forex.com/download/mt/mt4setup.exe but not working , with 5 digit problem and fowarding test not open any order
thank's
Forex Harvester
in MetaTrader Expert Advisors
Posted
Re: Forex Harvester
harvester v17 + edu + no e-mail
-----------------------------------------------------------------------------------------------
#property copyright "Copyright © 2010, MT4 Trading"
#property link "http://www.forexharvester.com"
#import "forexharvester17.dll"
bool quad_f1(string& a0[], double& a1[], double& a2[], double& a3[]);
double quad_f2(string& a0[], double& a1[], double& a2[], double& a3[]);
#import
extern string l0 = "=== License Settings ===";
extern string ClickBankReceipt = "";
extern string EMailAddress = "";
extern string l1 = "=== Money Management Settings ===";
extern bool UseMM = TRUE;
extern double Risk = 20.0;
extern double LotSize = 1.0;
extern int MaxOrders = 3;
extern int stop.loss = 0;
int gi_136 = 5;
extern string l2 = "=== Trade Settings ===";
extern int Slippage = 10;
bool gi_152 = TRUE;
extern string l3 = "=== General Settings ===";
extern bool StatusDisplay = TRUE;
extern int MagicNumber = 1976;
extern string ExpertComment = "Forex Harvester v16";
double gd_unused_180 = 0.0;
double gd_188 = 17.0;
double gd_196;
double gd_204;
double gd_212;
int g_count_220;
double gda_224[40];
double gda_228[2000][6];
double gda_232[2000][6];
string gsa_236[10];
double gd_288 = 0.0;
string gs_dummy_304;
string gs_dummy_312;
string gs_dummy_320;
bool gi_332;
bool gi_336;
bool gi_340;
double gd_352;
string gs_dummy_364;
string gs_dummy_372;
double gd_380;
double gd_388;
double g_price_396;
bool gi_404;
int init() {
string ls_0 = StringSubstr(Symbol(), 0, 6);
gi_404 = FALSE;
gsa_236[5] = Symbol();
gsa_236[6] = Symbol();
if (ls_0 == "EURUSD" || ls_0 == "USDCHF" || ls_0 == "GBPUSD" || ls_0 == "EURJPY" || ls_0 == "USDJPY") gi_404 = TRUE;
else Alert("This EA only runs on the EURUSD, USDCHF, GBPUSD, EURJPY, USDJPY");
//if (EMailAddress == "" || StringLen(EMailAddress) < 8 || StringFind(EMailAddress, "@", 0) < 1) {
// gi_404 = FALSE;
// Alert("Please enter a valid EMail address");
//}
prepare_arrays();
if (!quad_f1(gsa_236, gda_224, gda_228, gda_232)) gi_404 = FALSE;
return (0);
}
int deinit() {
return (0);
}
int start() {
double ld_0;
if (gi_404) {
gd_352 = 0.01;
if (Digits >= 4) {
gd_352 = 0.0001;
Slippage = 10 * Slippage;
}
prepare_arrays();
analyse.positions();
display.status();
gd_288 = Ask - Bid;
if (Month() == 1 && Day() <= 14) return (0);
if (Month() == 12 && Day() >= 14) return (0);
if (DayOfWeek() > 1) {
gda_224[25] = 1;
gi_340 = FALSE;
}
if (g_count_220 == 0) {
gd_380 = 0;
gd_388 = 0;
gi_332 = FALSE;
gi_336 = FALSE;
}
if (g_count_220 > 0) {
if (gi_332 && Bid >= gd_204) close.all();
if (gi_336 && Bid <= gd_212) close.all();
if (gi_152) panther.start();
}
if (!gi_340 && DayOfWeek() == 0 || DayOfWeek() == 1 && Minute() < 35) {
ld_0 = quad_f2(gsa_236, gda_224, gda_228, gda_232);
if (ld_0 == 0.0 && gda_224[25] == 3.0) {
Print("Valid trade setup detected, but spread too high (", DoubleToStr(gd_288 / gd_352, 1), "). Waiting");
return (0);
}
if (ld_0 == 1.0) {
Print("Valid trade setup detected");
gi_336 = FALSE;
gi_332 = FALSE;
gd_204 = gda_224[21];
gd_212 = gda_224[22];
if (gda_224[17] == 1.0) gi_336 = TRUE;
if (gda_224[17] == 2.0) gi_332 = TRUE;
if (gi_336) entry.short();
if (gi_332) entry.long();
}
}
}
return (0);
}
void entry.long() {
if (!UseMM) gda_224[19] = LotSize;
double l_price_0 = Ask;
if (Ask == 0.0) l_price_0 = Bid;
if (OrderSend(Symbol(), OP_BUY, gda_224[19], l_price_0, Slippage, 0, 0, ExpertComment, MagicNumber, 0, Blue) > 0) {
g_price_396 = l_price_0;
gi_340 = TRUE;
return;
}
Print("Long order failed with code " + GetLastError());
gda_224[25] = 3;
}
void entry.short() {
if (!UseMM) gda_224[19] = LotSize;
if (OrderSend(Symbol(), OP_SELL, gda_224[19], Bid, Slippage, 0, 0, ExpertComment, MagicNumber, 0, Red) > 0) {
g_price_396 = Bid;
gi_340 = TRUE;
return;
}
Print("Short order failed with code " + GetLastError());
gda_224[25] = 3;
}
void analyse.positions() {
gd_196 = 0;
g_count_220 = 0;
if (OrdersTotal() > 0) {
for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) {
OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES);
gd_196 += OrderProfit();
if (OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol()) {
if (OrderStopLoss() == 0.0 && OrderType() == OP_BUY) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - gda_224[14], OrderOpenPrice() + gi_136 * MaxOrders * gd_352, 0, CLR_NONE);
if (OrderStopLoss() == 0.0 && OrderType() == OP_SELL) OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + gda_224[14], OrderOpenPrice() - gi_136 * MaxOrders * gd_352, 0, CLR_NONE);
g_count_220++;
}
}
}
if (g_count_220 > MaxOrders) prune.orders();
}
void panther.start() {
if (gi_332) {
gd_380 = g_price_396 + gi_136 * gd_352;
if (Ask >= gd_380 && gd_380 + gd_288 < gd_204) entry.long();
}
if (gi_336) {
gd_388 = g_price_396 - gi_136 * gd_352;
if (Bid <= gd_388 && gd_388 - gd_288 > gd_212) entry.short();
}
}
void close.all() {
double l_price_4;
for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) {
OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderProfit() > 0.0) {
l_price_4 = Ask;
if (OrderType() == OP_BUY) l_price_4 = Bid;
OrderClose(OrderTicket(), OrderLots(), l_price_4, Slippage, CLR_NONE);
}
}
}
void display.status() {
string ls_0;
string ls_unused_8;
if (StatusDisplay) {
ls_0 = "false";
if (UseMM) ls_0 = "true";
Comment("----Forex Harvester V16----\n", "---------------------------",
"\n", "Account : ", AccountNumber(),
"\n", "Name : ", AccountName(),
"\n", "FreeMargin : ", AccountFreeMargin(),
"\n", "Currency : ", AccountCurrency(),
"\n", "---------------------------",
"\n", "MM : ", ls_0,
"\n", "Risk : ", Risk, "%\n", "---------------------------",
"\n", "Open Trades : ", g_count_220,
"\n", "Profit : ", gd_196,
"\n", "Arr2[25] : ", gda_224[25],
"\n", "Arr2[17] : ", gda_224[17],
"\n", "---------------------------",
"\n", "---------------------------",
"\n");
}
}
void prune.orders() {
double l_price_12;
double l_ord_profit_0 = 0;
int l_ticket_8 = 0;
for (int l_pos_20 = OrdersTotal() - 1; l_pos_20 >= 0; l_pos_20--) {
OrderSelect(l_pos_20, SELECT_BY_POS, MODE_TRADES);
if (OrderProfit() > l_ord_profit_0 && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
l_ord_profit_0 = OrderProfit();
l_ticket_8 = OrderTicket();
}
}
if (l_ord_profit_0 > 0.0) {
OrderSelect(l_ticket_8, SELECT_BY_TICKET, MODE_TRADES);
if (OrderType() == OP_BUY) l_price_12 = Bid;
if (OrderType() == OP_SELL) l_price_12 = Ask;
OrderClose(OrderTicket(), OrderLots(), l_price_12, Slippage, CLR_NONE);
}
}
void prepare_arrays() {
gda_224[1] = Digits;
gda_224[2] = Bid;
gda_224[3] = Ask;
gda_224[4] = MarketInfo(Symbol(), MODE_LOTSTEP);
gda_224[5] = MarketInfo(Symbol(), MODE_MINLOT);
gda_224[6] = MarketInfo(Symbol(), MODE_MAXLOT);
gda_224[7] = Risk;
gda_224[8] = MarketInfo(Symbol(), MODE_TICKVALUE);
gda_224[10] = AccountFreeMargin();
gda_224[11] = MaxOrders;
gda_224[13] = MarketInfo(Symbol(), MODE_LOTSIZE);
gda_224[15] = Bars;
gda_224[16] = gd_188;
gda_224[23] = ArrayCopyRates(gda_228, Symbol(), PERIOD_H1);
gda_224[24] = ArrayCopyRates(gda_232, Symbol(), PERIOD_D1);
gda_224[29] = stop.loss;
gsa_236[1] = Symbol();
gsa_236[2] = ClickBankReceipt;
gsa_236[3] = EMailAddress;
gsa_236[4] = DoubleToStr(AccountNumber(), 0);
gsa_236[7] = AccountCurrency();
}
-------------------------------------------------------------------------------------------
just compiled with meta editor