[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 804
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот код советника. Нужно чтобы:
1) он открывал не одну, а сразу три сделки со стопами 25 и тейками 15, 35, 50
2) после закрытия второго ордера по тейку (35) последняя позиция (с тейком 50) переводилась в безубыток
которые он предоставил во всеобщее пользование Вы не нашли способов решения вашей "проблемы" ?
Поверьте - они там есть и даже предостаточно...
Для начала обучения - самый раз...
А ещё - почитайте этот раздел учебника СК - там хорошо описано как структуировать ваш код и разбить его на логически оформленные блоки кода,
каждый из которых выполняет свою функцию в составе советника...
А то всё в кучу свалили... :)
ИМХО конечно... :)
Есть поза Бай с тикетом 88. Есть отложенный ордер SellStop с тикетом 89
При преобразовании отложенного SellStop в рыночный, тикет рыночного Sell становится тоже 89,
А ВОТ ТИКЕТ ПОЗИЦИИ BUY (88) ПОПАДАЕТ В ИСТОРИЮ!!! Как такое может быть - ведь он же не закрыт и находится в рынке !!!???!!!???!!!???
Т.е. при проверке:
... мне в журнале пишется:
2010.08.15 09:38:52 2009.01.09 19:36 Sergitas_v1.02 EURUSD,M5: Поза Buy с тикетом 88 отошла, блин в мир иной, сволочь!!!, и типчик у неё = 0
А она в это время прекрасно себя в рынке ощущает... !!!!!!!!!!! ?????????
Кто-нить может меня во что-нить носом ткнуть, чтобы я увидел где собака порылась... и как с этим бороться... Третьи сутки уже она меня выводит из себя...
( От того и выражения у меня в журнале тестера покрепче будут, нежели те, что я тут подкорректировал... :)) )
Спасибо...
Очень, блин, интересно девки пляшут... <:-О ...
Есть поза Бай с тикетом 88. Есть отложенный ордер SellStop с тикетом 89
При преобразовании отложенного SellStop в рыночный, тикет рыночного Sell становится тоже 89,
А ВОТ ТИКЕТ ПОЗИЦИИ BUY (88) ПОПАДАЕТ В ИСТОРИЮ!!! Как такое может быть - ведь он же не закрыт и находится в рынке !!!???!!!???!!!???
Т.е. при проверке:
... мне в журнале пишется:
2010.08.15 09:38:52 2009.01.09 19:36 Sergitas_v1.02 EURUSD,M5: Поза Buy с тикетом 88 отошла, блин в мир иной, сволочь!!!, и типчик у неё = 0
А она в это время прекрасно себя в рынке ощущает... !!!!!!!!!!! ?????????
Кто-нить может меня во что-нить носом ткнуть, чтобы я увидел где собака порылась... и как с этим бороться... Третьи сутки уже она меня выводит из себя...
( От того и выражения у меня в журнале тестера покрепче будут, нежели те, что я тут подкорректировал... :)) )
Спасибо...
Тестор безупречен!
Как и весь код и юсабилити MetaQuotes Software Corp ...
Иначе бан.
Криворукость ищите в МикроПрограммах и у себя!
;)
Чё-то я в Барабашек уже начинаю верить...
Позиция Buy закрылась ни с того ни с сего на уровне ТейкПрофит уже закрытой позы Sell:
Ведь стопа-то НЕТУ у позиции Buy, а она бац!... и закрылась и так
интересненько - прямо на уровне тейка уже закрытой позы Sell ...
Похоже... у меня в квартире нежить появилась... или спать больше нуно... :)
Кто-нить сталкивался с таким безобразием?
Спасибо...
Тестор безупречен!
Как и весь код и юсабилити MetaQuotes Software Corp ...
Иначе бан.
Криворукость ищите в МикроПрограммах и у себя!
;)
Содержательнейший ответ... Низкий поклон... Кланяюсь и кривыми руками горшки с полок роняю... Осколками не забрызгало??? ;)
нет конечно - Божья роса! $)
а ведь вы только в начале пути...
;)
Очень, блин, интересно девки пляшут... <:-О ...
Есть поза Бай с тикетом 88. Есть отложенный ордер SellStop с тикетом 89
При преобразовании отложенного SellStop в рыночный, тикет рыночного Sell становится тоже 89,
А ВОТ ТИКЕТ ПОЗИЦИИ BUY (88) ПОПАДАЕТ В ИСТОРИЮ!!! Как такое может быть - ведь он же не закрыт и находится в рынке !!!???!!!???!!!???
Т.е. при проверке:
... мне в журнале пишется:
2010.08.15 09:38:52 2009.01.09 19:36 Sergitas_v1.02 EURUSD,M5: Поза Buy с тикетом 88 отошла, блин в мир иной, сволочь!!!, и типчик у неё = 0
А она в это время прекрасно себя в рынке ощущает... !!!!!!!!!!! ?????????
Кто-нить может меня во что-нить носом ткнуть, чтобы я увидел где собака порылась... и как с этим бороться... Третьи сутки уже она меня выводит из себя...
( От того и выражения у меня в журнале тестера покрепче будут, нежели те, что я тут подкорректировал... :)) )
Спасибо...
Могу Вам предложить внимательно прочитать описание функции OrderSelect().
Параметр pool игнорируется, если ордер выбирается по номеру тикета
Чё-то я в Барабашек уже начинаю верить...
Позиция Buy закрылась ни с того ни с сего на уровне ТейкПрофит уже закрытой позы Sell:
Ведь стопа-то НЕТУ у позиции Buy, а она бац!... и закрылась и так
интересненько - прямо на уровне тейка уже закрытой позы Sell ...
Похоже... у меня в квартире нежить появилась... или спать больше нуно... :)
Кто-нить сталкивался с таким безобразием?
Спасибо...
Сложно сказать что у Вас там изображено. Лично я не вижу чтобы "Позиция Buy закрылась ни с того ни с сего на уровне ТейкПрофит уже закрытой позы Sell". Тот Sell, под которым стрелка нарисована, вроде как никаких пунктирчиков исходящих не содержит.
У Вас в коде OrderCloseBy() не используется?
double seredina=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0);//Вычисляем индикатор верх линия//
double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,2,0);//Вычисляем индикатор нижн линия //
//---------------------------------------------------------------------------------------------------------------//
double slb,tpb,sls,tps; //Вводим переменные для стоп лоссов и тейк профита//
//Функция провепяет наличие ордеров// // //
// //
slb=NormalizeDouble(Ask - (Loss*Point),Digits) ; //расчёт стопа для бай позиций//
tpb=NormalizeDouble(Ask + (Profit*Point),Digits); //расчёт профита для бай позиций//////////
sls=NormalizeDouble(Bid + (Loss*Point),Digits) ; //расчёт стопа для селл позиций//
tps=NormalizeDouble(Bid - (Profit*Point),Digits);
if(OrdersTotal()==0)
{
if(((verhB-nizB)<=Delta)&&(Ask==seredina))
tick =OrderSend(Symbol(),4,Lots,NormalizeDouble(Ask+Raznica*Point,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE); //Вход на бай//
if(tick<0) Print("Ошибка № - ",GetLastError());
tick2=OrderSend(Symbol(),5,Lots,NormalizeDouble(Bid-Raznica*Point,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE); //Вход сел //
if(tick2<0) Print("Ошибка № - ",GetLastError()); //пишет ошибку//
} // // // //
return(0);}
Скажите в чём ошибка открвает только сел .
Смысл советника в том что бы выставлять два отложенника при определённом расстоянии верхней и нижней линии болинжера
и какая ошибка ?
возможно, это происходит из-за того, что значение переменной Raznica близко с значению стоплевела
и/или разница Raznica - Profit (Raznica - Loss) также близки к значению стоплевела..
кроме того, если нормализуете, то нормализуйте все.. и корректно вычисляйте уровни стопов
slb=NormalizeDouble(Bid - (Loss*Point),Digits) ; //расчёт стопа для бай позиций//
sls=NormalizeDouble(Ask + (Loss*Point),Digits) ; //расчёт стопа для селл позиций//
кроме того полученные значения стопов нужно проверять на не попадание в зону стоплевела/фризлевела