Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1338

 

Ich werde die Frage korrekter stellen.

Es gibt einen Codeblock, der dem Expert Advisor erklärt, wie viele Trades er öffnen muss. Es sieht folgendermaßen aus

int OPEN=1;

if(BestellungenSumme())

OPEN=0; // es können keine weiteren Aufträge eröffnet werden

if(OPEN==1)

{

//hier öffnen

}

Das Problem ist, dass es die erforderliche Anzahl von Geschäften (in diesem Beispiel 1) für alle Symbole öffnet. Und ich muss ihm erklären

dass es diese Anzahl von Geschäften für das AKTUELLE Instrument eröffnen muss. Etwas wie _Symbol oder Symbol (). Wie kann man das machen? Ich denke, die Lösung ist einfach.

 
sibiriyak73:

Ich werde die Frage korrekter stellen.

Es gibt einen Codeblock, der dem Expert Advisor erklärt, wie viele Trades er öffnen muss. Es sieht folgendermaßen aus

int OPEN=1;

if(BestellungenSumme())

OPEN=0; // es können keine weiteren Aufträge eröffnet werden

if(OPEN==1)

{

//hier öffnen

}

Das Problem ist, dass es die erforderliche Anzahl von Geschäften (in diesem Beispiel 1) für alle Symbole öffnet. Und ich muss ihm erklären

dass es diese Anzahl von Geschäften für das AKTUELLE Instrument eröffnen muss. Etwas wie _Symbol oder Symbol (). Wie kann man das machen? Ich denke, die Lösung ist einfach.

if(!isTradeToDay(Symbol()))
 {
  //Здесь открываем
 }
 
Iurii Tokman:
Man braucht einen Haufen Deals, und bei einem Verkauf
 
sibiriyak73:
Viele Geschäfte platzen, und bei einem Verkauf

Nun, es gibt zwei Möglichkeiten:
1. alle Codes anzeigen
2. dem Telepathenclub beitreten

 
Iurii Tokman:

Nun, es gibt zwei Möglichkeiten:
1. den ganzen Code zeigen
2. dem Telepathenclub beitreten:)

:)

Ich habe herausgefunden, wie man sowohl Kaufen als auch Verkaufen öffnen kann. Aber die Anzahl der Angebote öffnet sich nicht bei jedem Tick

int start()

{

double a=iOpen(NULL,PERIOD_D1,0);

double d=_ORDER*0.00001;

double c=d+1;

double s=c*a;

double limit= NormalizeDouble(s,_Digits);

// Print("Grenzwert= ",limit);

double e=_STOP*0.00001;

double n=e+1;

double m=n*a;

double SL= NormalizeDouble(m,_Digits);

//Drucken("Stop Level= ",SL);

double p=_TP*0,00001;

double f=p+1;

double z=f*a;

double TP= NormalizeDouble(z,_Digits);

double w=iOpen(NULL,PERIOD_D1,0);

double q=_ORDER*0.00001;

double j=q+1;

doppelt v=w/j;

double limit1= NormalizeDouble(v,_Digits);

// Print("Grenzwert= ",limit);

double k=_STOP*0.00001;

double y=k+1;

double u=w/y;

double SL1= NormalizeDouble(u,_Digits);

//Drucken("Stop Level=",SL);

double g=_TP*0,00001;

double _f=g+1;

double _m=w/_f;

double TP1= NormalizeDouble(_m,_Digits);


if(Stunde()==Nac)

{

if(iOpen(NULL,PERIOD_D1,0)<iOpen(NULL,PERIOD_D1,1))

{

if(!isTradeToDay(Symbol()))

{

int ticket1=OrderSend(Symbol(),OP_SELLSTOP,1.5,limit1,3,SL1,TP1,NULL,0,0,clrRed); //hier öffnen

}

}

if(iOpen(NULL,PERIOD_D1,0)>iOpen(NULL,PERIOD_D1,1))

{

if(isTradeToDay(Symbol()))

{

int ticket=OrderSend(Symbol(),OP_BUYSTOP,1.5,limit,3,SL,TP,NULL,0,0,0,clrBlueViolet); //hier öffnen

}

}

}

if(Stunde()==Kon)

{

bool Ergebnis;

int-Fehler;

//----

while(AufträgeSumme()>0)

{

if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))

{

if(Auftragsart()==OP_BUY)

result=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS),3,CLR_NONE);

if(OrderType()==OP_SELL)

Ergebnis=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)),3,CLR_NONE);

if(OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP)

OrderDelete(OrderTicket());

if(Ergebnis!=TRUE)

{

error=GetLastError();

Print("LetzterFehler = ",Fehler, ",Symbol());

}

sonst

Fehler=0;

}

sonst

Print("Fehler bei der Auftragsauswahl ", GetLastError());

}

}

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

//| |

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

zurück(0);

}

Hier ist der Code ohne deklarierte Variablen.

 
sibiriyak73:

Code sollte eingefügt werden Alt+S
und wo ist die Funktion ?
wie haben Sie es kompiliert ? keine Fehler ?

 
Iurii Tokman:

Code sollte eingefügt werden Alt+S
und wo ist die Funktion ?
wie haben Sie es kompiliert ? keine Fehler ?

Die Funktion befindet sich am unteren Rand. Die Kompilierung ist ohne Fehler. Die Verkaufsseite hat es geschafft, die Eröffnung eines Geschäfts für ein bestimmtes Instrument anzupassen, auch wenn für andere Instrumente offene Geschäfte bestehen.

Instrumente. Aber die buchtige Seite feuert bei jedem Tick auf den Handel und das war's.

 
Iurii Tokman:

Code muss eingefügt werden Alt+S
und wo ist die Funktion ?
wie haben Sie es kompiliert ? keine Fehler ?

Im Moment sieht der Code folgendermaßen aus. Auf der Verkaufsseite alles in Ordnung, aber auf der Kaufseite ist jeder Tick ein Geschäft
 
sibiriyak73:
Im Moment sieht der Code folgendermaßen aus. Auf der Verkaufsseite ist alles in Ordnung, aber auf der Kaufseite ist jeder Tick ein Handel.

auf der Käuferseite sollte das Gleiche getan werden

 
Iurii Tokman:

das Gleiche sollte auf der Käuferseite getan werden

Ich kann nicht herausfinden, was in der Funktion isTradeToDay geändert werden sollte, damit sie auf der Kauf- und Verkaufsseite gleich ist. Die Kaufseite funktioniert immer noch nicht :(