EA that produces 1650% in 10 months - page 3

 

100 pip EA

I am trying to find the author of 100 pip EA named Gordago

fxtester:
Here is the EA code it needs to be run on GBPUSD H4

//+------------------------------------------------------------------+

//| Copyright 2005, Gordago Software Corp. |

//| Forex Software - Gordago |

//| version 2.0 |

//+------------------------------------------------------------------+

#property copyright "Copyright 2005, Gordago Software Corp."

#property link "http://www.gordago.com"

#define MIN_STOPLOSS_POINT 10

#define MIN_TAKEPROFIT_POINT 10

#define MAGIC 802644

extern string sNameExpert = "Generate from Gordago";

extern int nAccount =0;

extern double dBuyStopLossPoint = 100;

extern double dSellStopLossPoint = 30;

extern double dBuyTakeProfitPoint = 300;

extern double dSellTakeProfitPoint = 10;

extern double dBuyTrailingStopPoint = 0;

extern double dSellTrailingStopPoint = 0;

extern double dLots = 1;

extern int nSlippage = 5;

extern bool lFlagUseHourTrade = False;

extern int nFromHourTrade = 0;

extern int nToHourTrade = 23;

extern bool lFlagUseSound = True;

extern string sSoundFileName = "alert.wav";

extern color colorOpenBuy = Blue;

extern color colorCloseBuy = Aqua;

extern color colorOpenSell = Red;

extern color colorCloseSell = Aqua;

void deinit() {

Comment("");

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int start(){

if (lFlagUseHourTrade){

if (!(Hour()>=nFromHourTrade && Hour()<=nToHourTrade)) {

Comment("Time for trade has not come else!");

return(0);

}

}

if(Bars < 100){

Print("bars less than 100");

return(0);

}

if (nAccount > 0 && nAccount != AccountNumber()){

Comment("Trade on account :"+AccountNumber()+" FORBIDDEN!");

return(0);

}

if((dBuyStopLossPoint > 0 && dBuyStopLossPoint < MIN_STOPLOSS_POINT) ||

(dSellStopLossPoint > 0 && dSellStopLossPoint < MIN_STOPLOSS_POINT)){

Print("StopLoss less than " + MIN_STOPLOSS_POINT);

return(0);

}

if((dBuyTakeProfitPoint > 0 && dBuyTakeProfitPoint < MIN_TAKEPROFIT_POINT) ||

(dSellTakeProfitPoint > 0 && dSellTakeProfitPoint < MIN_TAKEPROFIT_POINT)){

Print("TakeProfit less than " + MIN_TAKEPROFIT_POINT);

return(0);

}

double diMA0=iMA(NULL,240,5,0,MODE_EMA,PRICE_CLOSE,0);

double diMA1=iMA(NULL,240,5,0,MODE_EMA,PRICE_CLOSE,1);

double diMA2=iMA(NULL,240,5,0,MODE_EMA,PRICE_CLOSE,0);

double diMA3=iMA(NULL,240,55,0,MODE_EMA,PRICE_CLOSE,0);

double diClose4=iClose(NULL,240,0);

double diMA5=iMA(NULL,240,55,0,MODE_EMA,PRICE_CLOSE,0);

double diMA6=iMA(NULL,240,5,0,MODE_EMA,PRICE_CLOSE,1);

double diMA7=iMA(NULL,240,5,0,MODE_EMA,PRICE_CLOSE,2);

double diMA8=iMA(NULL,240,5,0,MODE_EMA,PRICE_CLOSE,0);

double diMA9=iMA(NULL,240,9,0,MODE_LWMA,PRICE_CLOSE,0);

double diMA10=iMA(NULL,240,5,0,MODE_EMA,PRICE_CLOSE,0);

double diMA11=iMA(NULL,240,5,0,MODE_EMA,PRICE_CLOSE,1);

double diMA12=iMA(NULL,240,5,0,MODE_EMA,PRICE_CLOSE,0);

double diMA13=iMA(NULL,240,55,0,MODE_EMA,PRICE_CLOSE,0);

if(AccountFreeMargin() < (1000*dLots)){

Print("We have no money. Free Margin = " + AccountFreeMargin());

return(0);

}

bool lFlagBuyOpen = false, lFlagSellOpen = false, lFlagBuyClose = false, lFlagSellClose = false;

lFlagBuyOpen = (diMA0>diMA1 && diMA2<diMA3 && diClose4<diMA5 && diMA6diMA9);

lFlagSellOpen = False;

lFlagBuyClose = (diMA10diMA13);

lFlagSellClose = False;

if (!ExistPositions()){

if (lFlagBuyOpen){

OpenBuy();

return(0);

}

if (lFlagSellOpen){

OpenSell();

return(0);

}

}

if (ExistPositions()){

if(OrderType()==OP_BUY){

if (lFlagBuyClose){

bool flagCloseBuy = OrderClose(OrderTicket(), OrderLots(), Bid, nSlippage, colorCloseBuy);

if (flagCloseBuy && lFlagUseSound)

PlaySound(sSoundFileName);

return(0);

}

}

if(OrderType()==OP_SELL){

if (lFlagSellClose){

bool flagCloseSell = OrderClose(OrderTicket(), OrderLots(), Ask, nSlippage, colorCloseSell);

if (flagCloseSell && lFlagUseSound)

PlaySound(sSoundFileName);

return(0);

}

}

}

if (dBuyTrailingStopPoint > 0 || dSellTrailingStopPoint > 0){

for (int i=0; i<OrdersTotal(); i++) {

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

bool lMagic = true;

if (MAGIC > 0 && OrderMagicNumber() != MAGIC)

lMagic = false;

if (OrderSymbol()==Symbol() && lMagic) {

if (OrderType()==OP_BUY && dBuyTrailingStopPoint > 0) {

if (Bid-OrderOpenPrice() > dBuyTrailingStopPoint*Point) {

if (OrderStopLoss()<Bid-dBuyTrailingStopPoint*Point)

ModifyStopLoss(Bid-dBuyTrailingStopPoint*Point);

}

}

if (OrderType()==OP_SELL) {

if (OrderOpenPrice()-Ask>dSellTrailingStopPoint*Point) {

if (OrderStopLoss()>Ask+dSellTrailingStopPoint*Point || OrderStopLoss()==0)

ModifyStopLoss(Ask+dSellTrailingStopPoint*Point);

}

}

}

}

}

}

return (0);

}

bool ExistPositions() {

for (int i=0; i<OrdersTotal(); i++) {

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

bool lMagic = true;

if (MAGIC > 0 && OrderMagicNumber() != MAGIC)

lMagic = false;

if (OrderSymbol()==Symbol() && lMagic) {

return(True);

}

}

}

return(false);

}

void ModifyStopLoss(double ldStopLoss) {

bool lFlagModify = OrderModify(OrderTicket(), OrderOpenPrice(), ldStopLoss, OrderTakeProfit(), 0, CLR_NONE);

if (lFlagModify && lFlagUseSound)

PlaySound(sSoundFileName);

}

void OpenBuy() {

double dStopLoss = 0, dTakeProfit = 0;

if (dBuyStopLossPoint > 0)

dStopLoss = Bid-dBuyStopLossPoint*Point;

if (dBuyTakeProfitPoint > 0)

dTakeProfit = Bid + dBuyTakeProfitPoint * Point;

int numorder = OrderSend(Symbol(), OP_BUY, dLots, Ask, nSlippage, dStopLoss, dTakeProfit, sNameExpert, MAGIC, 0, colorOpenBuy);

if (numorder > -1 && lFlagUseSound)

PlaySound(sSoundFileName);

}

void OpenSell() {

double dStopLoss = 0, dTakeProfit = 0;

if (dSellStopLossPoint > 0)

dStopLoss = Ask+dSellStopLossPoint*Point;

if (dSellTakeProfitPoint > 0)

dTakeProfit = Ask-dSellTakeProfitPoint*Point;

int numorder = OrderSend(Symbol(),OP_SELL, dLots, Bid, nSlippage, dStopLoss, dTakeProfit, sNameExpert, MAGIC, 0, colorOpenSell);

if (numorder > -1 && lFlagUseSound)

PlaySound(sSoundFileName);

}
 

Gordago is the software. Some people are using it to create EAs. Look at this thread https://www.mql5.com/en/forum/175433

Reason: