Вот посмотрите у меня все работает:
int init() { //---- double Summa,a; for(int i=4;i>=0;i--) { if (Open[i]<Close[i]) a=(Open[i]-Low[i])+(High[i]-Low[i])+(High[i]-Close[i]); else a=(High[i]-Open[i])+(High[i]-Low[i])+(Close[i]-Low[i]); Print("a=",a); Summa=Summa+a; } Print("Summa=",Summa); //---- return(0); }
Mike:
Спасибо огромное,братишка Майк!:) Будь добр,посоветуй чё-нить
по первому моему вопросу...Мне нужно чтобы этот кусок работал
с каждым новым тиком,но не получается.Вставляю его в start,но не
работает.Или может вообще нельзя так сделать?...
Вот посмотрите у меня все работает:
int init() { //---- double Summa,a; for(int i=4;i>=0;i--) { if (Open[i]<Close[i]) a=(Open[i]-Low[i])+(High[i]-Low[i])+(High[i]-Close[i]); else a=(High[i]-Open[i])+(High[i]-Low[i])+(Close[i]-Low[i]); Print("a=",a); Summa=Summa+a; } Print("Summa=",Summa); //---- return(0); }
bundes писал (а):
Mike:
Спасибо огромное,братишка Майк!:) Будь добр,посоветуй чё-нить
по первому моему вопросу...Мне нужно чтобы этот кусок работал
с каждым новым тиком,но не получается.Вставляю его в start,но не
работает.Или может вообще нельзя так сделать?...Вот посмотрите у меня все работает:
int init() { //---- double Summa,a; for(int i=4;i>=0;i--) { if (Open[i]<Close[i]) a=(Open[i]-Low[i])+(High[i]-Low[i])+(High[i]-Close[i]); else a=(High[i]-Open[i])+(High[i]-Low[i])+(Close[i]-Low[i]); Print("a=",a); Summa=Summa+a; } Print("Summa=",Summa); //---- return(0); }
Все работает вот смотри:
//+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- double Summa,a; for(int i=4;i>=0;i--) { if (Open[i]<Close[i]) a=(Open[i]-Low[i])+(High[i]-Low[i])+(High[i]-Close[i]); else a=(High[i]-Open[i])+(High[i]-Low[i])+(Close[i]-Low[i]); Print("a=",a); Summa=Summa+a; } Print("Summa=",Summa); //---- return(0); }
Нет,Майк,не получаецца..Не пашет.Скажи,когда я создавал советник, там нужно было вместе с названием советника,именем автора вводить внешние параметры.Я их не вводил.Может изза этого не работает?
Вот советник целиком.Первые пять строчек написаны от балды.Может быть ниже
чего-то не хватает и поэтому не работает?
//+------------------------------------------------------------------+
//| Bundes.mq4 |
//| GOSHA |
//| http://www.gosha.ru |
//+------------------------------------------------------------------+
#property copyright "GOSHA"
#property link "http://www.gosha.ru"
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double Summa,a;
for(int i=4;i>=0;i--)
{
if (Open[i]<Close[i]) a=(Open[i]-Low[i])+(High[i]-Low[i])+(High[i]-Close[i]);
else a=(High[i]-Open[i])+(High[i]-Low[i])+(Close[i]-Low[i]);
Print("a=",a);
Summa=Summa+a;
}
Print("Summa=",Summa);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Bundes.mq4 |
//| GOSHA |
//| http://www.gosha.ru |
//+------------------------------------------------------------------+
#property copyright "GOSHA"
#property link "http://www.gosha.ru"
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
double Summa,a;
for(int i=4;i>=0;i--)
{
if (Open[i]<Close[i]) a=(Open[i]-Low[i])+(High[i]-Low[i])+(High[i]-Close[i]);
else a=(High[i]-Open[i])+(High[i]-Low[i])+(Close[i]-Low[i]);
Print("a=",a);
Summa=Summa+a;
}
Print("Summa=",Summa);
//----
return(0);
}
Мой друг я скопировал твой код и все работает. Быть может ты не ствиш галочку разрешить эксперту торговать?
Mike:
Мой друг я скопировал твой код и все работает. Быть может ты не ствиш галочку разрешить эксперту торговать?
Ставлю,Майк,ставлю.Уже все варианты с галками перепробывал))Не печатает советник результат кода в журнал,а когда в init вставлял - печатает.Я занимаюсь программированием 3 день,мне простительно не знать.Может у тебя другая программа?У меня MetaTrader 4.
Где ты скачал свой терминал?
А вообще советники разрешены?
Такая реакция бывает когда стоит общий запрет на работу советников. Init работает всегда, а Start только если советники разрешены.
Такая реакция бывает когда стоит общий запрет на работу советников. Init работает всегда, а Start только если советники разрешены.
bundes:
Ставлю,Майк,ставлю.Уже все варианты с галками перепробывал))Не печатает советник результат кода в журнал,а когда в init вставлял - печатает.Я занимаюсь программированием 3 день,мне простительно не знать.Может у тебя другая программа?У меня MetaTrader 4.
Где ты скачал свой терминал?
Mike:
Мой друг я скопировал твой код и все работает. Быть может ты не ствиш галочку разрешить эксперту торговать?
Ставлю,Майк,ставлю.Уже все варианты с галками перепробывал))Не печатает советник результат кода в журнал,а когда в init вставлял - печатает.Я занимаюсь программированием 3 день,мне простительно не знать.Может у тебя другая программа?У меня MetaTrader 4.
Где ты скачал свой терминал?
Я практически уверен что ты накосячил с разрешением экспертов работать. Посмотри поподробнее.
БРАТЦЫ,РАБОТАЕТ!!!ЦЕЛУЮ ВСЕХ!ДАНКЕ ШЁН!!!))))
Майк,ещё маленький вопрос если можно.Где ты нашёл функцию Summa?Я всю справку в MT4 облазил и не могу её там найти,чтоб изучить.. .Заранее спасибо..
Майк,ещё маленький вопрос если можно.Где ты нашёл функцию Summa?Я всю справку в MT4 облазил и не могу её там найти,чтоб изучить.. .Заранее спасибо..
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот этот кусок:
{double a=0;
for(int i=4;i>=0;i--)
{
if (Open[i]<Close[i]) a=(Open[i]-Low[i])+(High[i]-Low[i])+(High[i]-Close[i]);
else a=(High[i]-Open[i])+(High[i]-Low[i])+(Close[i]-Low[i]);
Print("a=",a);
}
}
И ещё маленький вопрос: как мне по-быстрому,не загромоздив программу, сложить 5 полученных значений a?Посоветуйте,если можете.Спасибо.