нужна помощь опытных трейдеров в советнике

 

Нужен совет что неправильно в советнике....в голову не приходит что не так написал...советник простой до ужаса....но почему в тестере не проганяется...заранее спасибо


extern double TakeProfit=30;

extern double StopLoss=30;

extern double dailytr=00.10;

extern double lots=0.01;

// Функция start

int start()

{

double Cur_Hour=Hour();

double Cur_Min =Minute();

double Cur_time=Cur_Hour + Cur_Min;

if(OrdersTotal()>0);

return;

if(Cur_time>dailytr);

return;

{

if(Close[1]>Open[1])

OrderSend(Symbol(), OP_SELL, lots, bid, 3, ask+StopLoss*Point, ask-TakeProfit*Point);

if(Close[1]<Open[1])

OrderSend(Symbol(), OP_BUY, lots, ask, 3, bid-StopLoss*Point, bid+TakeProfit*Point);

}

return;

}

 
bountyhunter:

Нужен совет что неправильно в советнике....в голову не приходит что не так написал...советник простой до ужаса....но почему в тестере не проганяется...заранее спасибо

extern double dailytr=00.10;

int Cur_Hour=Hour();

double Cur_Min =Minute();

double Cur_time=Cur_Hour + Cur_Min;

if(Cur_time>dailytr);

return;

это вы так полночь ловите?


if(OrdersTotal()>0);

return;

здесь (да и далее) ошибка - лишняя ; после if

получается вы проверяете условие и если оно верно, то выполняете оператор ";"

после чего (всегда!) выполняется return

 
bountyhunter:

Нужен совет что неправильно в советнике....в голову не приходит что не так написал...советник простой до ужаса....но почему в тестере не проганяется...заранее спасибо

/* Для вставки кода есть кнопочка SRC */


Кстати, вопросик возник. Нt подскажете что это

if(Cur_time>dailytr);

Может что-то пропустил. Хотя ничего страшного. Условие всегда истинно и после него идет пустой оператор.

Значит следующий оператор, он как раз return завершает выполнение советника. Дальнейший код никогда не выполняется

 
а как написать так что бы при работе советника с 00.00 до 00.10 он совершал сделку на покупку или на продажу в зависимости от того какого цвета была предыдущая свеча...но при етом больше одной сделки мы не держим....допустим я захожу в 00.04 советник включается смотрит на предыдущий день и делает допустим продажу...и после етого уже не торгует до след 00.00...не могу понять просто Конструктор кучу ошибок выдвигает я почти все убрал и теперь вабще не могу понять ничего...
 
Vinin:


Кстати, вопросик возник. Нt подскажете что это

Может что-то пропустил. Хотя ничего страшного. Условие всегда истинно и после него идет пустой оператор.

Значит следующий оператор, он как раз return завершает выполнение советника. Дальнейший код никогда не выполняется


ето типо если текущее время больше чем 00.10 то он не торгует
 
bountyhunter:
а как написать так что бы при работе советника с 00.00 до 00.10 он совершал сделку на покупку или на продажу в зависимости от того какого цвета была предыдущая свеча...но при етом больше одной сделки мы не держим....допустим я захожу в 00.04 советник включается смотрит на предыдущий день и делает допустим продажу...и после етого уже не торгует до след 00.00...не могу понять просто Конструктор кучу ошибок выдвигает я почти все убрал и теперь вабще не могу понять ничего...

Какой конструктор?
 
bountyhunter:

ето типо если текущее время больше чем 00.10 то он не торгует

Время типа int, но не как ни double
 
Vinin:

Время типа int, но не как ни double


а почему не double там же есть значение после точки или double ето только запятая

 
Vinin:

Какой конструктор?

metaeditor
 
Vinin:


Кстати, вопросик возник. Нt подскажете что это

Может что-то пропустил. Хотя ничего страшного. Условие всегда истинно и после него идет пустой оператор.

Значит следующий оператор, он как раз return завершает выполнение советника. Дальнейший код никогда не выполняется


а почему условие всегда истинно?
 
bountyhunter:

а почему условие всегда истинно?


Про время

datetime Time[]
Массив-таймсерия, содержащий время открытия каждого бара текущего графика. Данные типа datetime представляют собой время в секундах, прошедшее с 00:00 1 января 1970 года.



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