Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools  
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4306
Beiträge: 39657
Benutzer: 6.627
Aktive Benutzer: 209
Links: 80
Wir begrüßen unseren neuesten Benutzer: Schnitzel
Mit 1.311 Benutzern waren die meisten Benutzer gleichzeitig online (vor 4 Wochen um 01:18).
Neue Benutzer:
vor 8 Stunden
- Schnitzel
vor 3 Tagen
- ea.trading
vor 3 Tagen
- Rvario
vor 5 Tagen
- Genuinelea...
vor 5 Tagen
- lars.onlin...

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 149
Gesamt: 150
Team: 0
Team:  
Benutzer:  daybyter
Freunde anzeigen

Empfehlungen

Like Tree3Likes
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: Sep 2018
Beiträge: 15
Bayreuther befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Bobs Beitrag anzeigen
Warum nicht? Es ist möglich ein Stand des Buttons im Strategietester definieren. Das wird aber ein anderen Algorithmus, ohne OnChartEvent(). Bei diesem wird Button bei nachfolgenden Tick reagieren.
Das war auch neu für mich. Vielen Dank für den Hinweis

Code:
string BUTTON_NAME = "Button";

#include <stdlib.mqh>

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   ObjectCreate(0,BUTTON_NAME,OBJ_BUTTON,0,0,0);
   ObjectSetInteger(0,BUTTON_NAME,OBJPROP_XSIZE,200);
   ObjectSetInteger(0,BUTTON_NAME,OBJPROP_YSIZE,100);
   ObjectSetInteger(0,BUTTON_NAME,OBJPROP_BGCOLOR,clrFuchsia);
   ObjectSetInteger(0,BUTTON_NAME,OBJPROP_COLOR,clrWhite);
   ObjectSetInteger(0,BUTTON_NAME,OBJPROP_XDISTANCE,100);
   ObjectSetInteger(0,BUTTON_NAME,OBJPROP_YDISTANCE,100);
   ObjectSetString(0,BUTTON_NAME,OBJPROP_TEXT,"BUY");
  
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

   ObjectDelete(BUTTON_NAME);
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   // Only needed in Visual Testing Mode
   if( IsVisualMode() )
   {
      // Check Chart Buttons in Visual Mode
      CheckResetButton();
   }

   return;
}
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
{
   if(sparam==BUTTON_NAME)
   {
      Comment("AAAAAA");
      //OrderSend(_Symbol,OP_BUY,1,Ask,0,0,0);
      //oder halt eine andere Variable ändern die dann im EA eine Aktion ausführt !
      ObjectSetInteger(0,BUTTON_NAME,OBJPROP_STATE,false); //setzt den Button zurück
   }
}
//+------------------------------------------------------------------+
void CheckResetButton()
{
   if (bool (ObjectGetInteger (0, BUTTON_NAME, OBJPROP_STATE)))
   {
      Comment ("AAAAAA");
      ObjectSetInteger (0, BUTTON_NAME, OBJPROP_STATE, false);
   }
}
traderdoc likes this.
Mit Zitat antworten
  #12 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 72
Bobs befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Jetzt machst Du mich aber richtig neugierig.
Schreibe doch mal bitte den Code dazu.

traderdoc
Ungefähr mache ich es so:
Code:
void OnTick()
   {
   ...
   if(ObjectFind(fName)<0)
      {
      ObjectCreate(chart_ID,fName,OBJ_BUTTON,sub_window,0,0);
      ObjectSetInteger(chart_ID,fName,OBJPROP_STATE,fState); 
      }
   ObjectSetInteger(...) ...
   if(ObjectGetInteger(0,Name,OBJPROP_STATE)==true)
      {
      ... // Alles, was EA ausführen muss
      ObjectSetInteger(0,Name,OBJPROP_STATE,false);
      }
   }
AVT likes this.
Mit Zitat antworten
  #13 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 124
Max2018 befindet sich auf einem aufstrebenden Ast
Standard

Bobs ist einfach nur der Genialste DANKE
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
button


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 05:55 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2019 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------