Мой первый робот не так ....

 

Всем привет, написал первого робота в качестве обучения, но не могу понять где ошибка... Затея в том что бы присоединиться к движению по МАКД?, если есть желание помогите новичку.

//+------------------------------------------------------------------+

//| 1.mq4 и |

//| Авторского Права 2016, Компании Metaquotes |

//| https://www.mql5.com |

//+------------------------------------------------------------------+

#собственность авторское право "Авторское право 2016, компании metaquotes"

#недвижимость ссылку "https://www.mql5.com"

#недвижимость версия "1.00"

#недвижимость строгий


экстерн двойной Лот =0.01;

экстерн двойной сл = 30;

экстерн двухместный ТП = 30;

экстерн Тип int проскальзывание =3;

экстерн инт Магия =1111;


//+------------------------------------------------------------------+

//| Функция инициализации эксперта |

//+------------------------------------------------------------------+

int в функции oninit()

  {

   

   


   

//---

возвращение(INIT_SUCCEEDED);

  }

//+------------------------------------------------------------------+

//| Функция деинициализации эксперта |

//+------------------------------------------------------------------+

пустоту функции ondeinit(const и инт причина)

  {

//---

   

  }

//+------------------------------------------------------------------+

//| Эксперт тика функции |

//+------------------------------------------------------------------+

пустота OnTick()


  {

//индикатор..

двойной macd1 =например, imacd(NULL,то 0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);

двойной macd2 =например, imacd(NULL,то 0,12,26,9,PRICE_CLOSE,MODE_MAIN,2);

двойной macd3 =например, imacd(NULL,то 0,12,26,9,PRICE_CLOSE,MODE_MAIN,3);

   

   

{ если

      

(macd3 >0 && macd2<macd3 && macd1>macd2 ); //Покупка..

OrderSend( символ(),OP_BUY, Лот, задать проскальзывание, задать-сл*точки, задать+ТП*точка, нуль, Магия, 0,синий);

    }   

{ если

      

  

(macd3 <0 && macd2>macd3 && macd1<macd2 ); //Продажа..

OrderSend( символ(),OP_SELL, Лот, ставка, проскальзывание, ставка+сл*точка, ставка-ТР*точка, нуль, Магия, 0,Красный);

      }

   }  

  

    

//+------------------------------------------------------------------+

 

>macd2 );

зачем ";"?

 

И проверку количества ордеров добавь

 
eevviill:

>macd2 );

зачем ";"?

 

И проверку количества ордеров добавь

eevviill:

>macd2 );

зачем ";"?

 

И проверку количества ордеров добавь

По моей задумке эксперт сравнивает где находится индикатор (выше или ниже относительно линии 0), при покупке ждет откат и присоединяется к движению. Для этого сравнивает macd1,2,3... и наоборот для продажи.. Я бы не хотел ограничивать одним открытым ордером и каждый раз при выполнении условий хотелось иметь открытую сделку, а вместо этого я что-то напутал и выходит совсем не по плану... HELP me

 
Shant82:

Зачем 3 макд?

При таком объяснении и коде(не весь код) помочь никто не сможет. 

 
eevviill:

Зачем 3 макд?

При таком объяснении и коде(не весь код) помочь никто не сможет. 

Видимо в этом и есть моя проблема, моих объяснений не может понять не только машина, но и человек.

Попробую еще раз: Если MACD находится выше нулевой линии сов дождется снижения гистограммы и откроет ордер на покупку как только последний столбик гистограммы станет выше. При этом откат не должен пересекать нулевую линию. И зеркально на продажу.. И, да может я написал не правильно, ( по поводу трех macd) , индикатор один, а хотелось бы сравнить гистограмму... если я правильно подумал, то под сдвигом 0 -гистограмма еще изменяется под воздействием колебаний цены, под сдвигом 1 -только что закрылась,..... или не правильно? 

 
Shant82:

Видимо в этом и есть моя проблема, моих объяснений не может понять не только машина, но и человек.

Попробую еще раз: Если MACD находится выше нулевой линии сов дождется снижения гистограммы и откроет ордер на покупку как только последний столбик гистограммы станет выше. При этом откат не должен пересекать нулевую линию. И зеркально на продажу.. И, да может я написал не правильно, ( по поводу трех macd) , индикатор один, а хотелось бы сравнить гистограмму... если я правильно подумал, то под сдвигом 0 -гистограмма еще изменяется под воздействием колебаний цены, под сдвигом 1 -только что закрылась,..... или не правильно? 

А нормальный код где?
 
eevviill:
А нормальный код где?
Судя по всему нормальный (или весь код) выложен в другой ветке. И даже без перевода
 
Народ!!! Да вы о чем??? Какой нормальный код и где выложен??? Пытаюсь простого сова написать, тем более впервые!! Хотел спросить что не так пишу.. Где ошибка и что не так.. При компиляции выдает два предупреждения и на тесте открывает сделки не так как задумано и все. А о чем вы пишите вообще не пойму.. До начала апреля еще далеко  и трелить новичков рановато.
 

Просто там большей частью совершенная ерунда написана.

По-русски допустимо писать только комментарии. Например:

// Это комментарий.

Вместо

#собственность авторское право "Авторское право 2016, компании metaquotes"
#недвижимость ссылку "https://www.mql5.com"
#недвижимость версия "1.00"
#недвижимость строгий

 должно быть

#property copyright "Copyright © 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict

и так далее.

Поэтому в этой ерунде никто и не хочет разбираться.

Код настоятельно рекомендуется вставлять как показано выше (кнопка SRC на панели).

 
Y.A.K._:

Просто там большей частью совершенная ерунда написана.

По-русски допустимо писать только комментарии. Например:

...

Это к Гуглю претензии что переводчик херовый ))))