Wie kann ich Daten aus einem Indikator abrufen? - Seite 5

 
_new-rena:

...wann mit den Händen?

Wo ist die wissenschaftliche Methode? ....


Hier ist das erste Ergebnis:

//+------------------------------------------------------------------+

//| Sovetnik_RegressionPolynomial.mq4 |

//| Retabs 2014 |

//| www.----- |

//+------------------------------------------------------------------+

#property copyright "Retabs 2014"

#property link "www.-----"

#property version "1.00"

#property strict

//--- input parameters

input int StopLoss=60;

input int TakeProfit=100;

input double Lots=1.00;

input int Shift=5;

//+------------------------------------------------------------------+

//| Expert initialization function |

//+------------------------------------------------------------------+

int OnInit()

{

//---

//---

return(INIT_SUCCEEDED);

}

//+------------------------------------------------------------------+

//| Expert deinitialization function |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

{

//---

}

//+------------------------------------------------------------------+

//| Expert tick function |

//+------------------------------------------------------------------+

void OnTick()

{

//---

double val1=iCustom(NULL,0,"RegressionPolynomial",10000,55,5,2,0,1,0);

double val2=iCustom(NULL,0,"RegressionPolynomial",10000,55,5,2,0,2,0);

if(val1>val2)OrderSend(Symbol(),OP_BUY,Lots,Ask,Shift,StopLoss,TakeProfit,"коммент",5371533,0,Red);

else OrderSend(Symbol(),OP_SELL,Lots,Bid,Shift,StopLoss,TakeProfit,"коммент",5371533,0,Blue);

}

//+------------------------------------------------------------------+
 

Ich verstehe nur nicht, warum es im Tester einen Fehler gibt.

 
Retabs:

Ich verstehe nur nicht, warum es im Tester einen Fehler gibt.


Bitte fügen Sie den Code über den SRC-Button und mit einem gut lesbaren Tab ein!!! Und löschen Sie Ihre Zersiedelung!

Dann werde ich Ihren Code löschen, der nach den Regeln eingefügt wurde!

Und als Erstes sollten Sie die Ratschläge für Einsteiger in diesem Thread mit dem Dreieck lesen:

Forum-Navigator und Antworten auf häufig gestellte Fragen. Eine sehr empfehlenswerte Lektüre! ( 1 2 3 4 5 6 ) 5218.02.2011FAQ
 
borilunad:

Bitte den Code über den SRC-Button und mit einem gut lesbaren Tab einfügen!!! Und löschen Sie Ihr Spoofing!

Dann werde ich Ihren Code löschen, der nach den Regeln eingefügt wurde!

Und als Erstes sollten Sie die Ratschläge für Einsteiger in diesem Thread mit dem Dreieck lesen:

Forum-Navigator und Antworten auf häufig gestellte Fragen. Eine sehr empfehlenswerte Lektüre! ( 1 2 3 4 5 6 ) 5218.02.2011FAQ



Ich lasse mich korrigieren. DerCode wurde bereitsüber die Schaltfläche SRC eingefügt.

Warum werden Sie dann meinen Code löschen, wenn er, wie Sie geschrieben haben, nach den Regeln eingefügt ist ?

 
Retabs:

Ich verstehe nur nicht, warum es im Tester einen Fehler gibt.

Behalten Sie das im Hinterkopf und verwenden Sie den größten Meißel auf Ihrer Nase - die Programmierung beginnt bei 0. Indikatorpuffer sind da keine Ausnahme.
 
evillive:
Nehmen Sie es gelassen und verwenden Sie den größten Meißel auf Ihrer Nase - die Programmierung zählt ab 0. Indikatorpuffer sind da keine Ausnahme.


Es ist vollbracht. Es wurde korrigiert. Nur der Fehler wurde nicht behoben. Dasselbe, im Log des Strategietesters - Sovetnik_RegressionPolynomial EURUSD,M1: OrderSend error 130

 

Keiner weiß warum?

 
Retabs:


Hier ist das erste Ergebnis:

Endlich.

Der Fehler von 130 ist auf die Stopps und Übernahmen zurückzuführen. Es sollte ein Preisniveau geben, bei dem sie ausgelöst werden sollten. (sicherlich nicht auf den Preis -100 oder 60 warten, es sollte etwas wie Preis-100*Punkt oder Preis+60*Punkt sein, zum Beispiel)

 
_new-rena:

Endlich.

Der Fehler von 130 ist auf Anschläge und Übernahmen zurückzuführen. Es sollte ein Preisniveau geben, bei dem sie ausgelöst werden sollten. (auf jeden Fall nicht auf einen Preis von -100 oder 60, sondern z.B. auf Preis-100*Punkt oder Preis+60*Punkt)


Ich danke Ihnen. Ich werde es jetzt ändern.
 
_new-rena:

Endlich.

Der Fehler von 130 ist auf die Stopps und Übernahmen zurückzuführen. Es sollte ein Preisniveau geben, bei dem sie ausgelöst werden sollten. (sicherlich nicht auf den Preis -100 oder 60 warten, es sollte etwas wie Preis-100*Punkt oder Preis+60*Punkt sein, zum Beispiel)


Ich habe es geschafft! Es hat lange gedauert, bis der Fehler 130 verschwunden war, aber ich bin andere losgeworden. Es funktioniert jetzt.

Eröffnen Sie bei Buy und Sell und schließen Sie bei TP oder SL. Nur dass sie jetzt viele davon öffnet!

Wie kann man die Eröffnung eines Handels beschränken, bis der andere geschlossen ist?

//+------------------------------------------------------------------+
//|                                Sovetnik_RegressionPolynomial.mq4 |
//|                                                      Retabs 2014 |
//|                                                        www.----- |
//+------------------------------------------------------------------+
#property copyright "Retabs 2014"
#property link      "www.-----"
#property version   "1.00"
#property strict
//--- input parameters
input int   StopLoss=60;
input int   TakeProfit=100;
input double   Lots=0.10;
input int   Shift=5;

double SL;
double TP;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double val1=iCustom(NULL,0,"RegressionPolynomial",10000,55,5,2,0,0,0);
   double val2=iCustom(NULL,0,"RegressionPolynomial",10000,55,5,2,0,1,0);
   
 
   if(val1>val2)
   OrderSend(Symbol(),OP_BUY, Lots,Ask,Shift,Ask-StopLoss*Point,Ask+TakeProfit*Point,"коммент",5371533,0,Red);
   
   
   if(val1<val2)
   OrderSend(Symbol(),OP_SELL,Lots,Bid,Shift,Bid+StopLoss*Point,Bid-TakeProfit*Point,"коммент",5371533,0,Blue);
   
   
  }
//+------------------------------------------------------------------+