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: 4507
Beiträge: 40903
Benutzer: 6.890
Aktive Benutzer: 240
Links: 80
Wir begrüßen unseren neuesten Benutzer: ttrade
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- ttrade
vor 2 Tagen
- noSkill06s
vor 2 Tagen
- Helly
vor 6 Tagen
- trader50
vor 6 Tagen
- testx

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 123
Gesamt: 124
Team: 0
Team:  
Benutzer:  Domke01
Freunde anzeigen

Empfehlungen

Like Tree3Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 01.10.19
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 42
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.
  #12 (permalink)  
Alt 02.10.19
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 74
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.
  #13 (permalink)  
Alt 02.10.19
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 139
Max2018 befindet sich auf einem aufstrebenden Ast
Standard

Bobs ist einfach nur der Genialste DANKE
Thema geschlossen

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 11:24 Uhr.





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