[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 762

 
FoxUA:

Die Frage ist, wie man diese Funktion richtig schreibt

Das funktioniert so

und ich brauche beides, um zu funktionieren, bitte erklären Sie das

Das ist keine sehr klare Frage, aber okay.
Es ist sehr einfach, es aufzuschreiben, fast genauso wie bei Ihnen:

void tmp_function(){
   if(my_total_order == 0){
      OpenBuyOrder(Lot,PRAsk);
      OpenBuyStopOrder(Lot,PRAsk); 
      OpenBuyLimitOrder(Lot,PRAsk);
   }
   if(my_total_order == 5){
      OpenBuyOrder(Lot,PRAsk);
      OpenBuyStopOrder(Lot*3,PRAsk); 
      OpenBuyLimitOrder(Lot*3,PRAsk);
   }
}
 
ToLik_SRGV:

Die Frage ist nicht ganz klar, aber OK.
Er ist sehr einfach zu schreiben, fast genauso wie der Ihre:


Ich bin nicht sehr gut darin, Dinge zu erklären, was können Sie tun? Nun, das war eine Abschweifung, und jetzt gibt es in der Tat einen Code, der aus 2 Teilen besteht, jeder ist die Ernennung der Variablen, so dass die Frage ist, ob es möglich ist, wie man diese beiden Funktionen zu kombinieren, ohne etwas von ihnen auszuschneiden

if(my_total_order == 0)           //|                     //|   
{double Lt=Lot;                  //|                     //|
  double PR=PRAsk;                //| --- первая функция  //|
  OpenBuyOrder(Lt,PR);            //|                     //|
  OpenBuyStopOrder(Lt,PR);        //|                     //|
  OpenBuyLimitOrder(Lt,PR);}      //|                     //|
//+--------------------------------+                      //|----  надо обеденить в одну
if(my_total_order == 5)           //|                     //|
{double Lt=Lot*3;                //|                     //|
  double PR=PRBid;                //| --- вторая функция  //|
  OpenSellOrder(Lt,PR);           //|                     //|
  OpenSellStopOrder(Lt,PR);       //|                     //|
  OpenSellLimitOrder(Lt,PR);}     //|                     //|

проблема   'Lt' - variable already defined (уже определенная переменная),       
           'PR' - variable already defined (уже определенная переменная), 
'Lt' 'PR' -  они как раз и нужны но как им присвоить разные значения ? 



 
FoxUA:

Ich bin nicht sehr gut darin, Dinge zu erklären, was können Sie tun? Nun, das war eine Abschweifung, und jetzt gibt es in der Tat einen Code, der aus 2 Teilen besteht, jeder ist die Ernennung der Variablen, so dass die Frage ist, ob es möglich ist, diese beiden Funktionen zu kombinieren, ohne etwas von ihnen auszuschneiden

Sie können z.B. außerhalb der Funktion als global deklariert werden.
Und sie werden nur benötigt, um die Werte Lot und PRAsk zu übergeben? Es ist möglich, sie direkt zu übergeben, wie ich geschrieben habe.
 
ToLik_SRGV:
Sie können sie als global deklarieren, zum Beispiel außerhalb von Funktionen.
Werden sie nur benötigt, um die Werte von Lot und PRAsk zu übergeben? Sie können sie direkt weitergeben, wie ich geschrieben habe.

Ja, aber der Wert eines Loses wird 10 und + jeder von ihnen wird bei PRAsk und PRBid insgesamt Funktionen zu öffnen, nämlich " int OpenBuyOrder(double Lt, double PR).............." und der Rest, wird die Hölle von einer Menge, so dass ich schaue, wie es nicht in 3 Bände beschreiben würde

 

DIE LÖSUNG IST GEFUNDEN, VIELEN DANK AN ALLE.

 

Eine weitere Frage, wie kann ich von einer Market Order, Preis StopLoss undTakeProfit einer Zeitvariablen zuordnen?

 
Techno:
in ohne Visualisierung, warum funktioniert es nicht? Grafische Objekte, Eckobjekte, die Sie nicht verwenden?
Auch wenn es sich um eine einfache Strategie ohne Grafik handelt, so ist es doch... leer in den Ergebnissen, wie in einem Vakuum...
 
FoxUA:

Eine weitere Frage ist, wie kann ich den StopLoss- und TakeProfit-Preis einer Market Order einer Zeitvariablen zuordnen?

Suchen Sie den gewünschten Auftrag im Markt und verwenden Sie die Funktionen OrderStopLoss() und OrderProfit(), um die benötigten Informationen zu erhalten...

================================================================================

double OrderStopLoss( )
Gibt den Schlusskurs zurück, wenn der Stop-Loss für den aktuell ausgewählten Auftrag erreicht ist.
Die Bestellung muss mit der Funktion OrderSelect() vorausgewählt werden.

double OrderProfit( ) )
Gibt den Nettogewinnwert (ohne Swaps und Provisionen) für den aktuell ausgewählten Auftrag zurück. Bei offenen Positionen ist dies der aktuelle nicht realisierte Gewinn. Bei geschlossenen Aufträgen ist es der feste Gewinn.
Die Bestellung muss mit der Funktion OrderSelect() vorausgewählt werden.
================================================================================
... und Sie schreiben es in die Variablen.
 
artmedia70:

Durchsuchen Sie den Markt nach der gewünschten Order und verwenden Sie OrderStopLoss() und OrderProfit(), um die benötigten Informationen abzurufen...

================================================================================

double OrderStopLoss( )
Gibt den Schlusskurs einer Position zurück, wenn das Stop-Loss-Niveau des aktuell ausgewählten Auftrags erreicht ist.
Die Bestellung muss mit der Funktion OrderSelect() vorausgewählt werden.

double OrderProfit( )
Gibt den Nettogewinnwert (ohne Swaps und Provisionen) für den aktuell ausgewählten Auftrag zurück. Bei offenen Positionen ist dies der aktuelle nicht realisierte Gewinn. Bei geschlossenen Aufträgen ist es der feste Gewinn.
Die Bestellung muss mit der Funktion OrderSelect() vorausgewählt werden.

Es tut mir leid, aber ich habe nicht gefragt, wie ich StopLoss- und TakeProfit-Daten finden soll; das wissen wir!

 

Liebe Programmierungsexperten! Könnten Sie bitte die Funktion zur Überprüfung der Öffnungszeiten in den EA-Code aufnehmen? D.h. der EA soll Positionen nur innerhalb eines bestimmten Zeitintervalls öffnen, z.B. von 8 Uhr morgens bis 20 Uhr abends (Moskauer Zeit).

Dateien:
Grund der Beschwerde: