Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1555 1...154815491550155115521553155415551556155715581559156015611562...1954 Neuer Kommentar Mihail Matkovskij 2021.07.31 18:25 #15541 MakarFX:Es werden keine Fehler ausgegeben. Fehler können auch algorithmische Fehler sein, nicht nur Laufzeitfehler! Sie brauchen den Code, wenn Sie die Ursache finden wollen. MakarFX: Bei diesen Koordinaten steht der Knopf auf dem Kopf, da die Länge des Knopfes vom X-Punkt aus gezählt wird Warum brauchen Sie so einen komischen Knopf...? законопослушный гражданин 2021.07.31 18:28 #15542 MakarFX:Ich kann die Option ExpertRemove() vorschlagen, wenn ein Gewinn oder Verlust erreicht wird danke Ich habe es gelesen, aber ich verstehe die Logik der Aktionen nicht ganz. Wenn ein bestimmtes Ereignis erreicht wird, wird der Expert Advisor deaktiviert und aus dem Diagramm entfernt, richtig? Tretyakov Rostyslav 2021.07.31 18:30 #15543 Mihail Matkovskij:Fehler können auch algorithmische Fehler sein, nicht nur Laufzeitfehler! Sie brauchen den Code, wenn Sie die Ursache finden wollen. Warum brauchen Sie so einen komischen Knopf...? Ich schrieb, dass ich zufällig über einen solchen Fehler gestolpert bin Hier ist der Code... falls Sie interessiert sind //+------------------------------------------------------------------+ //| BAG.mq4 | //| Copyright 2020, DrMak. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, DrMak." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping CreateButton(0,"Button_1",0,200,100,100,50,CORNER_RIGHT_UPPER," ","START","Arial Black",10, clrWhite,clrGreen,BORDER_SUNKEN,false,false,false,false,false,0); CreateButton(0,"Button_2",0,200,100,-100,-50,CORNER_RIGHT_UPPER," ","START","Arial Black",10, clrWhite,clrGreen,BORDER_SUNKEN,false,false,false,false,false,0); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ void OnDeinit(const int reason) { ObjectsDeleteAll(0,"Button_"); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { //--- } //+------------------------------------------------------------------+ //| Создает кнопку | //+------------------------------------------------------------------+ bool CreateButton(const long chart_ID=0, // ID графика const string name="Button", // имя кнопки const int sub_window=0, // номер подокна const int x=0, // координата по оси X const int y=0, // координата по оси Y const int width=50, // ширина кнопки const int height=18, // высота кнопки const int corner=0, // угол графика для привязки const string tool="TOOLTIP", // TOOLTIP const string text="Button", // текст const string font="Arial", // шрифт const int font_size=10, // размер шрифта const color clr=clrBlack, // цвет текста const color back_clr=C'236,233,216', // цвет фона ENUM_BORDER_TYPE border_type=BORDER_FLAT, // тип границы const bool state=false, // нажата/отжата const bool back=false, // на заднем плане const bool selection=false, // выделить для перемещений const bool selected=false, // выделить для перемещений const bool hidden=true, // скрыт в списке объектов const long z_order=0) // приоритет на нажатие мышью { //--- сбросим значение ошибки ResetLastError(); //--- создадим кнопку if(!ObjectCreate(chart_ID,name,OBJ_BUTTON,sub_window,0,0)) { Print(__FUNCTION__, ": не удалось создать кнопку! Код ошибки = ",GetLastError()); return(false); } ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x); ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y); ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width); ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height); ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner); ObjectSetString(chart_ID,name,OBJPROP_TOOLTIP,tool); ObjectSetString(chart_ID,name,OBJPROP_TEXT,text); ObjectSetString(chart_ID,name,OBJPROP_FONT,font); ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size); ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr); ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_TYPE,border_type); ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selected); ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); //--- успешное выполнение return(true); } //+------------------------------------------------------------------+ Tretyakov Rostyslav 2021.07.31 18:30 #15544 законопослушный гражданин:danke Ich habe es gelesen, aber ich verstehe die Logik des Handelns nicht ganz Wenn ein bestimmtes Ereignis erreicht wird, wird der Expert Advisor deaktiviert und vollständig aus dem Diagramm entfernt, richtig? Ja Mihail Matkovskij 2021.07.31 18:33 #15545 MakarFX:Ich schrieb, dass ich zufällig über einen solchen Fehler gestolpert bin Hier ist der Code... falls Sie interessiert sind. Hier reagiert also keine der Tasten. DerOnChartEvent-Handler ist leer... Tretyakov Rostyslav 2021.07.31 18:42 #15546 Mihail Matkovskij:Hier reagiert also keine der Tasten. DerOnChartEvent-Handler ist leer... ausprobieren) wird eine Taste gedrückt und die andere nicht Mihail Matkovskij 2021.07.31 18:45 #15547 MakarFX: Probieren Sie es aus) eine Taste drückt und die andere nicht Wer macht das überhaupt, negative Dimensionen festlegen und warum, ist mir peinlich zu fragen...? законопослушный гражданин 2021.07.31 18:45 #15548 MakarFX: Ja Verstanden. Das funktioniert bei mir nicht. Sie könnten wieder eine globale Variable erstellen, so dass beim Ausschalten der Eule die Menge auf den Startwert zurückgesetzt wird. Zumindest auf diese Weise erstellen Sieeine globale Variable datetime Start; int OnInit() { Start=TimeCurrent(); ..................... } void OnTick() { if (!IsTradeAllowed()) { DrawLABEL("Торговля",0,0,0,Red,"Торговля запрещена"); Start=TimeCurrent(); return; } ..................... } und dann, wenn es keine offenen/geschlossenen Aufträge gibt, später "Start". Lots=Lot; aber ich weiß immer noch nicht, wie man sie richtig erstellt Документация по MQL5: Основы языка / Переменные / Глобальные переменные www.mql5.com Глобальные переменные - Переменные - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Fehler, Irrtümer, Fragen Fragen von einem "Dummy" MT5, mql5, mql5.com Vorschläge Tretyakov Rostyslav 2021.07.31 18:51 #15549 законопослушный гражданин:Verstanden. Das funktioniert bei mir nicht. Sie könnten wieder eine globale Variable erstellen, so dass beim Ausschalten der Eule die Menge auf den Startwert zurückgesetzt wird. Zumindest auf diese Weise erstellen Sieeine globale Variable und dann, wenn es keine offenen/geschlossenen Aufträge gibt, später "Start". aber ich weiß immer noch nicht, wie man sie richtig erstellt Ich werde dir einen Button machen) Tretyakov Rostyslav 2021.07.31 18:52 #15550 Mihail Matkovskij:Wer macht das überhaupt, negative Dimensionen festlegen und warum, ist mir peinlich zu fragen...? Ich bin zufällig über diesen Fehler gestolpert und habe mich gefragt 1...154815491550155115521553155415551556155715581559156015611562...1954 Neuer Kommentar
Es werden keine Fehler ausgegeben.
Fehler können auch algorithmische Fehler sein, nicht nur Laufzeitfehler!
Sie brauchen den Code, wenn Sie die Ursache finden wollen.
Bei diesen Koordinaten steht der Knopf auf dem Kopf, da die Länge des Knopfes vom X-Punkt aus gezählt wird
Warum brauchen Sie so einen komischen Knopf...?
Ich kann die Option ExpertRemove() vorschlagen, wenn ein Gewinn oder Verlust erreicht wird
danke
Ich habe es gelesen, aber ich verstehe die Logik der Aktionen nicht ganz.
Wenn ein bestimmtes Ereignis erreicht wird, wird der Expert Advisor deaktiviert und aus dem Diagramm entfernt, richtig?
Fehler können auch algorithmische Fehler sein, nicht nur Laufzeitfehler!
Sie brauchen den Code, wenn Sie die Ursache finden wollen.
Warum brauchen Sie so einen komischen Knopf...?
Ich schrieb, dass ich zufällig über einen solchen Fehler gestolpert bin
Hier ist der Code... falls Sie interessiert sind
danke
Ich habe es gelesen, aber ich verstehe die Logik des Handelns nicht ganz
Wenn ein bestimmtes Ereignis erreicht wird, wird der Expert Advisor deaktiviert und vollständig aus dem Diagramm entfernt, richtig?
Ich schrieb, dass ich zufällig über einen solchen Fehler gestolpert bin
Hier ist der Code... falls Sie interessiert sind.
Hier reagiert also keine der Tasten. DerOnChartEvent-Handler ist leer...
Hier reagiert also keine der Tasten. DerOnChartEvent-Handler ist leer...
Probieren Sie es aus) eine Taste drückt und die andere nicht
Wer macht das überhaupt, negative Dimensionen festlegen und warum, ist mir peinlich zu fragen...?
Ja
Verstanden. Das funktioniert bei mir nicht.
Sie könnten wieder eine globale Variable erstellen, so dass beim Ausschalten der Eule die Menge auf den Startwert zurückgesetzt wird.
Zumindest auf diese Weise
erstellen Sieeine globale Variable
und dann, wenn es keine offenen/geschlossenen Aufträge gibt, später "Start".
Verstanden. Das funktioniert bei mir nicht.
Sie könnten wieder eine globale Variable erstellen, so dass beim Ausschalten der Eule die Menge auf den Startwert zurückgesetzt wird.
Zumindest auf diese Weise
erstellen Sieeine globale Variable
und dann, wenn es keine offenen/geschlossenen Aufträge gibt, später "Start".
Ich werde dir einen Button machen)
Wer macht das überhaupt, negative Dimensionen festlegen und warum, ist mir peinlich zu fragen...?