помогите найти ошибку

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

//+------------------------------------------------------------------+
//| 2.mq4 |
//| Copyright © 2005, George-on-Don |
//| http://www.forex.aaanet.ru |
//+------------------------------------------------------------------+
#include <stdlib.mqh>
#include <stderror.mqh>
extern double Lots = 1;
extern int StopLoss = 50;
extern int TakeProfit = 100;
//=========================================================
int start()
{
int res; double SL; double TP;
//=========================================================
double Price = 0;
int Object = ObjectsTotal();
for (int i = 0; i < Object; i++)
{
string Name = ObjectName(i);
if (ObjectType(Name) == OBJ_HLINE)
{ Price = ObjectGet(Name,OBJPROP_PRICE1);
if (Price == Ask) return(Price);}
}
//================= ПОКУПКА ===============================
if(Ask > Price && Open[0]< Price && OrdersTotal() < 2)
{SL = Bid-StopLoss*Point; TP = Ask+TakeProfit*Point;
res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"",0,Blue);
if (res != -1)return;}
//================ ПРОДАЖА ================================
if(Bid < Price && Open[0]> Price && OrdersTotal() < 2)
{SL = Ask+StopLoss*Point; TP = Bid-TakeProfit*Point;
res=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"",0,Red);
if ( res != -1) return;}
}
 
Скорее всего ты лопухнулся здесь:
for (int i = 0; i < Object; i++)
{
string Name = ObjectName(i);
if (ObjectType(Name) == OBJ_HLINE)
{ Price = ObjectGet(Name,OBJPROP_PRICE1); 
if (Price == Ask) return(Price);}
} 


Преждевременный выход из оператора for осуществляется посредством управляющей команды break, а не return. Сейчас он у тебя тупо перебирает все линии и назначает Price последнюю.

 
СПАСИБО.
Причина обращения: