[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 329

 
Zhunko:

Leider sind alle Varianten ohne DDE dazu verdammt, Zecken aus Packungen zu verlieren. Sie können durch Annäherung wiederhergestellt werden, aber das ist nicht sehr gut.

Es besteht die Möglichkeit, über DDE direkt von Exel abzurufen.


Vadim, ich danke dir. Ich werde es mir ansehen.
 

Victor, ich danke Ihnen von ganzem Herzen. Ich werde mir diesen Artikel und die Empfehlungen von Rosh auf jeden Fall ansehen.
 

Hallo zusammen! Versuch #3 :))

Liebe Berufstätige!!!

Bitte, ich verstehe nicht, wo das Problem liegt. Beim Versuch, einen schwebenden Auftrag zu erteilen, werden zwei erteilt.

while (Ticket2<0)

{

RefreshRates();

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,"",MN); //1 Order steht zum Kauf an

Alert ("Fehler im Zyklus",GetLastError()); Alert ("TIK2= ",Ticket2;)

Schlaf(500);

}

Vielen Dank im Voraus an alle, die mir antworten.

 
demlin:

Hallo zusammen! Versuch #3 :))

Liebe Berufstätige!!!

Bitte, ich verstehe nicht, wo das Problem liegt. Beim Versuch, einen schwebenden Auftrag zu erteilen, werden zwei erteilt.

while (Ticket2<0)

{

RefreshRates();

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,"",MN); //1 Order steht zum Kauf an

Alert ("Fehler im Zyklus ",GetLastError()); Alert ("TIK2= ",Ticket2;)

Schlaf(500);

}

Vielen Dank im Voraus an alle, die mir antworten.


Hinzufügen von Flags ( Vorhandensein von ausstehenden Aufträgen) in der Bedingung zur Ticketnummer, d.h. erstes Flag - false, dann in der Bedingung - while ticket < 0 and flag==false - pending setzen und Flag auf true setzen. Nachdem der schwebende Auftrag auf dem Markt ausgelöst oder der schwebende Auftrag gelöscht wurde, setzen Sie das Flag auf false zurück. Versuchen Sie es auf diese Weise...
 

Es stellt sich die Frage, wie der Preis an den Rändern der Trendlinie angezeigt werden kann. Oder die rechte (linke) Preismarke wird an die Trendlinie oder an den Tiefst- (Höchst-) Kursbalken magnetisiert, so wie es die Trendlinie selbst tut. Ich möchte die Standard-Tools für MT4-Charts verwenden. Aber wenn das nicht möglich ist, brauche ich vielleicht einen Indikator, der die rechten (linken) Preisschilder an alle Trendlinien im Fenster anhängt (ich verwende 4 Trendlinien und alle brauchen Preise an den Rändern)? Die Trendlinie ist ohne Balken und die Ränder sind an Hoch- oder Tiefpunkten befestigt - natürlich manuell. Eine Kette von vier Trendlinien ist dem ZigZag-Indikator ähnlich. Ich habe keine Erfahrung mit dem Schreiben von Indikatoren. Ich schreibe gerade deswegen. Ich habe keine Erfahrung mit dem Schreiben von Indikatoren.

 
demlin:

Hallo zusammen! Versuch #3 :))

Liebe Berufstätige!!!

Bitte, ich verstehe nicht, wo das Problem liegt. Beim Versuch, einen schwebenden Auftrag zu erteilen, werden zwei Aufträge erteilt.

while (Ticket2<0)

{

RefreshRates();

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,"",MN); //1 Order steht zum Kauf an

Alert ("Fehler im Zyklus ",GetLastError()); Alert ("TIK2= ",Ticket2;)

Schlaf(500);

}

Ich danke Ihnen im Voraus, wenn Sie mir erlauben zu antworten.

Die Logik ist sehr einfach:

Wenn es keinen schwebenden Auftrag mit dem richtigen Typ gibt, dann legen Sie ihn fest. DAS IST ALLES...

 

Ich habe eine Frage, es gibt einen bestimmten Indikator, der ein Signal gibt, wenn eine bestimmte Bedingung erreicht ist,

Meine Frage ist, wie ich es schaffe, einen Auftrag statt eines Signals zu öffnen,

Hier ist der Code für das Signal und die Nachricht

if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){
         Alert("Открываем Селл ",Symbol()," ",Period());
        alertTag = Time[0];

Ich habe versucht, nur einen Ort für den Alarm zu öffnen, aber es funktioniert nicht,

Wenn ich einen EA mit Beschreibung dessen, was aus dem Indikator zu befestigen habe, werde ich sehr dankbar sein.

 
FoxUA:

Ich habe eine Frage, es gibt einen bestimmten Indikator, der ein Signal gibt, wenn eine bestimmte Bedingung erreicht ist,

Meine Frage ist, wie ich es schaffe, einen Auftrag statt eines Signals zu öffnen,

Hier ist der Code für das Signal und die Nachricht

if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){
         Alert("Открываем Селл ",Symbol()," ",Period());
        alertTag = Time[0];

Ich habe versucht, nur einen Ort für den Alarm zu öffnen, aber es funktioniert nicht,

Ich wäre sehr dankbar, wenn ich einen Code mit einer Beschreibung dessen hätte, was ich mit dem Indikator verbinden soll.

Der Indikator kann keine Aufträge eröffnen. Dies ist die Aufgabe des EA. Wenn dieser Code zum Indikator gehört, müssen wir die Daten in den speziell für diese Daten angelegten Puffer schreiben. Wenn kein Signal vorhanden ist, wird eine Null oder ein leerer Wert in den Puffer geschrieben, und wenn ein Signal vorhanden ist (wie in Ihrem Beispiel), wird anstelle von Alert(); der Wert in den Puffer geschrieben.
Zum Beispiel:
+1 für Kaufen und
-1 für Verkaufen.
Lesen Sie dann mit iCustom(); Daten aus dem Puffer im Expert Advisor.

Oder Sie schreiben alle diese Bedingungen direkt in den Expert Advisor.

 

Guten Morgen!

Können Sie mich bitte beraten, ich eröffne jeden Tag eine Bestellung

Magic_b++; OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,Magic_b,0,L) (oder Magic_s++; OrderSend (Symbol(), OP_BUY, Loot,Bid, 50, SL, TP,NULL,Magic_s,0,L; je nach Bedingungen);

Ich möchte einen offenen Auftrag jeden Tag zu einer bestimmten Zeit schließen und verwende dazu folgendes Schema (außer freitags)

if ((DayOfWeek () == 1) || (DayOfWeek () == 2) || (DayOfWeek () == 3) || (DayOfWeek () == 4 ))

{if (((timecur > "23:59:00") && (timecur < "23:59:04")) && (iOpen(Symbol (), PERIOD_H4, 0)

!= iOpen(Symbol (), PERIOD_D1, 0))

{if (iOpen(Symbol (), PERIOD_H4, 0) > iOpen(Symbol (), PERIOD_D1, 0))

{ Alert ("Preis ist höher");

for(i=BestellungenGesamt()-1;i>=0;i--)

{ OrderSelect(i, SELECT_BY_POS

if(BestellMagicNumber()==Magic_b)

{Alert ("orderticket",OrderTicket();

OrderClose(OrderTicket(),Loot,Bid,80,R);

Alert ("GetLastError");

Kontrolle = 0;

Magie_b++;

} } }

if (((timecur > "22:59:00") && (timecur < "22:59:04")) && (iOpen(Symbol (), PERIOD_H4, 0)

!= iOpen(Symbol (), PERIOD_D1, 0))

{if (iOpen(Symbol (), PERIOD_H4, 0) < iOpen(Symbol (), PERIOD_D1, 0))

{ Alert (" Preis ist höher");

for(i=BestellungenGesamt()-1;i>=0;i--)

{ OrderSelect(i, SELECT_BY_POS

if(BestellMagicNumber()==Magic_s)

{Alert ("orderticket",OrderTicket();

OrderClose(OrderTicket(),Loot,Ask,80,R);

Alert(GetLastError);

Kontrolle = 0;

Magie_s++;

} } } } }

Aber in der Tester aus irgendeinem Grund ist nicht jeden Tag geschlossen (zum Beispiel in der Prüfung von 23.08-23.10 2010) geschlossen nur 27.09. Und 24.08, trotz der Tatsache, dass nicht implementiert nytp,keine SL- Handel ist nicht geschlossen. bereits dritten Tag Kopfschmerzen, kann ich nicht denken, was falsch ist. bitte helfen

P.S. Bedingung des Eintritts fällt immer mit einer Bedingung des Schließens zusammen (außer der Zeit natürlich, es ist möglich zuzugeben, dass hier Zeit von Oktober 22:01:00)

 
Vielleicht weil die Reichweite zu gering ist, nur 4 Sekunden? Der Balken weist zu diesem Zeitpunkt nur wenige Ticks auf, und das Testgerät erreicht möglicherweise nicht das eingestellte Intervall.