Einzelnen Beitrag anzeigen
  #8 (permalink)  
Alt 29.11.19
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Hallo.

Also eigentlich hab ich was Einfaches vor: Der EA soll die letzte geschlossene Order suchen und im Chart 2 Vertikale Linien zeichnen. Eine, wo die Order geöffnet wurde, die 2. wo die Order geschlossen wurde. Damit man besser sehn kann, wann er sie geöffnet und geschlossen hat.

Aber so einfach ist es wohl nicht. Gibt zwar keine Fehler, aber auch nicht die erwünschten vertikalen Linien. Es kommt bei allen 4 ObjectCreate die Warnung "implicit conversion from 'string' to 'number".
Code:
for(i=OrdersTotal()-1;i>=0;i--){
  if(OrderSelect(0,SELECT_BY_POS,MODE_HISTORY)){

    if(OrderType()==OP_BUY&&OrderMagicNumber()==Buy_MN&&OrderSymbol()==Symbol()){

//                                             0=MainWin
      ObjectCreate(Symbol(),"Se_buy",OBJ_VLINE,0,OrderOpenTime()  );
      ObjectCreate(Symbol(),"Cl_buy",OBJ_VLINE,0,OrderCloseTime() );}


    if(OrderType()==OP_SELL&&OrderMagicNumber()==Sell_MN&&OrderSymbol()==Symbol()){

//                                             0=MainWin
      ObjectCreate(Symbol(),"Se_sel",OBJ_VLINE,0,OrderOpenTime()  );
       ObjectCreate(Symbol(),"Cl_sel",OBJ_VLINE,0,OrderCloseTime() );} }}
Wähl ich vielleicht den falschen Trade aus? Oder funktioniert das nicht innerhalb einer for-Schleife? Wie gehts richtig?
Ja, es ist wirklich nicht so einfach, wenn man die vielen Tipps von uns einfach nicht beherzigst. Es wäre in der Tat besser, wenn du vorher mal in die Online-Hilfe schaust. Da steht für ObjectCreate() folgendes:

bool ObjectCreate(
long chart_id, // chart ID
string object_name, // object name
ENUM_OBJECT object_type, // object type
int sub_window, // window index
datetime time1, // time of the first anchor point
double price1, // price of the first anchor point
...
datetime timeN=0, // time of the N-th anchor point
double priceN=0 // price of the N-th anchor point
);


bzw.

bool ObjectCreate(
string object_name, // object name
ENUM_OBJECT object_type, // object type
int sub_window, // window index
datetime time1, // time of the first anchor point
double price1, // price of the first anchor point
datetime time2=0, // time of the second anchor point
double price2=0, // price of the second anchor point
datetime time3=0, // time of the third anchor point
double price3=0 // price of the third anchor point
);

Du hast die Wahl zwischen beiden Versionen, aber bei keiner der beiden sehe ich als ersten Parameter das Symbol des Handelsinstrumentes.
Und mal ganz zu schweigen davon, dass man über OrdersTotal() keine einzige historische Order finden wird.

Sorry, aber ich weiss wirklich langsam nicht mehr, was ich noch schreiben soll.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.