|
????????????? ???????? ?? ?????????? ??????
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
open
Зарегистрирован: 24.07.2008 Сообщения: 3 Откуда: ??????
|
Добавлено: Вт Июл 29, 2008 7:15 pm Заголовок сообщения: ??? ? ???? ??????? ???????, ????? ?????, ??? |
|
|
????????, ????,
??? ? ???? ??????? ???????, ????? ?????, ?????? ? 23:00 ??? ???? ?? ??????? ???????? ??????? ????????????? , ?.?. ?????? BUY ????? SELL, Stop ? Profit ????????? ?? ??, ? ?????? 8:00 ???? ????? ???????????? ?? ?????????? ?????. ? ?????, ??? ???? ??????? ??? ??? ???????? ? ??????? ???????, ?? ??? ??? ????? ???????????
? ???, ????? ????? ?????? ? ???????? ???????, ????? ???????????? ? ?????????? ????? ??? ?????? ?? ???????????? StopLoss, ?? ????????? 8:00 ????.
Код: | //+------------------------------------------------------------------+
//| MACD Sample.mq4 |
//| Copyright © 2005, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
extern double TakeProfit = 50;
extern double Lots = 0.1;
extern double TrailingStop = 30;
extern double MACDOpenLevel=3;
extern double MACDCloseLevel=2;
extern double MATrendPeriod=26;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
double m, m1, s, s1, ma, ma1;
int cnt, ticket, total;
// initial data checks
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
m=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
m1=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
s=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
s1=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
ma=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
ma1=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);
total=OrdersTotal();
if(total<1)
{
// no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
// check for long position (BUY) possibility
if(m<0 && m>s && m1<s1 && MathAbs(m)>(MACDOpenLevel*Point) && ma>ma1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
// check for short position (SELL) possibility
if(m>0 && m<s && m1>s1 && m>(MACDOpenLevel*Point) && ma<ma1)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
// it is important to enter the market correctly,
// but it is more important to exit it correctly...
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
// should it be closed?
if(m>0 && m<s && m1>s1 && m>(MACDCloseLevel*Point))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
// check for trailing stop
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // go to short position
{
// should it be closed?
if(m<0 && m>s && m1<s1 && MathAbs(m)>(MACDCloseLevel*Point))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
// check for trailing stop
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
} |
Последний раз редактировалось: open (Ср Июл 30, 2008 10:03 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
KimIV Admin
Зарегистрирован: 24.01.2006 Сообщения: 958 Откуда: ??????
|
Добавлено: Вт Июл 29, 2008 7:28 pm Заголовок сообщения: Re: ????????, ????, ??? ? ???? ??????? ???????, ????? ?????, |
|
|
??? ??????? ???? ???????????, ??????????, ?????? CODE (??. ??????? ?? ????????).
open писал(а): | ... ?? ??? ??? ????? ??????????? |
??????? [url=http://docs.mql4.com/ru/dateandtime]???? ? ?????[/url] ??? ???????. _________________ ??? ????? ? ???? ??????? ????? ? ??????? ???????? ???, ? ??????? ? ???? ?????? ? ??????? ???????? ????... |
|
Вернуться к началу |
|
|
D.operi
Зарегистрирован: 02.10.2009 Сообщения: 4 Откуда: United States
|
Добавлено: Пт Ноя 20, 2009 6:53 pm Заголовок сообщения: ??? ? ???? ??????? ??????? ????? ????? ??? |
|
|
???????? ? ???? ???? ?????. ??? ???? ????? ?? ??? ???? gif ????????. ??? ???????? |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять вложения в этом форуме Вы не можете просматривать вложения в этом форуме
|
Powered by phpBB © 2001, 2005 phpBB Group
|