Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет,
Я не могу скомпилировать его из-за ошибки несбалансированных круглых скобок, может ли кто-нибудь сказать мне, почему они несбалансированные?
СпасибоЕсли вы получаете эту ошибку, значит, вам не хватает одного из [ или { или (
Возможно, где-то в вашем коде есть функция, в которой вы ставите слишком много {[(
Я проверил часть вашего кода и нашел несколько ошибок. Попробуйте это:
if ((type == _OP_BUYSTOP) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))//Time Delay for the next Buy Stop Order
{
int hstTotal=OrdersHistoryTotal();
for(i=0;i<hstTotal;i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == false)
{
Print("Access to history failed ("+GetLastError()+")");
break;
}
else
{
if (OrderDelete() && (((TimeCurrent() - OrderCloseTime())/60) =< NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;
}
}
Также я думаю, что последняя часть вашего кода (OrderDelete) не будет работать, потому что функция OrderDelete ничего не проверяет - она удаляет выбранный заказ. Поэтому вам нужно передать ей параметр с тикетом заказа. Вместо этого вы можете узнать удаленные заказы, проверив их комментарии. Каждый удаленный заказ будет иметь "canceled" в комментарии - вы можете сравнить результат функции OrderComment(), чтобы найти это.
Кто-нибудь может мне помочь?
Здравствуйте,
Я пытаюсь написать советника, и мне нужна помощь в написании формулы.
Я хочу, чтобы формула вычисляла разницу между закрытием предыдущей свечи (PCC1) и закрытием свечи две свечи назад (PCC2) (я буду работать на нескольких парах). HoL=(PCC1-PCC2)
Моя цель - подать сигнал на покупку или продажу;
bool BuySignal=false;
bool SellSignal=false;
если(HoL>0) BuySignal=true;if(HoL<0) SellSignal=true;
Спасибо за помощь.
...
Если вы хотите использовать несколько символов из одного экземпляра советника, что вы можете использовать что-то вроде этого:
double HoL=iClose(symbolName,0,1)-iClose(symbolName,0,2);[/php]Or to prevent some back testing surprises, a slightly more complicated code
int symbolShift2 = iBarShift(symbolName,0,Time[2]);
double HoL = iClose(symbolName,0,symbolShift1)-iClose(symbolName,0,symbolShift2);
If you are going to use it only on symbol that your EA is attached to than this
[php]
double HoL=Close[1]-Close[2];
достаточно
PS:"symbolName" должно быть установлено на Symbol по вашему выбору.
с уважением
mladen
Здравствуйте,
Я пытаюсь написать советника, и мне нужна помощь в написании формулы.
Я хочу, чтобы формула вычисляла разницу между закрытием предыдущей свечи (PCC1) и закрытием свечи двумя свечами назад (PCC2) (я буду работать на нескольких парах). HoL=(PCC1-PCC2)
Моя цель - подать сигнал на покупку или продажу;
bool BuySignal=false;
bool SellSignal=false;
if(HoL>0) BuySignal=true;if(HoL<0) SellSignal=true;
Спасибо за помощь.Скрыть ТП
Заменить
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,Ask+TP*Poin t,"Ask-StopLoss*Point,EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}
void OpenSell()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,Bid-TP*Point,Bid+StopLoss*Point,"EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}[/CODE]
to
[CODE]void OpenBuy()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,0,"Ask-StopLoss*Point,EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}
void OpenSell()
{
int ticket,err;
if (!GlobalVariableCheck("InTrade")) {
GlobalVariableSet("InTrade", CurTime()); // set lock indicator
ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,0,"EA Order",magic,0,Red);
GlobalVariableDel("InTrade"); // clear lock indicator
}
}Расстояние между ордерами Buy Stop
Привет всем, я пытаюсь реализовать расстояние между удаленным ордером buy stop и следующим ордером buy stop.
Я написал этот код, который работает, если только последний ордер не является чем-то другим. Я не уверен, как выбрать удаленный ордер бай-стоп из истории. Если кто-то может направить меня в нужном направлении, я буду очень признателен.
спасибо
// Задержка времени для следующего удаленного ордера "Buy Stop".
//Time Delay for the next Buy Stop Order
if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))
{
total = OrdersHistoryTotal();
for(e = total - 1; e >= 0; e--)
{
OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol() != Symbol()) continue;
{
if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;
}
}
}
Привет всем,
Я думаю, так будет лучше:
if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))
{
total = OrdersHistoryTotal();
for(e = total - 1; e >= 0; e--)
{
OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol() != Symbol()) continue;
if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;
break;
}
}Я думаю, так будет лучше:
Привет, Роджер,
Я очень новичок в кодировании, почему я использую там "break"? Он автоматически прерывается, когда оператор завершается?
И еще, подскажите, как выбрать удаленный заказ из истории?
спасибо
Вы показали нам только фрагмент кода, и я могу только догадываться.
Я предполагаю, что вы начинаете проверять историю после закрытия последнего ордера, поэтому вам нужно знать время, когда он был закрыт. Самый свежий закрытый ордер находится в конце истории, поэтому вам не нужно знать другое и "прерывать" проверку.
Существует масса способов найти нужный ордер в истории, у вас есть тип, магическое число, комментарии и т.д.
нужен кодер для простого советника
прибыльная система: мин 50 пипсов -200 пипсов прибыли за сделку
система на 1 час
использование только 1 индикатора плюс ATR (20)
простой советник с tp/sl/trailing stop
EA кодер может помочь бесплатно, пожалуйста, PM с вашей электронной почтой