Возможно что-то типа:
datetime Time_Handle = 0; start() { . . . if(Time[i]!=Time_Handle) ) { Time_Handle = Time[i]; . . . }
Возможно что-то типа:
Спасибо за ответ, но что-то н получается. Так он вообще не открывает сделки. Я вот пробовал вызвать предыдущий ордер из истории, но так он только одну сделку открывает, а потом все. Может здесь нужно что-то скорректировать?...
for(int i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true) return;
}
Спасибо за ответ, но что-то н получается. Так он вообще не открывает сделки. Я вот пробовал вызвать предыдущий ордер из истории, но так он только одну сделку открывает, а потом все. Может здесь нужно что-то скорректировать?...
for(int i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true) return;
}
Вам необходимо проверить, удовлетворяет ли ордер, который Вы запрашиваете из истории, Вашему временному промежутку, например так:
Вам необходимо проверить, удовлетворяет ли ордер, который Вы запрашиваете из истории, Вашему временному промежутку, например так:
Вот так это должно выглядеть?
for(int i=0;i<OrdersHistoryTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true) {
if (Day()==TimeDay(OrderOpenPrice()))return;
}
}
Уважаемые специалисты! Помогите, пожалуйста новичку-любителю:) в создании кода для открытия сделки. Что мне нужно дописать, чтоб при данных условиях сделки открывались только при первом сигнале. К примеру не чаще чем раз в сутки. Заранее всем огромное спасибо за помощь.
void CheckForOpen()
{int res;
double high_0=iHigh(NULL,PERIOD_D1,0);
double low_0=iLow(NULL,PERIOD_D1,0);
double high_1=iHigh(NULL,PERIOD_D1,1);
double low_1=iLow(NULL,PERIOD_D1,1);
if(low_1>=low_0)
{
res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"",SerialNumber,0,Red);
return;
}
if(high_0>=high_1)
{
res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",SerialNumber,0,Blue);
return;
}
}
0. Изучить правила форума
1. прочитать учебник
2. разобрать примеры экспертов, как в учебнике, так и стандартные, которые идут с терминалом
3. воспользоваться поиском по форуму и найти решение аналогичных задач
И самое главное - писать в ветку для новичков !
ЗЫ если у Вас нет хоть какого-нибудь образования в области программирования - начните оттуда: при наличии знаний в области программирования такие вопросы вообще не возникают - достаточно учебника и хелпа.
А это
Спасибо за ответ, но что-то н получается. Так он вообще не открывает сделки. Я вот пробовал вызвать предыдущий ордер из истории, но так он только одну сделку открывает, а потом все. Может здесь нужно что-то скорректировать?... for(int i=0;i<OrdersHistoryTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true) return; }
показывает то, что учебник Вы даже читать не пытались да и Ваши познания в программировании под вопросом - уважайте чужое время.
Если я правильно понял то что вы хотите сделать (очень схематично):
datetime Time_Handle = 0; bool Status_OrderSend = false; start() { if(iTime(NULL,PERIOD_D1, 0)!=Time_Handle) ) { Time_Handle = iTime(NULL,PERIOD_D1, 0); Status_OrderSend = false; } if(Status_OrderSend==false) { ... int res = -1; res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",SerialNumber,0,Blue) ; if(res!=-1) { Status_OrderSend = true; } } }
0. Изучить правила форума
1. прочитать учебник
2. разобрать примеры экспертов, как в учебнике, так и стандартные, которые идут с терминалом
3. воспользоваться поиском по форуму и найти решение аналогичных задач
И самое главное - писать в ветку для новичков !
ЗЫ если у Вас нет хоть какого-нибудь образования в области программирования - начните оттуда: при наличии знаний в области программирования такие вопросы вообще не возникают - достаточно учебника и хелпа.
А это
показывает то, что учебник Вы даже читать не пытались да и Ваши познания в программировании под вопросом - уважайте чужое время.
А я и не пишу, что я специалист. Поэтому и обращаюсь с такими глупыми вопросами. Поэтому и прошу помочь тех, у кого есть такая возможность. А что касается потраченного времени, то, на мой субъективный взгляд, Вы его потратили намного больше, написав свое истерическое высказывание, нежели могли бы потратить на подсказку по моему вопросу. На чем, собственно, и закончилось бы наше с Вами общение. Но и на этом спасибо.
Хорошего дня!:)
Огромное спасибо за помощь!
Уважаемые специалисты! Помогите, пожалуйста новичку-любителю:) в создании кода для открытия сделки. Что мне нужно дописать, чтоб при данных условиях сделки открывались только при первом сигнале. К примеру не чаще чем раз в сутки. Заранее всем огромное спасибо за помощь.
void CheckForOpen()
{int res;
double high_0=iHigh(NULL,PERIOD_D1,0);
double low_0=iLow(NULL,PERIOD_D1,0);
double high_1=iHigh(NULL,PERIOD_D1,1);
double low_1=iLow(NULL,PERIOD_D1,1);
if(low_1>=low_0)
{
res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"",SerialNumber,0,Red);
return;
}
if(high_0>=high_1)
{
res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",SerialNumber,0,Blue);
return;
}
}
А я и не пишу, что я специалист. Поэтому и обращаюсь с такими глупыми вопросами. Поэтому и прошу помочь тех, у кого есть такая возможность. А что касается потраченного времени, то, на мой субъективный взгляд, Вы его потратили намного больше, написав свое истерическое высказывание, нежели могли бы потратить на подсказку по моему вопросу. На чем, собственно, и закончилось бы наше с Вами общение. Но и на этом спасибо.
Хорошего дня!:)
Если Вы реально хотите чему-либо научиться, то озвученный мной алгоритм действий может привести Вас к цели. Если просто пришли, привлеченные рекламой простоты заработка на FOREX, да еще и в надежде на заработки с помощью роботов, то не тратьте время: шары не будет - это долгая и упорная самостоятельная работа. На этом форуме охотно помогают пытающимся научиться, а то, как это пытаетесь сделать Вы - просто трата времени и своего, и чужого. Если это не понятно было сразу и мне пришлось пояснять - кто Вам доктор ?
Имеющий уши - да услышит, имеющий разум - да поймет.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Уважаемые специалисты! Помогите, пожалуйста новичку-любителю:) в создании кода для открытия сделки. Что мне нужно дописать, чтоб при данных условиях сделки открывались только при первом сигнале. К примеру не чаще чем раз в сутки. Заранее всем огромное спасибо за помощь.
void CheckForOpen()
{int res;
double high_0=iHigh(NULL,PERIOD_D1,0);
double low_0=iLow(NULL,PERIOD_D1,0);
double high_1=iHigh(NULL,PERIOD_D1,1);
double low_1=iLow(NULL,PERIOD_D1,1);
if(low_1>=low_0)
{
res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,"",SerialNumber,0,Red);
return;
}
if(high_0>=high_1)
{
res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"",SerialNumber,0,Blue);
return;
}
}