[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 245

 
Stells:

nelle variabili globali
Poi stampa il nome dell'oggetto e il prefisso.
 

Come si calcola il profitto di un ordine?

if(OrderType() == 0) profitbuy += ((Bid - OrderOpenPrice())*OrderLots()*(tickvalue/ticksize))+OrderSwap()+OrderCommission();

Cosa ho fatto di male? Su Eur/Usd funziona, ma su Usd/Jpy funziona, ma non correttamente.

 

Ho deciso di provare a usare la funzione di modifica del tempo, mi sembra più facile e più chiaro. Non si compila. Forse sono io, naturalmente qualcosa di stupido. L'ho scritto in questo modo.

'fChangePeriod' - variabile non definita C:\terminal\experts/indicators/timeframe.mq4 (37, 12)

'WM_COMMAND' - variabile non definita C:Terminal/experts/indicators/timeframe.mq4 (62, 22)

//+------------------------------------------------------------------+
//|                                                    таймфрейм.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
extern int nPeriod=30,P=1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   if(P<0){fChangePeriod;P--;}
//----
   return(0);
  }
//+------------------------------------------------------------------+

void fChangePeriod(int nPeriod)
{
   int hWnd, wParam;
   
   switch(nPeriod)
   {
      case PERIOD_M1:  wParam = 33137; break;
      case PERIOD_M5:  wParam = 33138; break;
      case PERIOD_M15: wParam = 33139; break;
      case PERIOD_M30: wParam = 33140; break;
      case PERIOD_H1:  wParam = 33135; break;
      case PERIOD_H4:  wParam = 33136; break;
      case PERIOD_D1:  wParam = 33134; break;
      case PERIOD_W1:  wParam = 33141; break;
      case PERIOD_MN1: wParam = 33334; break;
   }
        
   hWnd = WindowHandle(Symbol(),Period());
        
   PostMessageA(hWnd,WM_COMMAND,wParam,0);
}
 
Non conosco ancora la dll, perché questo script funzioni, devo mettere questa dll in una delle cartelle? Sono un po' confuso.
 
Vinin:

Dammi il codice.

Non stare in silenzio, dì qualcosa, sto pensando bene o no?

 
Per quanto riguarda la libreria, le funzioni WinAPI, qual è la directory principale dove ServicesMT4.rar dovrebbe essere messo? Basta guardare ServicesMT4.rar, aperto, anche nessun modo - apertura programmi giurare, formato sbagliato specificato.
 
Dimka-novitsek:
Per quanto riguarda la libreria, le funzioni WinAPI, qual è la directory principale in cui dovete salvare ServicesMT4.rar? Basta guardare ServicesMT4.rar, aperto, anche non funziona - programmi di apertura giurano, formato sbagliato è specificato.

C'è uno script incluso con esempi di come usare tutte le funzioni della libreria. Tutto può essere fatto allo stesso modo.

L'archivio dovrebbe essere scompattato nella directory MT4 o scompattare tutto separatamente. C'è anche un'istruzione con 5 punti.

L'archivio è aperto per me. Ho appena controllato. Non si dovrebbe inventare. Vi consiglio di leggere attentamente le istruzioni.

Ecco un esempio di un Expert Advisor:

#include <ServicesMT4.mqh>
void start()
  {
   int hwndChart = WindowHandle(Symbol(),Period());
   while (!IsStopped())
    {
     for (int i = 0; i < 9; i++)
      {
       ServiceSetTimeframeByNumber(hwndChart, i);
       Sleep(2000);
      }
    }
  }
 

Beh, credo di aver letto... I file

ServiziMT4.mqh (94.1 Kb) Visualizza
WinUser32.mqh (70,3 Kb) Visualizza
Check_ServicesMT4.dll.mq4 (115,2 Kb)
ZH_Tutti_i_Testi 4.10912.mq4 (8,4 Kb) Visualizza

Ho messo i file al loro posto, senza problemi.

Ma questo è il 4. Decomprimere l'archivio con tutte queste directory e la libreria di MT4 nella directory principale di MT4.

Non lo capisco. Cos'è la directory principale? E come rimuovere ZIP dal nome dell'archivio? Sì, l'archivio semplicemente salvato nella cartella di sinistra sul mio computer, quindi io, è firmato lì, non vedo nel nome di ZIP, si chiama ServicesMT4.rar, vero, l'estensione è ZIP, ma come cambiarlo, se ho bisogno? Forse no, ma qual è la directory principale?

 
Dimka-novitsek:

Beh, credo di aver letto... File

ServicesMT4.mqh (94,1 Kb) Visualizza
WinUser32.mqh (70,3 Kb) Visualizza
Check_ServicesMT4.dll.mq4 (115,2 Kb)
ZH_All_Quotings 4.10912.mq4 (8,4 Kb) Visualizza

L'ho messo senza problemi dove dovrebbe essere.

Ma questo è il 4. Ho scompattato l'archivio con tutti questi e la libreria nelle directory di MT4 nella directory principale di MT4.

Non lo capisco. Cos'è la directory principale? E come rimuovere ZIP dal nome dell'archivio? Sì, l'archivio semplicemente salvato nella cartella di sinistra sul mio computer, quindi io, è firmato lì, non vedo nel nome di ZIP, si chiama ServicesMT4.rar, vero, l'estensione è ZIP, ma come cambiarlo, se ho bisogno? Forse non è necessario, ma qual è la directory principale?

1. I file elencati sono nell'archivio. Ma l'archivio contiene anche il file più importante della libreria ServicesMT4.dll stessa. Altrimenti non può essere attaccato. Recentemente siamo stati privati di questa possibilità.

2. La directory principale di MT4 è la directory del vostro MT4. Come altro spiegarlo semplicemente - non lo so.

Per vedere le estensioni, dovete configurare la visibilità di queste estensioni nelle proprietà della cartella. Sono molto sorpreso che il programmatore abbia disabilitato la visibilità delle estensioni. Proprio come un manichino.

4. Speriamo che dopo questo non sia difficile rinominare l'estensione. Per sicurezza, questo si fa dal menu contestuale del tasto destro del mouse.

5. Ho WinRar che apre questo file con qualsiasi estensione. L'estensione è necessaria solo per associare automaticamente i file ai programmi per aprirli.

 

Per favore datemi un suggerimento. la situazione è la seguente:


#importare "Trend.ex4"

doppio Zena(imya,sdvig);

#importare

Quando cerco di importare questa funzione, il compilatore scrive: 'imya' - definizione del parametro attesa. cosa devo fare?

Motivazione: