Помогите написать советник - страница 2

 
Scripter:

да я не прошу чтобы за меня писали, хочется дельного совета с помощью каких функций это всё можно реализовать, а дальше я сам напишу.

Так я ж Вам и пишу какие функции Вам нужно написать.

Начинаем сначала: Вы в состоянии найти в описании языка, учебнике какие функции открывают ордера ?

 
ну да
OrderSend() // открывает
 
Scripter:
ну да
Отлично - Хэлп посмотрели ? Что там за параметры, за что отвечают понятно ? Если не все параметры понятны - обратите внимание на учебник: там все очень подробно расписано.
 
да, понятно
 
Scripter:
да, понятно
Ок попробуйте теперь написать вызов функции, которая откроет ордер в нужном направлении - например, на BUY. Считаем, что само направление открытия мы знаем - то есть мы его вычислили по каким-то критериям. Также знаем объем, стопы и уровень снятия прибыли. Пусть сначала открываемся по рынку.
 
VladislavVG:
Ок попробуйте теперь написать вызов функции, которая откроет ордер в нужном направлении - например, на BUY. Считаем, что само направление открытия мы знаем - то есть мы его вычислили по каким-то критериям. Также знаем объем, стопы и уровень снятия прибыли. Пусть сначала открываемся по рынку.


Наконецто написал что хотел, не подскажите как модифицировать первый ордер чтобы стоп лосс и профит передвинуть но только когда открыт второй ордер?

int start(){
if (OrdersTotal()==0){
if (NormalizeDouble(Bid-20*Point,Digits) <= NormalizeDouble(Bid,Digits))
OrderSend(Symbol(),OP_SELL,LotOne,Bid,3,Bid+StopLossOne*Point,Bid-100*Point,"",14774,0,Red);
OrdOne=1; PriceOrdOne=OrderOpenPrice();}

if (OrdersTotal()==1){
if (NormalizeDouble(PriceOrdOne+DistOne*Point,Digits) >= NormalizeDouble(PriceOrdOne,Digits) && OrdOne==1)
OrderSend(Symbol(),OP_BUY,LotTwo,Ask,3,Ask-StopLossTwo*Point,Ask+100*Point,"",14774,0,Blue);
OrdOne=0; OrdTwo=1; PriceOrdTwo=Ask;}
 
   return(0); 
}
 
Scripter:


Наконецто написал что хотел, не подскажите как модифицировать первый ордер чтобы стоп лосс и профит передвинуть но только когда открыт второй ордер?

Можно узнать: у Вас какой опыт в программировании ? Именно в информатике (или как там сейчас называется составление алгоритмов) - знание языка дело вторичное.

Ордера модифицируются функцией OrderModify() .

Думаю, Вам лучше начать с учебника и разбора примеров - там все очень подробно расписано. Если для реала, то обязательно анализировать ошибки, лучше проверить какое значение вернула ф. ОрдерСенд: ордер мог и не выставится .... там много нюансов...

Причина обращения: