Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich versuche, viel Reset-Button zu machen, aber ich brauche, um vielbesseres Ergebnis als diese zu bekommen, aber ich kann nicht.
(Ich mag nicht alle meine ea's und Indikatoren Button-Objekte, weil alle von ihnen sehr hässlich wie diese. )
Ich brauche zwei Dinge von euch Jungs, die helfen können und gibt mir gute Ratschläge, bitte ich brauche wirklich Ihre Hilfe.
Ich verbrachte eine Menge Zeit, und ich kann nicht herausfinden, was ist ein Problem mit meinem code.
Vielen Dank im Voraus.
//--- zweites Mal bearbeitet - während ich diesen Kommentar schreibe, habe ich vielleicht ein Nickerchen gemacht...
ObjectSetString ( 0, "button lot reset", OBJPROP_TEXT , "x" );
ObjectSetString ( 0, "button lot reset", OBJPROP_FONT , "Verdana" );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_FONTSIZE , 14 );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_XDISTANCE , 16 );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_YDISTANCE , 16 );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_XSIZE , 18 );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_YSIZE , 18 );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_CORNER , CORNER_LEFT_UPPER );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_COLOR , White );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_BGCOLOR , Black );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_BORDER_COLOR , Black );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_STATE , false );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_BACK , false );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_SELECTABLE , false );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_SELECTED , false );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_HIDDEN , true );
ObjectSetInteger ( 0, "button lot reset", OBJPROP_ZORDER , true );
//| Create the button |
//+------------------------------------------------------------------+
bool ButtonCreate(const long chart_ID=0, // chart's ID
const string name="Button", // button name
const int sub_window=0, // subwindow index
const int x=0, // X coordinate
const int y=0, // Y coordinate
const int width=50, // button width
const int height=18, // button height
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // chart corner for anchoring
const string text="Button", // text
const string font="Arial", // font
const int font_size=10, // font size
const color clr=clrBlack, // text color
const color back_clr=C'236,233,216', // background color
const color border_clr=clrNONE, // border color
const bool state=false, // pressed/released
const bool back=false, // in the background
const bool selection=false, // highlight to move
const bool hidden=true, // hidden in the object list
const long z_order=0) // priority for mouse click
{
//--- reset the error value
ResetLastError();
//--- create the button
if(!ObjectCreate(chart_ID,name,OBJ_BUTTON,sub_window,0,0))
{
Print(__FUNCTION__,
": failed to create the button! Error code = ",GetLastError());
return(false);
}
//--- set button coordinates
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
//--- set button size
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
//--- set the chart's corner, relative to which point coordinates are defined
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
//--- set the text
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
//--- set text font
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
//--- set font size
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
//--- set text color
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
//--- set background color
ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
//--- set border color
ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_COLOR,border_clr);
//--- display in the foreground (false) or background (true)
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
//--- set button state
ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state);
//--- enable (true) or disable (false) the mode of moving the button by mouse
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
//--- hide (true) or display (false) graphical object name in the object list
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
//--- set the priority for receiving the event of a mouse click in the chart
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//--- successful execution
return(true);
}
//+------------------------------------------------------------------+
Bitte verwenden Sie einfach die Funktion aus der Dokumentation, um die Schaltflächen zu erstellen. Fügen Sie sie einfach am Ende Ihres Codes ein, rufen Sie die Funktion auf und übergeben Sie die Parameter.
Dann können Sie sie einfach aufrufen:
Auch
Danke, ich habe es korrigiert, es war nur ein Fehler.
--------------------------------------------
Bitte verwenden Sie die Funktion aus der Dokumentation "wie sie ist", um die Schaltflächen zu erstellen, fügen Sie sie einfach am Ende Ihres Codes ein, rufen Sie die Funktion auf und übergeben Sie die Parameter.
So dann können Sie einfach aufrufen:
Danke Marco, das wird mir sehr helfen, und meine EA-Codes sieht wie aufgeräumt.
Auch ich muss über unten Code fragen, was ist es, wie ist es funktionieren? (selbst ich habe darüber gelesen, aber ich verstehe nicht mehr klar)
Bitte erklären Sie es etwas genauer, vielen Dank im Voraus.
----------------------------------------
Außerdem muss ich void anstelle von bool verwenden, wie im untenstehenden Code,was ist alsogut?
// or
void ButtonCreate(...)
Die Funktion gibt entweder true oder false zurück, je nachdem, ob die Erstellung der Schaltfläche erfolgreich war oder nicht. Es hängt also von Ihnen ab, ob Sie überprüfen möchten, ob die Schaltfläche tatsächlich erstellt wurde.
Was die zweite Frage betrifft, so ist der Tooltip das, was sichtbar wird, wenn Sie mit der Maus über das Objekt im Diagramm fahren.
Die Art und Weise, wie Sie jetzt arbeiten, hat ihre Grenzen.
Wenn Sie sie erweitern möchten, lesen Sie bitte die folgenden Artikel:
https://www.mql5.com/en/search#!keyword=graphical%20interfaces&module=mql5_module_articles
Die Funktion gibt entweder true oder false zurück, je nachdem, ob die Erstellung der Schaltfläche erfolgreich war oder nicht. Es hängt also von Ihnen ab, ob Sie überprüfen möchten, ob die Schaltfläche tatsächlich erstellt wurde.
Was die zweite Frage betrifft, so ist der Tooltip das, was sichtbar wird, wenn Sie mit der Maus über das Objekt im Diagramm fahren.
Die Art und Weise, wie Sie jetzt arbeiten, hat ihre Grenzen.
Wenn Sie sie erweitern wollen, lesen Sie bitte die folgenden Artikel:
https://www.mql5.com/en/search#!keyword=graphical%20interfaces&module=mql5_module_articles
Ein riesiges Dankeschön.
WOW, Sie werden mein Mann sein, Mr. Marco.
( seit Deinem ersten Kommentar - Du hast mir sehr geholfen - Du versuchst immer, meine Anliegen zu verstehen - noch einmal herzlichen Dank )
Ich muss das PNG-Dateiformat im Code meines EAs für das LotSize-Symbol verwenden.
Aber ich fand nur .BMP-Dateiformat, so kann jemand mir helfen / beraten mich?
Wenn jeder Kommentar könnte schnell viel zu schätzen, nur ich bin ein bisschen mehr eilen.
Vielen Dank im Voraus.
Ich versuche, wenn lotize besser als lotvalue 'State true' sonst 'State false'.
(wenn ich auf 'Reset' klicke, wird das Objekt zu 'state false' und nachdem ich die Losgröße erhöht habe, wird der Status nicht zu true)
Ist der folgende Code falsch?
if ( sparam == _namelotRset )
{
if ( _lotSize > _lotValue )
{
ObjectSetInteger( 0, sparam, OBJPROP_STATE, true );
} //---if Close
else
{
ObjectSetInteger( 0, sparam, OBJPROP_STATE, false );
} //---if Close
_lotSize = _lotValue * _lotMin;
_infoUpdate();
return;
} //---if Close
Danke!
//--- zweites Mal bearbeitet
Ich versuche'ON OFF' mit untenstehendem Code zu schalten.
Siehe dazu:
https://www.mql5.com/en/docs/constants/objectconstants/enum_object/obj_bitmap
Für das Bitmap-Problem.
Und für das andere Problem können Sie es in separate Teile splitten, um den Zustand außerhalb von sparam zu setzen.