Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 774

 
pavlicos:

Hilfe, wer kann. Zwei-Währungs-Expert Advisor,

Wenn die Handelsbedingungen gleich sind, wird der Handel in der ersten Währung eröffnet.

Wie schreibt man "Wenn der Auftrag in der ersten Währung OP_BUY eröffnet wird, dann eröffnet man ein Geschäft in der zweiten OP_SELL

Hier ist ein Beispiel

wenn (Auftragssumme()== 1 ) // mit dieser Zeile für 2 Währungen werden sowohl BUY als auch SELL oder 2 SELL Orders eröffnet

if ( currenttype == OP_BUY ) // es wird überhaupt nicht geöffnet

if ( currentticket == 1) // so öffnet es sich auch nicht.

secondticket = OrderSend("GBPUSD", OP_SELL, Lots, MarketInfo("GBPUSD", MODE_BID), 2, 0, 0, 0, WindowExpertName(), 0, 0, Red); //Order für 2 Währungen

if ( c - d > a) // wenn die Handelsbedingung erfüllt ist, wird der Auftrag für 1Währung perfekt eröffnet.

currentticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0, "macd sample",Magic,0,Green); //Order auf 1Währung

Haben Sie überprüft, für welche Instrumente die Position geöffnet ist?
 
Ich habe es versucht, aberes lässt sich nichtin 2 Währungenöffnen.
 
evillive:
Der Preis ist da, der schwebende Auftrag zu diesem Preis ist verschwunden, und der Marktauftrag zu diesem Preis ist erschienen. Außerdem erscheint manchmal ein Eintrag im Kommentar, etwa "von Ticket xxxx", wobei xxxx die Ticketnummer des ausstehenden Auftrags ist.
Ja, ich hab's. Danke.
 
int i;
ArraySetAsSeries(ExtMacdBuffer,true);
ArraySetAsSeries(Value,true);
for(i=0;;i++)
ExtMacdBuffer[i]=iMA(NULL,0,InpFastEMA,0,MODE_EMA,PRICE_CLOSE,i)-
                 iMA(NULL,0,InpSlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
ArrayCopy(Value,ExtMacdBuffer,0,0,WHOLE_ARRAY);

Guten Abend an alle, Helfen Sie mir aus, ich möchte Daten ausExtMacdBuffer[] Array kopieren, die die Differenz zwischen kurzen und langen EMA-Wert in Value [] Arrayist, ich schrieb oben und nichts passiert, was fehlt? Vielleicht ist es gar nicht richtig?

Vielen Dank im Voraus für die Hilfe.

 
Megagrider:
Hier können Sie alles sehen (sehen Sie sich das Ende selbst an).
Versuch der Gleichheit if(iRSI(NULL,0,14,PRICE_CLOSE,0)=70 || iRSI(NULL,0,14,PRICE_CLOSE,1)=70) einer der beiden Werte wenn gleich dann ....
 
Pokrov:
Versuchen Sie Gleichheit, indem Sie if(iRSI(NULL,0,14,PRICE_CLOSE,0)=70 || iRSI(NULL,0,14,PRICE_CLOSE,1)=70) einen der beiden Werte eingeben, wenn er gleich ist, dann ....
Haben Sie die Karten gelesen oder haben Sie Kaffeesatz gelesen?
 
Es funktioniert nicht... :(
 
Megagrider:
Es funktioniert nicht... :(
Es sollte auch nicht funktionieren. Man muss nachdenken, bevor man es versucht. Ich habe Ihre Frage gesehen, aber keine Fehler bemerkt, deshalb habe ich nichts gesagt. Versuchen Sie, den RSI-Variablen Werte zuzuweisen, und fügen Sie sie der Klarheit halber in Kommentare ein. Und verwenden Sie diese Variablen bei der Bedingungsprüfung.
 
AlexeyVik:
Und das sollte nicht funktionieren. Man muss nachdenken, bevor man es versucht. Ich habe Ihre Frage gesehen, aber mir sind keine Fehler aufgefallen, deshalb habe ich auch nichts gesagt. Versuchen Sie, den Variablen RSI-Werte zuzuweisen, und fügen Sie sie der Klarheit halber in den Kommentar ein. Und verwenden Sie diese Variablen in Bedingungsprüfungen.
Ich weiß nicht, warum ich es falsch gesagt habe, ich wusste es nicht richtig. Was meinen Sie - 70 ist das richtige Signal, nicht über 70, vielleicht sollten Sie Gleichheit == schreiben, aber nicht = , das ist ein Fehler, da stimme ich zu. Und anstatt über Kaffee und Karten zu diskutieren, sollten Sie lieber bei den Arrays helfen.
 
Die Variablen werden in den Diagrammkommentaren angezeigt und Sie können sehen, wie sie sich verändern. Und der Indikatorwert kann so selten gleich dem eingestellten Wert sein, dass Sie auf dieses Ereignis warten werden. Es war also ursprünglich richtig geschrieben, wenn der erste Balken unter < 70 liegt und der Null-Balken über/gleich >= ist, dann hat ein Crossover stattgefunden.