Есть алгоритм

[Удален]  

Есть алгоритм, назовем его алгоритм 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();

}

 
delyus:

Есть алгоритм, назовем его алгоритм 1, он плавает у безубытка что уже хорошо) Берет ТП=10, СЛ=20. Но обнаружилось новое условие, при котором этот алгоритм 1 может брать уже


Так ты вроде уже все сформулировал и воплотил в коде. Какие вопросы еще могут быть!
[Удален]  
Секрет кроется в этой фразе: "советник тупо торгует, как раньше по алгоритму 1". То есть игнорирует новое условие и не берет ТП2 и СЛ2, а берет ТП и СЛ как раньше, едрить его кадрить))
[Удален]  
а если if (новое условие) поставить впереди конструкции, то торгует только по новому условию, то есть намного реже, а надо продолжать торговать по старому, но при появлении нового условия увеличивать тейк, раз есть такая возможность
[Удален]  
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();
}
 
delyus:
а если if (новое условие) поставить впереди конструкции, то торгует только по новому условию, то есть намного реже, а надо продолжать торговать по старому, но при появлении нового условия увеличивать тейк, раз есть такая возможность

Тут можно помочь, только если видеть реальный код. Так как ошибка в реализации.
 

В данном случае скорее всего "алгоритм1" уже включает в себя данные подобные "новому условию", по этому торговля по "алгоритму1" будет идти и при "новом условии".

корректнее было бы

if(алгоритм1) if( != новое условие) { ТП=10, СЛ=20. }

if(алгоритм1) if( == новое условие) { ТП=40, СЛ=20. }

[Удален]  
xrust:

В данном случае скорее всего "алгоритм1" уже включает в себя данные подобные "новому условию", по этому торговля по "алгоритму1" будет идти и при "новом условии.



корректнее было бы



if(алгоритм1) if( != новое условие) { ТП=10, СЛ=20. }



if(алгоритм1) if( == новое условие) { ТП=40, СЛ=20. }


а зачем дублировать сущности?
 
magiXpert:
xrust:

В данном случае скорее всего "алгоритм1" уже включает в себя данные подобные "новому условию", по этому торговля по "алгоритму1" будет идти и при "новом условии.



корректнее было бы



if(алгоритм1) if( != новое условие) { ТП=10, СЛ=20. }



if(алгоритм1) if( == новое условие) { ТП=40, СЛ=20. }


а зачем дублировать сущности?

для полной определенности условия
[Удален]  
мэджикэксперту респект! пару раз ругнулось из-за скобок, поправил и встало как родной. спасибо
[Удален]  
xrust:
а зачем дублировать сущности?
для полной определенности условия
теория БД гласит, что дублирование сущностей ведет к потере определенности.