Возможно и ДЦ - на демо вот гоняю ошибок нет, на реал поставил опять ордер не открылся, пишет ошибка!
Просто другие советники работает нормально а этот периодически дает ошибку, что еще может быть???
- проверьте все строковые переменные в программе, чтобы явно задавалось начальное значение. Ошибка эта возникает, скорее всего, когда неинициализированная строка попадает в какую-то функцию в качестве параметра. - сделайте распечатку значений строковых переменных (вместе с номером строки программы, для удобства) и значения GetLastError() перед вызовом таких функций.
double Red_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_TENKANSEN,1); // красная линия double Blue_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_KIJUNSEN,1); // синяя линия double UpO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,1); // верхняя граница облака double DounO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,1); // нижняя граница облака if(Volume[0]>1) return;
// продажаif (Open[1]>Close[1] && Close[1] < DounO && Open[1]>DounO && Close[1] < Red_Line && Close[1] < Blue_Line) // продажа
{
Price = NormalizeDouble(Bid, Digits); // округляем до нужного нам числа цифр после запятойif(StopLoss >= STOPLEVEL)
if(StopLoss > 0)
{
SL = Price - StopLoss*Point; // вычисляем стоплос
SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
}
else SL = 0;
if(TakeProfit > 0)
{
TP = Price - TakeProfit*Point;
TP = NormalizeDouble(TP, Digits);
}
else TP = 0;
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"Pattern_1",Magic,0,Red);
return;
}
}
//---- buy conditions// покупкаif (Open[1]<Close[1] && Close[1] > UpO && Open[1] < UpO && Close[1] > Red_Line && Close[1] > Blue_Line) // bay
{
Price = NormalizeDouble(Ask, Digits); // округляем до нужного нам числа цифр после запятойif(StopLoss >= STOPLEVEL)
if(StopLoss > 0)
{
SL = Price - StopLoss*Point; // вычисляем стоплос
SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
}
else SL = 0;
if(TakeProfit > 0)
{
TP = Price + TakeProfit*Point; // вычисляем тейкпрофит
TP = NormalizeDouble(TP, Digits); // округляем до нужного нам числа цифр после запятой
}
else TP = 0;
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP,"Pattern_1",Magic,0,Blue);
return;
}
}
}
Уважаемые форумчане, никак не могу разобрать индикатор Ишимоку. Набросал небольшой советник на его основе, открываются только сделки на бай, на селл сделки вообще не открываются. Скорее всего это связано с тем, что облако переворачивается, да к тому же неверно определил условия входа в сделку.
На рисунке показано красной стрелочкой вниз, где должна открыться сделка на продажу и красной стрелочкой вверх, где должна открыться сделка на покупку. Совершенная сделка на покупку, открылась с неправильным входом (по идее ее там бять не должно)
Если ошибка возникает периодически, может это Ваш ДЦ приписывает к строке что то непотребное. ДЦ может и имеет право.
У меня вон чего приписывает
Возможно и ДЦ - на демо вот гоняю ошибок нет, на реал поставил опять ордер не открылся, пишет ошибка!
Просто другие советники работает нормально а этот периодически дает ошибку, что еще может быть???
Возможно и ДЦ - на демо вот гоняю ошибок нет, на реал поставил опять ордер не открылся, пишет ошибка!
Просто другие советники работает нормально а этот периодически дает ошибку, что еще может быть???
- проверьте все строковые переменные в программе, чтобы явно задавалось начальное значение. Ошибка эта возникает, скорее всего, когда неинициализированная строка попадает в какую-то функцию в качестве параметра.
- сделайте распечатку значений строковых переменных (вместе с номером строки программы, для удобства) и значения GetLastError() перед вызовом таких функций.
почему не работает Безубыток?
Объявлено extern int BULevel = 80;
В старте if (BULevel!=0) BU();
Уважаемые форумчане, подскажите,
почему не работает Безубыток?
Объявлено extern int BULevel = 80;
В старте if (BULevel!=0) BU();
BULevel*PointУважаемые форумчане, никак не могу разобрать индикатор Ишимоку. Набросал небольшой советник на его основе, открываются только сделки на бай, на селл сделки вообще не открываются. Скорее всего это связано с тем, что облако переворачивается, да к тому же неверно определил условия входа в сделку.
На рисунке показано красной стрелочкой вниз, где должна открыться сделка на продажу и красной стрелочкой вверх, где должна открыться сделка на покупку. Совершенная сделка на покупку, открылась с неправильным входом (по идее ее там бять не должно)
Можно ли определить время срабатывания отложенного ордера без перебора пересечения цены ордера?
В моем понимании, когда отложка исполняется она превращается в OP_BUY или OP_SELL, (или ето не так?)
если в комент (меджик) забить инфу про тип ордера и сравнивать каждый раз изменился ли он на значение 0 или 1 то можно узнать время срабатывания,
но метод как-то туг в виду нужности постоянного соединение и в целом, надеюсь есть что-то проще))
В моем понимании, когда отложка исполняется она превращается в OP_BUY или OP_SELL, (или ето не так?)
если в комент (меджик) забить инфу про тип ордера и сравнивать каждый раз изменился он на значение 0 или 1 то можно узнать время срабатывания,
но метод как-то туг в виду нужности постоянного соединение и в целом, надеюсь есть что-то проще))
Да, спасибо, до этого варианта я додумался, а вот как быть на реале?)
Можно ли определить время срабатывания отложенного ордера без перебора пересечения цены ордера?
datetime OrderOpenTime( )Да, спасибо, до этого варианта я додумался, а вот как быть на реале?)
писать номер тикета. и его состояние... если изменился то ордер опен прайс... зачем магику прописывать не свойственное или в коменты пхать всякое...
в файлик скидывать историю. открыт закрыт... или вообще просто листать хистори...