Давай брата
Может ты сделал кнопку БАБЛО, которая ещё сама себя и нажимает
что бы сама себя нажимала не умею - не программер. Придется ее все-таки один раз нажать самому
вот прога - правда там еще параметры надо пооптимизировать и еще из работают всего 4 - TakeProfit, st, Trailigstop и StochDifference
что бует если удалить остальные - не знаю, это черновик альфа версии. Правда он работает.
Инструкция по применению -
ищем контору, которая предоставляет спред по паре еврдоллар 2 пункт, открываем там счет, скачиваем метатрейдер4, создаем там нового эксперта, вставляем сей код, компилируем, сохраняем. Оптимизируем параметры, хотя можно и без оптимизации - тоже вроде работает. Открываем минутный график евробакса, разрешаем экспертам торговать(где то в меню на верху), прикрепляем к графику, разрешаем этому эксперту торговать - вуаля, баксы потекли в ваш карман рекой.
ах да чуть не забыл, можно изменить размер лота (параметр Lots) Предупреждение - можно открывать сделку на количество лотов, которое не превышает 1/10 вашего депозита, программа дает в среднем около 1000% от лота в год, т.е. она всего лишь удвоит ваш депозит. Притом, в течение оного года могут происходить заметные снижения депо - форекс вещь вероятностная, но девятикратного запаса должно хватить с большой вероятностью. Так что о каких-либо результатх можно говорить не раньше чем через полгода.
//+------------------------------------------------------------------+
//| expert1.mq4 |
//| lktyz |
//| |
//+------------------------------------------------------------------+
#property copyright "lktyz"
//+------------------------+
//|expert.mq4 |
//| Copyright © 2006, lktyz|
//+------------------------+
extern double TakeProfit = 15;
extern double Lots = 0.1;
extern double TrailingStop = 10;
extern double MACDOpenLevel=3;
extern double MACDCloseLevel=2;
extern double MATrendPeriod=26;
extern double st=70;
extern double MacdFastEma=12;
extern double MacdSlowEma=26;
extern double MacdSignal=9;
extern double Stoch_K=5;
extern double Stoch_D=3;
extern double StochSlowing=3;
extern double StochDifference=20;
extern double MacdDifference=0;
extern double coeff=60;
extern double slcoeff=60;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
double M, M1,S;
double S1,S2,M2;
double i,allowance;
int cnt, ticket, total, order;
// initial data checks
// it is important to make sure that the expert works with a normal
// chart and the user did not make any mistakes setting external
// variables (Lots, StopLoss, TakeProfit,
// TrailingStop) in our case, we check TakeProfit
// on a chart of less than 100 bars
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
// to simplify the coding and speed up access
// data are put into internal variables
M=iMACD(NULL,0,MacdFastEma*coeff,MacdSlowEma*coeff,MacdSignal*coeff,PRICE_CLOSE,MODE_MAIN,0);
M1=iMACD(NULL,0,MacdFastEma*coeff,MacdSlowEma*coeff,MacdSignal*coeff,PRICE_CLOSE,MODE_MAIN,1*slcoeff);
M2=iMACD(NULL,0,MacdFastEma*coeff,MacdSlowEma*coeff,MacdSignal*coeff,PRICE_CLOSE,MODE_MAIN,2*slcoeff);
S=iStochastic(NULL,0,Stoch_K*coeff,Stoch_D*coeff,StochSlowing*coeff,MODE_EMA,0,MODE_MAIN,0);
S1=iStochastic(NULL,0,Stoch_K*coeff,Stoch_D*coeff,StochSlowing*coeff,MODE_EMA,0,MODE_MAIN,1*slcoeff);
S2=iStochastic(NULL,0,Stoch_K*coeff,Stoch_D*coeff,StochSlowing*coeff,MODE_EMA,0,MODE_MAIN,2*slcoeff);
total=OrdersTotal();
if (total >0)
{
// stop loss module
OrderSelect(0,SELECT_BY_POS,MODE_TRADES);
if (OrderType()==OP_BUY)
{
if(Bid-OrderOpenPrice()>Point*(TrailingStop+TakeProfit))
{
if(OrderStopLoss()<Bid-Point*TrailingStop) OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
}
else
{
if(OrderStopLoss()<Bid+Point*(TakeProfit-st)) OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*(st-TakeProfit),OrderTakeProfit(),0,Green);
}
}
else
{
if(OrderOpenPrice()-Ask>Point*(TrailingStop+TakeProfit))
{
if(OrderStopLoss()>Ask+Point*TrailingStop) OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
}
else
{
if(OrderStopLoss()>Ask-Point*(TakeProfit-st)) OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*(st-TakeProfit),OrderTakeProfit(),0,Green);
}
}
}
// indicator's module
if (MathAbs(S-S2)<StochDifference) {allowance=0;}
else {allowance=1;}
if (S<80 && S>20)
{
if (S>S1 && S1>S2) {i=1;}
else
{ if (S1>S && S2>S1) {i=0;}
else {allowance=0;}
}
}
else
{
if (M>M1) {i=1;}
else {i=0;}
}
// end of indicator module
// trade module
if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true)
{
if ((OrderType()==OP_BUY) && (i==0)) OrderClose(OrderTicket(),1,Ask,100,Red);
if ((OrderType()==OP_SELL) && (i==1)) OrderClose(OrderTicket(),1,Bid,100,Red);
}
else
{
if (allowance==0) allowance=0;
else
{
if (i==1) ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,10,Bid-st*Point,0,"order",1,0,Green);
else ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,10,Ask+st*Point,0,"order",1,0,Green);
}
}
// end of trade module
}
Ну что, нравицца?