Wie programmiert man? - Seite 274

 

Leider gibt es keine Möglichkeit, den Kommentar zu ändern, sobald Sie einen Auftrag eröffnet haben. Dann wird es ein alleiniges Privileg des Brokers (und sie ändern es in Fällen von partiellen Schließungen) Es scheint, dass Metatrader in der Lage war, partielle Schließung Backtracking zu einigen Maklern nur durch Kommentar-Feld bieten und dann beschlossen sie, es von Änderungen zu uns (bloße Sterbliche) vollständig zu schließen

JohnCrawdford:
hallo,

Gibt es eine Möglichkeit, den OrderComment zu ändern, nachdem die Order erstellt wurde?

Ich habe einen EA, der schwebende Orders in Schlüsselpunkten erstellt, die wahrscheinlich erreicht werden, aber manchmal müssen diese Orders aufgrund unerwünschter schneller Bewegungen auf den Charts storniert/gelöscht werden, daher ist es nicht möglich, die Ticketnummer zu verwenden, um jede Order zu identifizieren, da jede Schlüsselpunkt-Order mehrmals geöffnet und storniert/gelöscht werden kann, Stattdessen verwendet der EA einen eindeutigen OrderComment, um jede Order zu identifizieren, aber hin und wieder fällt der Computer, auf dem der EA läuft, aus oder die Internetverbindung bricht zusammen, und das bringt die Identifizierung der Key Point-Order durcheinander, und deshalb wäre es sinnvoll, den OrderComment zu ändern, um Fehler zu vermeiden, die durch das Chaos entstehen, das entsteht, wenn der EA neu startet, ohne die vorherige Ausführung zu beenden.

Sehr verwirrend, nicht wahr?

P.S. Die magische Zahl wird verwendet, um die vom EA erstellten Aufträge zu identifizieren, daher kann ich diese Zahl nicht verwenden, um jeden Auftrag einzeln zu identifizieren.

Wenn mir jemand sagen könnte, ob es eine Möglichkeit gibt, die OrderComments zu ändern, wäre ich sehr dankbar,

ich danke Ihnen im Voraus.
 

Wie kann man eine dynamische Kompilierung für einen EA durchführen?

Hallo Welt!

Ich möchte wissen, wie ich einen EA mit dynamischer Kompilierung (F5) zum Beispiel alle 20 Sekunden erstellen kann.

Ich habe gesehen, dass die F5-Funktion von VK_F5 definiert wurde (Danke Coders Guru!). Aber wie auszuführen?

Dies ist mein EA

**********************************

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

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

#property copyright "Copyright © 2008, Systematic-Forex"

#property link "http://www.systematic-forex.com"

#property indicator_chart_window

#Eigenschaft indicator_buffers 1

#property indicator_color1 LightGray // Gelb

extern int TimeFrame = 5;

/*

extern string help_magic_number = "Setzen Sie dies, wenn Sie die Schließungsoption 3 - Schließen durch magische Zahl - verwenden wollen;

extern int magic_number = 0; // setzen, wenn Sie die Schließoption 3 - Schließen mit magischer Zahl - verwenden wollen

extern string help_comment_text = "set it if you'll use closing option 4 - closing by comment";

externer string comment_text = "";

extern bool HotKeyOn = true;

extern bool CtrlOn = true;

extern bool ShiftOn = false;

extern bool AltOn = false;

extern string HotKey = "A";

*/

#import "user32.dll"

bool GetAsyncKeyState(int nVirtKey);

#import

#include //for MessageBoxA

//---- MessageBox() Flags

#define MB_OK 0x00000000

#define MB_OKCANCEL 0x00000001

#define MB_ABORTRETRYIGNORE 0x00000002

#define MB_YESNOCANCEL 0x00000003

#define MB_YESNO 0x00000004

#define MB_RETRYCANCEL 0x00000005

#define MB_ICONHAND 0x00000010

#define MB_ICONQUESTION 0x00000020

#define MB_ICONEXCLAMATION 0x00000030

#define MB_ICONASTERISK 0x00000040

#define MB_USERICON 0x00000080

#define MB_ICONWARNING MB_ICONEXCLAMATION

#define MB_ICONERROR MB_ICONHAND

#define MB_ICONINFORMATION MB_ICONASTERISK

#define MB_ICONSTOP MB_ICONHAND

#define MB_DEFBUTTON1 0x00000000

*define MB_DEFBUTTON2 0x00000100

*define MB_DEFBUTTON3 0x00000200

*define MB_DEFBUTTON4 0x00000300

#define MB_APPLMODAL 0x00000000

#define MB_SYSTEMMODAL 0x00001000

#define MB_TASKMODAL 0x00002000

#define MB_HELP 0x00004000 // Hilfe Schaltfläche

#define MB_NOFOCUS 0x00008000

#define MB_SETFOREGROUND 0x00010000

#define MB_DEFAULT_DESKTOP_ONLY 0x00020000

#define MB_TOPMOST 0x00040000

#define MB_RIGHT 0x00080000

#define MB_RTLREADING 0x00100000

#define KEYEVENTF_EXTENDEDKEY 0x0001

#define KEYEVENTF_KEYUP 0x0002

#define VK_0 48

#define VK_1 49

#define VK_2 50

#define VK_3 51

#define VK_4 52

#define VK_5 53

#define VK_6 54

#define VK_7 55

#define VK_8 56

#define VK_9 57

#define VK_A 65

#define VK_B 66

#define VK_C 67

#define VK_D 68

#define VK_E 69

#define VK_F 70

#define VK_G 71

#define VK_H 72

#define VK_I 73

#define VK_J 74

#define VK_K 75

#define VK_L 76

#define VK_M 77

#define VK_N 78

#define VK_O 79

#define VK_P 80

#define VK_Q 81

#define VK_R 82

#define VK_S 83

#define VK_T 84

#define VK_U 85

#define VK_V 86

#define VK_W 87

#define VK_X 88

#define VK_Y 89

#define VK_Z 90

#define VK_LBUTTON 1 //Linke Maustaste

#define VK_RBUTTON 2 //Rechte Maustaste

#define VK_CANCEL 3 //Steuerungsunterbrechungs-Verarbeitung

#define VK_MBUTTON 4 //Mittlere Maustaste (Drei-Tasten-Maus)

#define VK_BACK 8 //BACKSPACE-Taste

#define VK_TAB 9 //TAB-Taste

#define VK_CLEAR 12 //CLEAR-Taste

#define VK_RETURN 13 //ENTER-Taste

#define VK_SHIFT 16 //SHIFT-Taste

#define VK_CONTROL 17 //CTRL-Taste

#define VK_MENU 18 //ALT-Taste

#define VK_PAUSE 19 //PAUSE-Taste

#define VK_CAPITAL 20 //CAPS LOCK Taste

#define VK_ESCAPE 27 //ESC-Taste

#define VK_SPACE 32 //SPACEBAR

#define VK_PRIOR 33 //PAGE UP Taste

#define VK_NEXT 34 //Seite nach unten Taste

#define VK_END 35 //End-Taste

#define VK_HOME 36 //HOME-Taste

#define VK_LEFT 37 //Pfeiltaste LINKS

#define VK_UP 38 //PFEILTASTE OBEN

#define VK_RIGHT 39 //RECHTE PFEILTASTE

#define VK_DOWN 40 //Pfeiltaste AB

#define VK_PRINT 42 //PRINT-Taste

#define VK_SNAPSHOT 44 //PRINT SCREEN Taste

#define VK_INSERT 45 //INS-Taste

#define VK_DELETE 46 //DEL-Taste

#define VK_HELP 47 //HELP-Taste

#define VK_LWIN 91 //Linke Windows-Taste (Microsoft® Natural® Tastatur)

#define VK_RWIN 92 //Rechte Windows-Taste (Natürliche Tastatur)

#define VK_APPS 93 //Applikationstaste (Natürliche Tastatur)

#define VK_SLEEP 95 //Computer-Schlaftaste

#define VK_NUMPAD0 96 //Numerischer Tastenblock 0 Taste

#define VK_NUMPAD1 97 //Numerischer Tastenblock 1 Taste

#define VK_NUMPAD2 98 //Numerischer Tastenblock 2 Taste

#define VK_NUMPAD3 99 //Numerischer Tastenblock 3 Taste

#define VK_NUMPAD4 100 //Numerischer Tastenblock 4 Taste

#define VK_NUMPAD5 101 //Numerischer Tastenblock 5 Taste

#define VK_NUMPAD6 102 //Numerischer Tastenblock 6 Taste

#define VK_NUMPAD7 103 //Numerisches Tastenfeld 7 Taste

#define VK_NUMPAD8 104 //Numerischer Tastenblock 8 Taste

#define VK_NUMPAD9 105 //Numerisches Tastenfeld 9 Taste

#define VK_MULTIPLY 106 //Multiplikationstaste

#define VK_ADD 107 //Add-Taste

#define VK_SEPARATOR 108 //Trennzeichen-Taste

#define VK_SUBTRACT 109 //Subtraktionsschlüssel

#define VK_DECIMAL 110 //Dezimaltaste

#define VK_DIVIDE 111 //Teilungstaste

#define VK_F1 112 //F1-Taste

#define VK_F2 113 //F2-Taste

#define VK_F3 114 //Taste F3

#define VK_F4 115 //F4 Taste

#define VK_F5 116 //F5 Taste

#define VK_F6 117 //F6 Taste

#define VK_F7 118 //F7 Taste

#define VK_F8 119 //F8 Taste

#define VK_F9 120 //F9 Taste

#define VK_F10 121 //F10 Taste

#define VK_F11 122 //F11 Taste

#define VK_F12 123 //F12 Taste

#define VK_F13 124 //F13 Schlüssel

#define VK_NUMLOCK 144 //NUM LOCK Taste

#define VK_SCROLL 145 //SCROLL SPERREN-Taste

#define VK_LSHIFT 160 //Linke SHIFT-Taste

#define VK_RSHIFT 161 //Rechte SHIFT-Taste

#define VK_LCONTROL 162 //Linke CONTROL-Taste

#define VK_RCONTROL 163 //Rechte STEUERUNGstaste

#define VK_LMENU 164 //Linke MENU-Taste

#define VK_RMENU 165 //Rechte MENU-Taste

//---- puffer

double Puffer[];

int i,j;

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

//| Benutzerdefinierte Funktion zur Initialisierung des Indikators |

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

int init()

{

//---- Indikatoren

SetIndexStyle(0,DRAW_LINE);

//SetIndexStyle(0,DRAW_SECTION);

//SetIndexStyle(0,DRAW_ARROW); //SetIndexStyle(0,DRAW_ARROW);

//SetIndexStyle(0,DRAW_HISTOGRAM); //SetIndexStyle(0,DRAW_HISTOGRAM);

//SetIndexStyle(0,DRAW_ZIGZAG); //SetIndexStyle(0,DRAW_ZIGZAG);

//SetIndexStyle(0,DRAW_NONE);

SetIndexPuffer(0,Puffer);

SetIndexEmptyValue(0,EMPTY_VALUE);

Comment("\n"+"test_A_sar");

//----

return(0);

}

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

Funktion zur Deinitialisierung des Custor-Indikators //|

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

int deinit()

{

Comment("");

return(0);

}

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

//| Benutzerdefinierte Indikator-Iterationsfunktion |

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

int start()

{

int Grenze;

int gezählte_Balken=IndikatorGezählt();

if(gezählte_Balken>0) gezählte_Balken--;

limit=Balken-gezählt_Balken;

for(int i=0; i<limit; i++)

{

datetime i_Time = iTime(NULL, 0, i);

int j = iBarShift(NULL, TimeFrame, i_Time, bool false);

double sar_m5 = iSAR(NULL, PERIOD_M5 , 0.02, 0.2, j + 0);

double var_indicateur = sar_m5 ;

/*

//

if(Sekunden()== 20)

{

Kompiliert oder VK_F5

}

if(Sekunden()== 40)

{

Kompiliert oder VK_F5

}

*/

Puffer= sar_m5;

}

return(0);

}

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

**********************************

Mit freundlichen Grüßen test_a_sar_m5.mq4test_a_sar_m5.mq4

Dateien:
 

Hilfe

Ich bin mit einem Problem konfrontiert, weil der Stop-Loss, wenn jemand kann mir eine Antwort in Bezug auf sie. Problem ist in einigen metatrader Chart der Preis Bars Wert zeigt in fünf Ziffer (1,4545), aber in meinem metatrader es zeigen sechsstelligen Wert (1,45456). so, wenn es versuchen, Stop-Loss nach Ihrem System, Stop-Loss-Wert werden 200 Pips bis 400 Pips. ich weiß nicht, wie es zu beheben. ich bin mich selbst eine Menge. ich mein Konto zweimal wegen dieses Problems geblasen.

Vielen Dank im Voraus.

 

kelly strategy in martingale money management

Jeder kann dies zu Kelly-Strategie oder geteilt durch 10 bearbeiten.

meine Losgröße ist 0,10, wenn das Startkapital $250 beträgt, dies sollte sich auf 0,11 ändern, wenn das Eigenkapital auf $500 steigt

-------------------------------------------------------------------

if(Geld_management)

{

switch(KontoTyp)

{

case 0: lotsi=NormalizeDouble(MathCeil((risk*AccountEquity())/10000)/10,1); break;

Fall 1: lotsi=NormalizeDouble((risk*AccountEquity())/100000,2); break;

Fall 2: lotsi=NormalizeDouble((risk*AccountEquity())/1000,2); break;

default: lotsi=NormalizeDouble(MathCeil((risk*AccountEquity())/10000)/10,1); break;

}

-------------------------------------------------------------------

Danke

 

icustom Frage

Ich weiß, ich habe im icustom-Thread gepostet, aber...

laut Code-Guru-Code

double clr = iCustom(NULL,0,"LSMA in Color",14,1500,5,0);

string sclr;

if(clr==1) sclr="Red";

if(clr==2) sclr="Green";

if(clr==3) sclr="Yellow";

wie bin ich in der Lage, einen anderen Zeitrahmen mit dem gleichen Puffer zu erhalten?

Beachten Sie, dass ein und derselbe Clr für 2 verschiedene Zeitrahmen einen unterschiedlichen Wert haben würde.

Wie kann man das umgehen?

 
khatrisushil:
Ich stehe vor einem Problem, weil der Stop-Loss, wenn jemand kann mir eine Antwort in Bezug auf sie. Problem ist in einigen metatrader Chart der Preis Bars Wert zeigt in fünf Ziffer (1.4545), aber in meinem metatrader es zeigen sechsstelligen Wert (1.45456). so, wenn es versuchen, Stop-Loss nach Ihrem System, Stop-Loss-Wert werden 200 Pips bis 400 Pips. ich weiß nicht, wie es zu beheben. ich bin ausgesetzt, mich eine Menge. ich mein Konto zweimal wegen dieses Problems. Vielen Dank im Voraus.

Faust müssen den Makler zu erkennen, welche Ziffer

in den Code sollten Sie in der Lage, die Art der Ziffer zu erkennen, gibt es genug Beispiel auf Ziffer ea Codierung.

Daher möchten Sie vielleicht auf einige EA, die in der Lage, sowohl 4 oder 5 Ziffer Broker behandeln Studie

 

Helfen Sie mir, meinen EA auf Market Execution Broker zu ändern!

Hallo zusammen, ich bin neu in EA, ich habe einen EA mit Tragery Signal erstellt:

double Buy1_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, Current + 1);

double Buy1_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, Current + 1);

double Buy2_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, Current + 0);

double Buy2_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, Current + 0);

double Buy3_1 = iSAR(NULL, 0, 0,005, 0,05, Current + 1);

double Buy3_2 = iSAR(NULL, 0, 0,005, 0,05, Aktuell + 0);

double Buy4_1 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, Current + 1);

double Buy4_2 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, Current + 0);

double Sell1_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, Current + 1);

double Sell1_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, Current + 1);

double Sell2_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, Current + 0);

double Sell2_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, Current + 0);

double Sell3_1 = iSAR(NULL, 0, 0,005, 0,05, Current + 1);

double Sell3_2 = iSAR(NULL, 0, 0,005, 0,05, Current + 0);

double Sell4_1 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, Current + 1);

double Sell4_2 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, Current + 0);

if (Buy1_1 = Buy2_2 && Buy3_1 < Buy3_2 && Buy4_1 < Buy4_2) Order = SIGNAL_BUY;

if (Sell1_1 > Sell1_2 && Sell2_1 Sell3_2 && Sell4_1 > Sell4_2) Order = SIGNAL_SELL;

Aber ich verstehe nicht, warum mein EA kann gut funktionieren auf Instant Execution (ich glaube, so), aber auf Markt-Ausführung es nichts tun, ich bin Händler in easy-forex, deren Demo-Konto ist Instant Execution mein EA gut funktionieren, aber auf Live-Konto mit Markt-Ausführung mein EA nichts tun, ich meine, es kann nicht analysieren Chart auf diesem MT4, nicht Fehler, nichts tun.

Ich bin Kontakt easy-forex Unterstützung und sie sagen mir, weil durch unterschiedliche Instant execution und Market execution. So finde ich jemanden, der expirence über EA und Handel haben. Bitte helfen Sie mir, meinen EA zu modifizieren.

Ich danke Ihnen sehr!

 
alvintran:
Hallo zusammen, ich bin neu in EA, ich habe einen EA mit Tragery Signal entwickelt:

double Buy1_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, Current + 1);

double Buy1_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, Current + 1);

double Buy2_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, Current + 0);

double Buy2_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, Current + 0);

double Buy3_1 = iSAR(NULL, 0, 0,005, 0,05, Current + 1);

double Buy3_2 = iSAR(NULL, 0, 0,005, 0,05, Aktuell + 0);

double Buy4_1 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, Current + 1);

double Buy4_2 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, Current + 0);

double Sell1_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, Current + 1);

double Sell1_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, Current + 1);

double Sell2_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, Current + 0);

double Sell2_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, Current + 0);

double Sell3_1 = iSAR(NULL, 0, 0,005, 0,05, Current + 1);

double Sell3_2 = iSAR(NULL, 0, 0,005, 0,05, Current + 0);

double Sell4_1 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, Current + 1);

double Sell4_2 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, Current + 0);

if (Buy1_1 = Buy2_2 && Buy3_1 < Buy3_2 && Buy4_1 < Buy4_2) Order = SIGNAL_BUY;

if (Sell1_1 > Sell1_2 && Sell2_1 Sell3_2 && Sell4_1 > Sell4_2) Order = SIGNAL_SELL;

Aber ich verstehe nicht, warum mein EA kann gut funktionieren auf Instant Execution (ich glaube, so), aber auf Markt-Ausführung es nichts tun, ich bin Händler in easy-forex, deren Demo-Konto ist Instant Execution mein EA gut funktionieren, aber auf Live-Konto mit Markt-Ausführung mein EA nichts tun, ich meine, es kann nicht analysieren Chart auf diesem MT4, nicht Fehler, nichts tun.

Ich bin Kontakt easy-forex Unterstützung und sie sagen mir, weil durch unterschiedliche Instant execution und Market execution. So finde ich jemanden, der expirence über EA und Handel haben. Bitte helfen Sie mir, meine EA zu ändern.

Ich danke Ihnen vielmals!

[lang=pl]Ich denke, das kann ein Problem mit SL/TP sein. Bitte zeigen Sie mir Ihren Code, oder den Teil

wo Sie Aufträge senden.

Vielen Dank,

Grzesiek[/lang]

 
g.pociejewski:
[lang=pl]Ich denke, das kann ein Problem mit SL/TP sein. Bitte zeigen Sie mir Ihren Code, oder Teil

wohin Sie Ihre Bestellungen schicken.

Cheers,

Grzesiek[/lang]

Nein, nein, es nicht Problem SL/TP, ich weiß, dass Problem, ich sagte, es tun nichts, es ist bedeuten, auf Demo-Konto ( Instant Execution oder etwas, das ich nicht weiß) es funktionieren gut, aber auf Live-Konto es nicht funktionieren, nicht haben kein Problem, nur nichts tun.

Diese EA von mir geschrieben, nicht kaufen, nicht Testversion, nicht jede begrenzt.

Bitte! helfen

 

Hinzufügen von Zeitfenstern und Abrufen von Puffern

mtuppers:

double clr = iCustom(NULL,0,"LSMA in Color",14,1500,5,0);

string sclr;

if(clr==1) sclr="Red";

if(clr==2) sclr="Green";

if(clr==3) sclr="Yellow";

Wie kann ich einen anderen Zeitrahmen mit demselben Puffer erhalten?

beachten Sie, dass die gleiche clr unterschiedliche Werte für 2 verschiedene Zeitrahmen halten würde.

Wie kann man das Problem umgehen?

Hallo Mtuppers,

Ursprünglicher aktueller Zeitrahmen:

double clr = iCustom(NULL,0, "LSMA in Farbe",14,1500,5,0);

Fügen Sie den gewünschten Zeitrahmen hinzu und ändern Sie den Variablennamen, um ihn zu unterscheiden (clr und clr2):

double clr2 = iCustom(NULL,Zeitraum_H1, "LSMA in Farbe",14,1500,5,0); // Zeitraum_H1 Time Frame

Im Indikator "LSMA in Farbe" - Es gibt 3 Puffer für die Farben, nicht nur einen, so dass Sie 3 iCustom-Anweisungen verwenden können, um sie alle zu erhalten.

Hier sind die Nummern der Puffer:

SetIndexPuffer(2,ExtMapPuffer1);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexBuffer(0,ExtMapBuffer3);

SetIndexBuffer(3,Summe);

SetIndexBuffer(4,wt);

SetIndexBuffer(5,clr);

* Beachten Sie in Ihrem Beispiel, dass Sie Puffer 0 verwenden, so dass Sie tatsächlich nur eine Farbe in ExtMapBuffer3 erhalten. Der "clr"-Puffer ist Puffer 5.

Hier sind die Zuordnungen der Farbpuffer im Indikator:

ExtMapBuffer3[shift] = wt[shift]; //rot

ExtMapBuffer2[shift] = wt[shift]; //grün

ExtMapBuffer1[shift] = wt[shift]; //gelb

Ich hoffe, das hilft,

Robert