Einzelnen Beitrag anzeigen
  #219 (permalink)  
Alt 01.04.16
MA-EA MA-EA ist offline
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Hab ein komplexes System aus 6 GDs gebastelt. Wenn ich es starte, macht er keine Order auf.

Ich glaube, das ein Problem ist, dass er den Last Close Bar 1 nicht mit
dem GD Bar 5 vergleichen kann. Das wär nicht weiter schlimm, man müsste den LC lediglich auch auf Bar 5 einstellen.

Es werden ja auch die Abstände der GDs Bar 6 mit Bar 7 verglichen. Damit soll geprüft werden, ob die Vola zu genommen hat oder zumindest gleich geblieben ist. Ist das vielleicht das Problem?

Oder müssen für jede Bar extra GDs eingerichtet und deklariert werden?

Möglich muss das ganze aber sein, der Ichimoku besteht ja auch aus nem Haufen verschobener GDs.

Code:
//Kurse, GDs
double C5 = iClose(Symbol(), TimeFrame, 5);//Close Bar 5 probieren

//GDs Bar 5 Signale
double B5_FMA = iMA(Symbol(), TimeFrame, Fast_MA, GD_Shift, GD_Type, PRICE_CLOSE, 5);//3
double B5_MMA = iMA(Symbol(), TimeFrame, Middle_MA, GD_Shift, GD_Type, PRICE_CLOSE, 5);//6
double B5_SMA = iMA(Symbol(), TimeFrame, Slow_MA, GD_Shift, GD_Type, PRICE_CLOSE, 5);//12

//GDs Bar 6 Vola
double B6_VF = iMA(Symbol(), TimeFrame, Vola_Fast_MA, GD_Shift, GD_Type, PRICE_CLOSE, 6);//3
double B6_VM = iMA(Symbol(), TimeFrame, Vola_Middle_MA, GD_Shift, GD_Type, PRICE_CLOSE, 6);//6
double B6_VS = iMA(Symbol(), TimeFrame, Vola_Middle_MA, GD_Shift, GD_Type, PRICE_CLOSE, 6);//12

//GDs Bar 7 Vola
double B7_VF = iMA(Symbol(), TimeFrame, Vola_Fast_MA, GD_Shift, GD_Type, PRICE_CLOSE, 7);//3
double B7_VM = iMA(Symbol(), TimeFrame, Vola_Middle_MA, GD_Shift, GD_Type, PRICE_CLOSE, 7);//6
double B7_VS = iMA(Symbol(), TimeFrame, Vola_Slow_MA, GD_Shift, GD_Type, PRICE_CLOSE, 7);//12
//--------------------------------------------------------------------------------------------------------------

//Berechnung GD-Distanzen
//Bar 6
double B6_D_FM = B6_VF + B6_VM;//Fast Middle Bar 6
double B6_D_MS = B6_VM + B6_VS;//Middle Slow Bar 5

//Bar 7
double B7_D_FM = B7_VF + B7_VM;//Fast Middle Bar 7
double B7_D_MS = B7_VM + B7_VS;//Middle Slow Bar 7
//-------------------------------------------------------------------------------------------------------------

//Check position
IsInvested = false;
for (i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if((OrderType()==OP_SELL || OrderType()==OP_BUY) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) IsInvested=true;}}
//-------------------------------------------------------------------------------------------------------------

//Open Trade
if (!IsInvested){
if (TC>F && TC<T && S<=MS && LC!=B5_FMA && B6_D_FM>=B7_D_FM && B6_D_MS>=B7_D_MS && B5_FMA>B5_MMA && B5_MMA>B5_SMA && B6_VF>B6_VM && B6_VM>B6_VS && B7_VF>B7_VM && B7_VM>B7_VS) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, Name + " Buy(#" + MagicNumber + ")", MagicNumber, 0, Blue);
if (TC>F && TC<T && S<=MS && LC!=B5_FMA && B6_D_FM>=B7_D_FM && B6_D_MS>=B7_D_MS && B5_FMA<B5_MMA && B5_MMA<B5_SMA && B6_VF<B6_VM && B6_VM<B6_VS && B7_VF<B7_VM && B7_VM<B7_VS) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, Name + " Sell(#" + MagicNumber + ")", MagicNumber, 0, Red);}
//-------------------------------------------------------------------------------------------------------------

//Close Trade
if (IsInvested){
for (i=OrdersTotal()-1; i>=0; i--){
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){

if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((LC!=B5_FMA && B6_VF<B6_VM && B6_VM<B6_VS) || (CAA=true && TC>CA)) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue);}

if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((LC!=B5_FMA && B6_VF>B6_VM && B6_VM>B6_VS) || (CAA=true && TC>CA)) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, FireBrick);}}}}