Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
double BU1=iMA(Symbol(),0,ShortSma,0,MODE_SMA,PRICE_CLOSE,i+1);
double BL1=iMA(Symbol(),0,LongSma,0,MODE_SMA,PRICE_CLOSE,i);
string SBUY="false";string SSEL="false";
if(BU1<Close[1]&&BL1<Close[1])SBUY="true";if(BL1>Close[1]&&BU1>Close[1])SSEL="true";
Теперь работает, что-то было не так с торговлей после TP.....
Спасибо за помощь, Младен.
здравствуйте, господин Младен
как можно перевести это слово:
http://forexsystemsru.com/1075962-post327.html
Кластерный анализ
отношение
Мистер Младен:
не могли бы вы сделать MTF из него
наилучшие пожелания
Здравствуйте, уважаемые кодеры,
У меня, возможно, простой вопрос, но я застрял в данный момент:
Мой советник открывает ордера на покупку и продажу без проблем, но когда дело доходит до
SIGNAL_CLOSEBUY или SIGNAL_CLOSESELL он не закрывает ордера.
Здесь я использую RSI_Filter в качестве триггера для закрытия ордеров на покупку или продажу.
Я скопировал свой код, буду очень рад, если кто-нибудь посмотрит.
Заранее спасибо!
#define SIGNAL_NONE 0
// Signal Begin(Exit Buy)#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
extern int MaxShortTrades = 1;
extern int MaxLongTrades = 1;
int Order = SIGNAL_NONE;
// RSI Filter
double RSIfilter=iRSI(Symbol(),0,RSIPeriod,PRICE_CLOSE,BarShift);
// Trade Signal Indicator
double NLD1,NLD2;
NLD1 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,1);
NLD2 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,2);
// Amount of long / short trades
int longs = 0;
int shorts = 0;
double j;
for(j=OrdersTotal()-1;j>=0; j--)
{
if(OrderType()==OP_BUY) longs++; // Check # of long trades.
if(OrderType()==OP_SELL) shorts++; // Check # of short trades
}
// place orders
if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order = SIGNAL_BUY;
if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if(Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage*PipMultiplier,MediumSeaGreen);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
// Signal Begin(Exit Sell)
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage*PipMultiplier,DarkOrange);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
Здравствуйте, уважаемые кодеры,
У меня, возможно, простой вопрос, но я застрял в данный момент:
Мой советник открывает ордера на покупку и продажу без проблем, но когда дело доходит до
SIGNAL_CLOSEBUY или SIGNAL_CLOSESELL он не закрывает ордера.
Здесь я использую RSI_Filter в качестве триггера для закрытия ордеров на покупку или продажу.
Я скопировал свой код, буду очень рад, если кто-нибудь посмотрит.
Заранее спасибо!
#define SIGNAL_NONE 0
// Signal Begin(Exit Buy)#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
extern int MaxShortTrades = 1;
extern int MaxLongTrades = 1;
int Order = SIGNAL_NONE;
// RSI Filter
double RSIfilter=iRSI(Symbol(),0,RSIPeriod,PRICE_CLOSE,BarShift);
// Trade Signal Indicator
double NLD1,NLD2;
NLD1 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,1);
NLD2 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,2);
// Amount of long / short trades
int longs = 0;
int shorts = 0;
double j;
for(j=OrdersTotal()-1;j>=0; j--)
{
if(OrderType()==OP_BUY) longs++; // Check # of long trades.
if(OrderType()==OP_SELL) shorts++; // Check # of short trades
}
// place orders
if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order = SIGNAL_BUY;
if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if(Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage*PipMultiplier,MediumSeaGreen);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
// Signal Begin(Exit Sell)
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage*PipMultiplier,DarkOrange);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
Две проблемы, которые вы должны решить, прежде чем продолжить:
два вопроса, которые вы должны решить, прежде чем продолжить:
Уважаемый Младен,
большое спасибо за ваши полезные предложения.
Если я правильно вас понял, мне нужно реализовать что-то вроде приведенного ниже кода
для выбора "buy_ticket" советник должен закрыться. Код еще не протестирован и является своего рода "псевдосостоянием".
int buy_ticket=0;
int sell_ticket=0;
int ticket;
// Iterate through tickets
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
{
if(OrderType()== OP_BUY)
buy_ticket=OrderTicket();
else
if(OrderType() == OP_SELL)
sell_ticket=OrderTicket();
}
}
// Close Ticket with trigger
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==CLOSE_BUY && buy_ticket!=0)
{
if(OrderSelect(buy_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Buy #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
else
if(Order==CLOSE_SELL && sell_ticket!=0)
{
if(OrderSelect(sell_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Sell #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
Уважаемый Младен,
большое спасибо за ваши полезные предложения.
Если я правильно вас понял, мне нужно реализовать что-то вроде приведенного ниже кода
для выбора "buy_ticket" советник должен закрыться. Код еще не протестирован и является своего рода "псевдосостоянием".
int buy_ticket=0;
int sell_ticket=0;
int ticket;
// Iterate through tickets
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
{
if(OrderType()== OP_BUY)
buy_ticket=OrderTicket();
else
if(OrderType() == OP_SELL)
sell_ticket=OrderTicket();
}
}
// Close Ticket with trigger
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==CLOSE_BUY && buy_ticket!=0)
{
if(OrderSelect(buy_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Buy #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
else
if(Order==CLOSE_SELL && sell_ticket!=0)
{
if(OrderSelect(sell_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Sell #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
У вас есть только 1 ордер (тот же символ, я имею в виду), открытый в то же время?
Если да, то он будет работать.
Дорогие друзья,
Прилагаемая ea постоянно открывает ордера фиксированным лотом(он открывает все ордера 0.10).
Я не меняю и не контролирую значение лота открытых ордеров!!!
В настройках есть значения "Lots" и "MaximumRisk" , но они не действуют на значения лота ордеров!
Помогите мне пожалуйста!
здравствуйте, господин Младен
не могли бы вы сделать пустое под-окно, похожее на это изображение
уважайте
Здравствуйте, Младен, я скачала ваш
stepma_pdf_4_4.ex4, а также гистограмму,
скопировал их в MT4. Перетаскиваю их на окно графика.
Я получаю следующее сообщение, как показано на рисунке:
Подскажите, пожалуйста, как я могу использовать ваш индикатор?
Леа
ps. то же самое произошло с: averages_-_mtf__alerts_7_4.ex4 и гистограммой