Erreurs, bugs, questions - page 2228

 
Impreza:

S'il vous plaît, aidez-nous à résoudre le problème, je ne comprends pas. ....

Puisque vous n'avez pas fourni d'informations complètes, utilisons la télépathie.

Vous avez mal déclaré la fonction mouse_event dans votre fichier WinUser32.mqh.

Corrigez-le comme suit :

#define _WIN64  // Только для 64-разрядного терминала!

#include <WinDef.mqh>

#import "User32.dll"
  void mouse_event( DWORD dwFlags, DWORD dx, DWORD dy, DWORD dwData, ULONG_PTR dwExtraInfo );
#import

Dossiers :
WinDef.mqh  2 kb
 
Koldun Zloy:

Puisque vous n'avez pas fourni toutes les informations, utilisons la télépathie.

Votre fichier WinUser32.mqh ne déclare pas correctement la fonction mouse_event.

Corrigez-le comme suit :


seriez-vous autorisé à fournir des informations complètes ?
 
Impreza:
serait-il possible de vous fournir des informations complètes ?

Je voulais dire le fichierWinUser32.mqh, la taille du terminal, le code dans lequel l'erreur est reproduite, la ligne dans laquelle l'erreur se produit.

C'est un secret ?

 
Impreza:
Le styler n'a pas aidé, regarde si le code n'est pas écrit correctement.

Je suis sûr que ce n'est pas écrit correctement, essayez de l'écrire debout plutôt qu'assis, parfois la danse du tambourin aide ;))

on vous a demandé un code complet pour reproduire l'erreur, vous l'avez ignoré, le week-end est terminé, alors passez à autre chose ;))

 
Koldun Zloy:

Je voulais dire le fichierWinUser32.mqh, la taille du terminal, le code dans lequel l'erreur est reproduite, la ligne dans laquelle l'erreur se produit.

C'est un secret ?

Toujours pas de travail, je change plus d'erreurs deviennent, peut-être que c'est dans la bibliothèque, comment il affecte qui sait ? Tout fonctionnait sur un autre ordinateur, rien n'a été changé...
 
Impreza:
Cela ne fonctionne toujours pas, je change plus d'erreurs, peut-être que c'est la bibliothèque, qui sait comment elle affecte cela ? Tout fonctionnait sur l'autre ordinateur, rien n'a été changé...

C'est donc un secret après tout.

C'est bien pour toi. Attendez ! N'abandonnez pas !

 
Impreza:


Utilisez Alt+S pour insérer le code formaté. https://www.mql5.com/ru/articles/24#editor

MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • www.mql5.com
Теперь вы можете не только читать статьи и скачивать программы на языке MQL5, но и участвовать в обсуждении интересующих вас тем на Форуме, оставлять комментарии к статьям и опубликованным кодам. Кроме того, вы можете не только выкладывать собственные разработки в Code Base, но и публиковать Статьи, за которые мы предлагаем вознаграждение...
 
Sergey Savinkin:

Utilisez Alt+S pour insérer le code formaté. https://www.mql5.com/ru/articles/24#editor

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                                   Copyright 2017 |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property version   "1.00"
#property strict
#property indicator_buffers 1
#property indicator_plots   0
//#property indicator_color1 Lime
datetime Tim=D'2018.10.10 23:00:00';
double y[];
datetime tine=0; string typ="";

input int   bye_x=1525; // Bye - x
input int   bye_y=432; // Bye - y
input int   sell_x=1525; // Sell - х
input int   sell_y=468; // Sell - у
input int   Stop_Limit=5; // Stop_Limit
input int   delta=2; // Spike

#include <WinUser32.mqh>
#import "user32.dll" 
bool  SetCursorPos(int PosX,int PosY);
#import 
input bool Allert=true; // Allert

const long allowed_accounts[]={ 8432237,240712,50188344,50186534,50187101,9675587,50224049,5000007084,50211205}; // 465438
int password_status=-1;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {

   EventSetMillisecondTimer(20);

   SetIndexBuffer(0,y,INDICATOR_DATA);

   long account=AccountInfoInteger(ACCOUNT_LOGIN);

   for(int i=0; i<ArraySize(allowed_accounts); i++)
      if(account==allowed_accounts[i])
        {
         password_status=1;
         break;
        }

   tine=TimeCurrent()+5;
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(Tim>TimeCurrent())
     {

      double agr=(SymbolInfoDouble(Symbol(),SYMBOL_BID)+SymbolInfoDouble(Symbol(),SYMBOL_ASK))/2;
      y[0]=agr;

      for(int i=ArraySize(y)-1;i>=1;i--){y[i]=y[i-1];}

      if(y[1]+delta*Point()<y[0] || y[2]+delta*Point()<y[0] || 
         y[3]+delta*Point()<y[0] || y[4]+delta*Point()<y[0] || 
         y[5]+delta*Point()<y[0] || y[6]+delta*Point()<y[0] || 
         y[7]+delta*Point()<y[0] || y[8]+delta*Point()<y[0] || 
         y[9]+delta*Point()<y[0] || y[10]+delta*Point()<y[0] || 
         y[11]+delta*Point()<y[0] || y[12]+delta*Point()<y[0] || 
         y[13]+delta*Point()<y[0] || y[14]+delta*Point()<y[0] || 
         y[15]+delta*Point()<y[0] || y[16]+delta*Point()<y[0] || 
         y[17]+delta*Point()<y[0] || y[18]+delta*Point()<y[0] || 
         y[19]+delta*Point()<y[0] || y[20]+delta*Point()<y[0])

         if(password_status==1)
            Up_sig("Call_sig");

      if(y[1]-delta*Point()>y[0] || y[2]-delta*Point()>y[0] || 
         y[3]-delta*Point()>y[0] || y[4]-delta*Point()>y[0] || 
         y[5]-delta*Point()>y[0] || y[6]-delta*Point()>y[0] || 
         y[7]-delta*Point()>y[0] || y[8]-delta*Point()>y[0] || 
         y[9]-delta*Point()>y[0] || y[10]-delta*Point()>y[0] || 
         y[11]-delta*Point()>y[0] || y[12]-delta*Point()>y[0] || 
         y[13]-delta*Point()>y[0] || y[14]-delta*Point()>y[0] || 
         y[15]-delta*Point()>y[0] || y[16]-delta*Point()>y[0] || 
         y[17]-delta*Point()>y[0] || y[18]-delta*Point()>y[0] || 
         y[19]-delta*Point()>y[0] || y[20]-delta*Point()>y[0])

         if(password_status==1)
            Dn_sig("Sell_sig");

        }else {Alert("Демо-период завершён ",TimeToString(Tim));
     }

  }
//+------------------------------------------------------------------+

void Up_sig(string txt)
  {
   if(TimeCurrent()>(tine+Stop_Limit))
     {
      tine=TimeCurrent();

      if(Allert) Alert(txt);

      SetCursorPos(bye_x,bye_y);
      mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
      mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Dn_sig(string txt)
  {
   if(TimeCurrent()>(tine+Stop_Limit))
     {
      tine=TimeCurrent();

      if(Allert) Alert(txt);

      SetCursorPos(sell_x,sell_y);
      mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
      mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

     }
  }
//+------------------------------------------------------------------+
 
Impreza:
#property indicator_chart_window

input int  bye_x = 1525;   // Bye - x
input int  bye_y = 432;    // Bye - y
input int  sell_x = 1525;  // Sell - х
input int  sell_y = 468;   // Sell - у
input int  Stop_Limit = 5; // Stop_Limit
input int  delta = 2;      // Spike
input bool Allert = true;  // Allert

#define  MOUSEEVENTF_LEFTDOWN    0x0002 // left button down
#define  MOUSEEVENTF_LEFTUP      0x0004 // left button up

#define _WIN64  // Только для 64-разрядного терминала!

#include <WinDef.mqh>

#import "user32.dll" 
   BOOL SetCursorPos( int PosX, int PosY );
   void mouse_event( DWORD dwFlags, DWORD dx, DWORD dy, DWORD dwData, ULONG_PTR dwExtraInfo );
#import 

const long allowed_accounts[] = {8432237, 240712, 50188344, 50186534, 50187101, 9675587, 50224049, 5000007084, 50211205}; // 465438
datetime Tim = D'2018.10.10 23:00:00';
double y[];
int password_status = -1;
datetime tine = 0;
string typ = "";

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
   EventSetMillisecondTimer( 20 );
   
   SetIndexBuffer( 0, y, INDICATOR_DATA );
   
   long account = AccountInfoInteger( ACCOUNT_LOGIN );
   
   for( int i = 0; i < ArraySize( allowed_accounts ); i++ ){
      if( account == allowed_accounts[i] )
      {
         password_status = 1;
         break;
      }
   }
   
   tine = TimeCurrent() + 5;
//---
   return INIT_SUCCEEDED;
}
//+------------------------------------------------------------------+
//| 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 rates_total;
}
//+------------------------------------------------------------------+
void OnTimer()
{
   if( Tim > TimeCurrent() )
   {
      double agr = (SymbolInfoDouble( Symbol(), SYMBOL_BID ) + SymbolInfoDouble( Symbol(), SYMBOL_ASK )) / 2.0;
      y[0] = agr;

      for( int i = ArraySize(y)-1; i >= 1; i--)
      {
         y[i] = y[i-1];
      }
      
      double dp = delta * Point();

      if( y[1] + dp < y[0] || y[2] + dp < y[0] || 
         y[3] + dp < y[0] || y[4] + dp < y[0] || 
         y[5] + dp < y[0] || y[6] + dp < y[0] || 
         y[7] + dp < y[0] || y[8] + dp < y[0] || 
         y[9] + dp < y[0] || y[10] + dp < y[0] || 
         y[11] + dp < y[0] || y[12] + dp < y[0] || 
         y[13] + dp < y[0] || y[14] + dp < y[0] || 
         y[15] + dp < y[0] || y[16] + dp < y[0] || 
         y[17] + dp < y[0] || y[18] + dp < y[0] || 
         y[19] + dp < y[0] || y[20] + dp < y[0])
      {
         if( password_status == 1 ){
            Up_sig( "Call_sig" );
         }
      }

      if(y[1] - dp > y[0] || y[2] - dp > y[0] || 
         y[3] - dp > y[0] || y[4] - dp > y[0] || 
         y[5] - dp > y[0] || y[6] - dp > y[0] || 
         y[7] - dp > y[0] || y[8] - dp > y[0] || 
         y[9] - dp > y[0] || y[10] - dp > y[0] || 
         y[11] - dp > y[0] || y[12] - dp > y[0] || 
         y[13] - dp > y[0] || y[14] - dp > y[0] || 
         y[15] - dp > y[0] || y[16] - dp > y[0] || 
         y[17] - dp > y[0] || y[18] - dp > y[0] || 
         y[19] - dp > y[0] || y[20] - dp > y[0])
      {
         if( password_status == 1 ){
            Dn_sig( "Sell_sig" );
         }
      }
   }
   else {
      Alert( "Демо-период завершён ", TimeToString( Tim ) );
   }
}
//+------------------------------------------------------------------+
void Up_sig( string txt )
{
   if( TimeCurrent() > (tine + Stop_Limit) )
   {
      tine = TimeCurrent();
      
      if( Allert ) Alert( txt );
      
      SetCursorPos( bye_x, bye_y );
      mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );
      mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );
   }
}
//+------------------------------------------------------------------+
void Dn_sig( string txt )
{
   if( TimeCurrent() > (tine + Stop_Limit) )
   {
      tine=TimeCurrent();
      
      if( Allert ) Alert( txt );
      
      SetCursorPos( sell_x, sell_y );
      mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );
      mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );
   }
}
//+------------------------------------------------------------------+
 
Koldun Zloy:

Je l'ai remplacé, il dit qu'il n'y a pas d'erreurs, finalement il n'a pas créé le fichier.