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: 4340
Beiträge: 39881
Benutzer: 6.672
Aktive Benutzer: 194
Links: 80
Wir begrüßen unseren neuesten Benutzer: Rupp
Mit 1.311 Benutzern waren die meisten Benutzer gleichzeitig online (16.09.19 um 01:18).
Neue Benutzer:
vor 2 Tagen
- Rupp
vor 5 Tagen
- walkn
vor einer Woche
- hakanhukum...
vor einer Woche
- Marco_FX
vor einer Woche
- Manoo

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 571
Gesamt: 571
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree3Likes
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 01.10.19
Mitglied
 
Registriert seit: Sep 2018
Beiträge: 34
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 02.10.19
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 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
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 +1. Es ist jetzt 06:12 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.
-----------------------------------------------------------------------------------------------------------------------------