Hilfe bei der Codierung - Seite 141

 
arroganzmaschine:
Aber das hilft mir nicht weiter. Die beiden Puffer sind 4 und 5. Aber die Puffer waren vorher Arrays.

Hier ist der Code: SetIndexBuffer(4, Long);

SetIndexBuffer(5, Short);

In dem Indikator werden diese Puffer zuerst mit "double Long[]" deklariert. Dieser Puffer hat zwei Werte. Long[1] und Long[2]. Wie kann ich diese Werte im Expert Advisor erhalten?

Versuchen Sie etwas wie dies :

double value1 = iCustom(NULL,0,"indicatorName",4,1); double value2 = iCustom(NULL,0,"indicatorName",4,2);

______________________________

PS: Da ich keine Ahnung habe, wie die Parameter lauten, verwendet iCustom() die Standardparameterwerte. Sie müssen die gewünschten Parameter für den iCustom()-Aufruf angeben. Und all das ist in dem Thread aus dem Link beschrieben, den ich im vorherigen Beitrag gepostet habe.

Alles Gute

 

Funktioniert! Herzlichen Dank!!!!

 
arroganzmaschine:
Funktioniert! Vielen Dank!!!!

Gut

Fröhliches Kodieren

 

Hallo mladen, eine letzte Frage:

Wie kann ich die offene Buy oder Sell Order des aktuellen Symbols schließen? Es gibt nur eine offene Order zur Zeit.

 
arroganzmaschine:
Hallo mladen, eine letzte Frage: Wie kann ich den offenen Kauf- oder Verkaufsauftrag für das aktuelle Symbol schließen? Es gibt nur eine offene Order zur Zeit.

Sie können so vorgehen:

if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES))

{

if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,0,CLR_NONE);

if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,0,CLR_NONE);

}

 

Muss ich alle offenen Aufträge abrufen? Oder erhält dieser Code, den Sie gepostet haben, die aktuellen offenen Aufträge?

 
arroganzmaschine:
Muss ich alle offenen Aufträge abrufen? Oder erhält der von Ihnen gepostete Code die aktuellen offenen Aufträge?

Sie haben gesagt, dass jeweils nur ein Auftrag geöffnet ist.

Dieser Code funktioniert nur, wenn es nur einen geöffneten Auftrag gibt.

 

Es gibt nur einen offenen Auftrag für ein Symbol. Ich habe aber verschiedene offene Charts. Der Code muss also den Auftrag für das Symbol auswählen und diesen schließen. Wie muss ich das machen?

 
arroganzmaschine:
Es gibt nur einen offenen Auftrag für ein Symbol. Aber ich habe verschiedene offene Charts. Der Code muss also den Auftrag für das Symbol auswählen und diesen schließen. Wie muss ich das machen?

Zum Beispiel so:

for (int i=OrdersTotal()-1; i>=0; i--)

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol())

{

if (OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,0,CLR_NONE);

if (OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,0,CLR_NONE);

}

 

Es hat geklappt! Du bist großartig!