Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Скачай MetaTrader 5 и начни торговать уже сегодня!
George
76
George 2009.04.01 22:27 

Я начинающий программист на MQL4/

Прошу по силе и возможности помочь мне разобраться в нюансах синтаксиса MQL4 или увидеть ошибку в написании определенного эксперта. Дело в том, что приклепленный к данному сообщению разрабатываемый мною эксперт точно по алгоритау выполнят действия 1, 2 и 3, а вот действия 4 и 5 не выполняет. Уже целую неделю потратил на проработку различного рода комбинации с кодом, прочитал уйму литературы, а так и не смог добиться, чтобы функции и операторы в пп. 4 и 5 заработали. Прошу пожа-а-а-луйста помочь не потерять надежду на успех, а то "чайник" уже "кипит", а результата нет, просто руки опускаются от безисходности. Заранее премного благодарен!!!!

Файлы:
robot.txt 6 kb
Левитин Сергей В.
5161
Левитин Сергей В. 2009.04.01 22:37  
logomoris писал(а) >>

//+------------------------------------------------------------------+ //| Robot.mq4 | //+------------------------------------------------------------------+ //-------------------------------------------------------------------+ extern double StopLoss =17; //SL ордера extern double TakeProfit =15; //TP ордера extern double Lots =0.01; //стоимость ордера //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() //Открытие функции int start() { int total=OrdersTotal(); //Определение переменной количества открытых ордеров if(total<1) //Условие: отсутствуют отложенные и открытые ордера { int order1=OrderSend(Symbol(), OP_SELLLIMIT, Lots, Ask+10*Point,3, Ask+(StopLoss+10)*Point, Ask-(TakeProfit-10)*Point); //Открытие ордера order1: SELLLIMIT int order2=OrderSend(Symbol(), OP_BUYLIMIT, Lots, Ask-10*Point,3, Ask-(StopLoss+10)*Point,

Вы думаете в этой каше возникнет желание у кого-нибудь возиться?) Прикрепите MQ4 файл или поместите код прямо в форум через кнопку SRC

Илья
2546
Илья 2009.04.01 22:55  
На декомпил похоже по качеству текста.
Константин
272
Константин 2009.04.02 01:26  
  попрбуй так 
if(OrderSelect(order1, SELECT_BY_TICKET, MODE_TRADES)==true)
double cena1=OrderOpenPrice();
и т.д.
George
76
George 2009.04.02 08:50  
Figar0 писал(а) >>

Вы думаете в этой каше возникнет желание у кого-нибудь возиться?) Прикрепите MQ4 файл или поместите код прямо в форум через кнопку SRC

Прошу прощение, документ был в формате .txt, формировался он в обычном блакноте, где "_ " и Enter сохраняются, единственное, я не выставлял перенос по строкам, так уж вышло. Высылаю MQ4.

Файлы:
robot2.mq4 6 kb
George
76
George 2009.04.02 08:54  
-star- писал(а) >>

Спасибо за совет, но модификация ордеров (пп. 4,5) при наступленни заданных условий все равно не происходит??

Rustamzhan Salidzhanov
7680
Rustamzhan Salidzhanov 2009.04.02 09:01  

А вы ретурны лишние уберите...

George
76
George 2009.04.02 10:07  
xrust писал(а) >>

А вы ретурны лишние уберите...

Простите, не понимаю сленга, что такое ретурны?

Dmitry Fedoseev
42636
Dmitry Fedoseev 2009.04.02 10:20  

Все такие добрые, заботливые, помогают. А слабо сказать - что это полный бред, его надо выкинуть и забыть про него. Тикеты в простых переменных и даже для отложенных ордеров...

Возьмите, для начала, например советник Moving Average, посмотрите как он устроен.

Левитин Сергей В.
5161
Левитин Сергей В. 2009.04.02 10:32  
logomoris писал(а) >>

Я начинающий программист на MQL4/

Прошу по силе и возможности помочь мне разобраться в нюансах синтаксиса MQL4 или увидеть ошибку в написании определенного эксперта. Дело в том, что приклепленный к данному сообщению разрабатываемый мною эксперт точно по алгоритау выполнят действия 1, 2 и 3, а вот действия 4 и 5 не выполняет. Уже целую неделю потратил на проработку различного рода комбинации с кодом, прочитал уйму литературы, а так и не смог добиться, чтобы функции и операторы в пп. 4 и 5 заработали. Прошу пожа-а-а-луйста помочь не потерять надежду на успех, а то "чайник" уже "кипит", а результата нет, просто руки опускаются от безисходности. Заранее премного благодарен!!!!

Код конечно не очень... Ошибок мого. Смотрите:

1 - выставление лимит ордеров, 2, 3 - выставление стоп ордеров, это "нормально" работает, при этом запоминаются номера тикетов, для того что бы потом иметь доступ к этим ордерам. Но они запоминаются в ЛОКАЛЬНЫХ переменных функции старт, и при следующем тике, а соответственно новом запуске функции Start они в лучшем случее нулевые, и выбрать ордер для модификации по этим тикетам с помощью OrderSelect невозможно. Результат - 4 и 5 не работают.

George
76
George 2009.04.02 10:36  
Integer писал(а) >>

Все такие добрые, заботливые, помогают. А слабо сказать - что это полный бред, его надо выкинуть и забыть про него. Тикеты в простых переменных и даже для отложенных ордеров...

Возьмите, для начала, например советник Moving Average, посмотрите как он устроен.

А в чем именно бред? Я уже кучу пересмотрел советников, но мне нужен советник с моим алгоритмом. И, подскажите, про какие "тикеты" в простых переменных вы говорите?

/ /1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий