Hallo.
Falls es wirklich keinen Broker gibt, bei dem man ununterbrochen Long und Short gleichzeitig sein kann, muss man eben die "Pausen" irgendwie wieder reinholen.
Das Beste wär wohl, die "Unterbrechungen" über Lot Erhöhungen wieder rein zu bringen. Oder wenigstens nen großen Teil davon.
Im Anhang Vers. 3, die extra überprüft, ob, wenn z.B. ein Long offen ist, auch ein Short offen ist, bzw. umgekehrt. Falls keine Order der jeweiligen Gegenrichtung offen ist, muss man irgendwie rausfinden wie viel Punkte einem entgehen und entsprechend die Lots erhöhen. Eigentlich einfach, aber ich hab keine Idee, wie ich das lösen soll. Hab schon mal rumgekritzelt, aber nen richtigen Plan hab ich nicht.
Falls es wirklich keinen Broker gibt, bei dem man ununterbrochen Long und Short gleichzeitig sein kann, muss man eben die "Pausen" irgendwie wieder reinholen.
Das Beste wär wohl, die "Unterbrechungen" über Lot Erhöhungen wieder rein zu bringen. Oder wenigstens nen großen Teil davon.
Im Anhang Vers. 3, die extra überprüft, ob, wenn z.B. ein Long offen ist, auch ein Short offen ist, bzw. umgekehrt. Falls keine Order der jeweiligen Gegenrichtung offen ist, muss man irgendwie rausfinden wie viel Punkte einem entgehen und entsprechend die Lots erhöhen. Eigentlich einfach, aber ich hab keine Idee, wie ich das lösen soll. Hab schon mal rumgekritzelt, aber nen richtigen Plan hab ich nicht.
Code:
//=============================================================================================================
// L O T S A N P A S S E N
//=============================================================================================================
if(open_Buy==true){
for(int k=OrdersTotal()-1;k>=0;k--){
if(OrderSelect(k,SELECT_BY_POS)){
if(OrderMagicNumber()==MN_Buy&&OrderSymbol()==Symbol()){
if(open_Sel==true){
bool Lpl_SH=false;
for(int l=OrdersTotal()-1;l>=0;l--){
if(OrderSelect(l,SELECT_BY_POS)){
if(OrderMagicNumber()==MN_Sel&&OrderSymbol()==Symbol())Lpl_SH=true;}}}
if( Lpl_SH==false ){
// OrderOpenPrice - Ask
double OOP_A = OrderOpenPrice() - Ask;
// OOP_A x 100.000 um normal damit rechnen zu können
double OOPAxHK = OOP_A * 100000;
// OrderLots x 100 um normal damit rechnen zu können.
// z.B. 0.01 x 100 = 1.0
double OLbuy_xH = OrderLots() * 100.0;
// ?
} } } }
//-----------------------------------------------------------------------------------------------------------*/
if(open_Sel==true){
for(int m=OrdersTotal()-1;m>=0;m--){
if(OrderSelect(m,SELECT_BY_POS)){
if(OrderMagicNumber()==MN_Sel&&OrderSymbol()==Symbol()){
if(open_Buy==true){
bool Lpl_LO=false;
for(int n=OrdersTotal()-1;n>=0;n--){
if(OrderSelect(n,SELECT_BY_POS)){
if(OrderMagicNumber()==MN_Buy&&OrderSymbol()==Symbol())Lpl_LO=true;}}}
if( Lpl_LO==false ){
// Bid - OrderOpenPrice
double B_OOP = Bid - OrderOpenPrice();
// B_OOP x x 100.000 um normal damit rechnen zu können
double BOOPxHK = B_OOP * 100000;
// OrderLots x 100 um normal damit rechnen zu können
// z.B. 0.01 x 100 = 1.0
double OLsel_xH = OrderLots() * 100.0;
// ?