Есть алгоритм, назовем его алгоритм 1, он плавает у безубытка что уже хорошо) Берет ТП=10, СЛ=20. Но обнаружилось новое условие, при котором этот алгоритм 1 может брать уже
Так ты вроде уже все сформулировал и воплотил в коде. Какие вопросы еще могут быть!
extern bool Trade = true; extern int SL = 20; extern int TP = 10; extern int SL2 = 20; extern int TP2 = 40; if (алгоритм 1) { if (новое условие) { OrderSend(Symbol(),OP_BUY,Lots(),Bid,Slippage,Bid+SL2*Point,Bid-TP2*Point,"EA"+Symbol(),Magic,0,Red); } else { OrderSend(Symbol(),OP_BUY,Lots(),Bid,Slippage,Bid+SL*Point,Bid-TP*Point,"EA"+Symbol(),Magic,0,Red); } } Sleep(500); RefreshRates(); }
а если if (новое условие) поставить впереди конструкции, то торгует только по новому условию, то есть намного реже, а надо продолжать торговать по старому, но при появлении нового условия увеличивать тейк, раз есть такая возможность
Тут можно помочь, только если видеть реальный код. Так как ошибка в реализации.
В данном случае скорее всего "алгоритм1" уже включает в себя данные подобные "новому условию", по этому торговля по "алгоритму1" будет идти и при "новом условии".
корректнее было бы
if(алгоритм1) if( != новое условие) { ТП=10, СЛ=20. }
if(алгоритм1) if( == новое условие) { ТП=40, СЛ=20. }
В данном случае скорее всего "алгоритм1" уже включает в себя данные подобные "новому условию", по этому торговля по "алгоритму1" будет идти и при "новом условии.
корректнее было бы
if(алгоритм1) if( != новое условие) { ТП=10, СЛ=20. }
if(алгоритм1) if( == новое условие) { ТП=40, СЛ=20. }
а зачем дублировать сущности?
В данном случае скорее всего "алгоритм1" уже включает в себя данные подобные "новому условию", по этому торговля по "алгоритму1" будет идти и при "новом условии.
корректнее было бы
if(алгоритм1) if( != новое условие) { ТП=10, СЛ=20. }
if(алгоритм1) if( == новое условие) { ТП=40, СЛ=20. }
а зачем дублировать сущности?
для полной определенности условия
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть алгоритм, назовем его алгоритм 1, он плавает у безубытка что уже хорошо) Берет ТП=10, СЛ=20. Но обнаружилось новое условие, при котором этот алгоритм 1 может брать уже более грубый тейк и становится чуть ли не классическим, что не может не радовать. При этом новом условии советник может брать ТП=40, СЛ=20 при том же старом алгоритме 1. Есно возникает соблазн сделать так, чтобы в моменты нового условия советник брал эти самые более грубые тейки и стоп-лоссы, обзовем их ТП2 и СЛ2. Дальше я пишу код, которому позавидует любой чайник, дважды повторив алгоритм 1 и Ордер Сенд, но перед вторым добавив новое условие и добавив к ТП и СЛ цифру 2 (в коде для наглядности все так называемые «нововведения» выделил полужирным шрифтом. Ессно это не может быть правильно и советник тупо торгует, как раньше по алгоритму 1. Задача состоит в том, чтобы советник при отсутствии нового условия продолжал торговать, как раньше по первым ТП и СЛ, а как только случается новое условие, торговал по ТП2 и СЛ2.
extern bool Trade = true;
extern int SL = 20;
extern int TP = 10;
extern int SL2 = 20;
extern int TP2 = 40;
if (алгоритм 1)
{
OrderSend(Symbol(),OP_BUY,Lots(),Bid,Slippage,Bid+SL*Point,Bid-TP*Point,"EA"+Symbol(),Magic,0,Red);
Sleep(500);
RefreshRates();
}
if (новое условие)
if (алгоритм 1)
{
OrderSend(Symbol(),OP_ BUY,Lots(),Bid,Slippage,Bid+SL2*Point,Bid-TP2*Point,"EA"+Symbol(),Magic,0,Red);
Sleep(500);
RefreshRates();
}