Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1107

 
Igor Makanu:

non si può eseguire qualcosa di lungo in OnInit - il terminale potrebbe scaricare il codice

nell'indicatore non dovrebbe funzionare

Sì, sono stupido... Forse, invece di un ciclo infinito in OnInit, tornare da OnCalculate con la stessa condizione? - ci dovrebbe essere un numero definito quando non c'è il login, o -1, o 0, o EMPTY_VALUE

 

Saluti a commercianti e programmatori!

Potreste dirmi se è possibile utilizzare un metodo non standard per calcolare il periodo per la MA(Moving Average)? Voglio dire che la posizione della MA sulla barra corrente (zero) non sarà determinata dalle ultime 20 (per esempio) barre, ma da ogni 5m delle ultime 100, o semplicemente specificando il numero di barre nella storia, a partire da quella corrente. E, se c'è questa possibilità, è possibile specificare la funzione direttamente nel codice dell'indicatore?

Grazie per le informazioni.

 

Salve. Come si visualizza il simbolo del triangolo in basso e in alto?

Ecco il codice

bool OutText(const string name="Label",

const string text="Label", // testo

const int x=0, // coordinata X

const int y=0, // coordinata lungo l'asse Y

const color clr=clrYellow, // colore

const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // metodo di ancoraggio

const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // angolo grafico per l'ancora

const int font_size=12, // dimensione del carattere

const string font="Arial", // font

const double angle=0.0, // inclinazione del testo

const bool back=false, // indietro

const bool selection=false, //selezionare per lo spostamento

const bool hidden=true, // nascosto nella lista degli oggetti

const long z_order=0,

const int sub_window=0, // numero di sottofinestra

const long chart_ID=0 // ID del grafico

) // priorità del clic

{

//--- resettare il valore dell'errore

ResetLastError();

//- creare un segno di testo

se(ObjectFind(chart_ID,name)==-1)

{

if(!ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0))

{

Print(__FUNCTION__, ": failed to create text label! Codice di errore = ",GetLastError());

// return(false);

}

}

//--- impostare le coordinate del marcatore

ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);

ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);

//--- impostare l'angolo del grafico, rispetto al quale saranno determinate le coordinate del punto

ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);

//--- impostare il testo

ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);

//--- impostare il carattere del testo

ObjectSetString(chart_ID,name,OBJPROP_FONT,font);

//--- imposta la dimensione del carattere

ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);

//- impostare l'angolo di inclinazione del testo

ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);

//--- impostare il metodo di ancoraggio

ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);

//--- impostare il colore

ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);

//--- visualizzare in primo piano (false) o sullo sfondo (true)

ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);

//- accendere (true) o spegnere (false) la modalità di spostamento del segno con il mouse

ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);

ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);

//--- nascondere (true) o mostrare (false) il nome dell'oggetto grafico nella lista degli oggetti

ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);

//--- impostare l'evento della priorità di ricezione del clic del mouse

ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);

//--- esecuzione riuscita

return(true);

}

Come faccio ad alzare il simbolo del triangolo?

Cosa dovrebbe essere scritto

OutText("LabelBuy1", ">", 100, 20, clrWhite, ANCHOR_UPPER,CORNER_LEFT_UPPER,14, "Arial");

Per fare un triangolo?

1



Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д.  Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...
 

Prima ho fatto una domanda su come simulare la funzione Print() dal lato della libreria per controllare i dati che arrivano nelle funzioni della libreria e per cercare gli errori, mi è stato consigliato di usare le risorse C++: cioè di scrivere le informazioni nel file dal lato della dll della libreria. In generale la libreria non può creare un file per scriverci le informazioni, il file non viene creato né nella directory del progetto, né nella cartella con il robot, provato a specificare il percorso predefinito non funziona, anche l'output delle informazioni tramite cout non funziona, ma probabilmente non può perché non è proprio un'applicazione console. Chi può consigliare?

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <fstream>//подключаю библиотеку для записи в файл

/*using std::cout;
using std::endl;
using std::cin;*/

using namespace std;

#define _DLLAPI extern "C" __declspec(dllexport)

_DLLAPI int __stdcall Funkt(int qa){//"C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt"
        ofstream file;//"C:\\Users\\123\\Documents\\Visual Studio 2012\\Projects\\ConsoleApplication8\\ConsoleApplication8\\Moyperviyzapisfiles.txt"
        //"C:\\Users\\123\\documents\\visual studio 2012\\Projects\\ConsoleApplication8\\Debug\\ConsoleApplication8.dll\\Moyperviyzapisfiles.txt"
        file.open("C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt"/*,ios::out*/);//Moy perviy zapis files
        file<<"Moyperviyzapisfiles";//хочу записать эту фразу в файл
        file.close();   
        return 12;}
//если это делать не в библиотеке то работает.
 

Come faccio a sostituire l'immagine standard nella descrizione con ...


... posso mettere il mio?


 
Alexandr Sokolov:

Come faccio a sostituire l'immagine standard nella descrizione con ...


... posso mettere il mio?


#icona della proprietà
 
Artyom Trishkin:
#icona della proprietà

Com'è semplice... Grazie!

 

Ciao!

Potreste dirmi come implementare il rilevamento di oggetti grafici disegnati manualmente su un grafico ( linea orizzontale o di tendenza, per esempio) e poi recuperare le loro proprietà (livello di prezzo al momento giusto)?

 
odyn:

Ciao!

Potreste dirmi come implementare il rilevamento di oggetti grafici disegnati manualmente su un grafico ( linea orizzontale o di tendenza, per esempio) e poi recuperare le loro proprietà (livello di prezzo al momento giusto)?

Se il numero di oggetti sul grafico è aumentato, allora...
 
odyn:

Ciao!

Potreste dirmi come implementare il rilevamento di oggetti grafici disegnati manualmente su un grafico ( linea orizzontale o di tendenza, per esempio) e poi recuperare le loro proprietà (livello di prezzo al momento giusto)?

Hanno un prefisso standardizzato, ad esempio: numero Trenler. Potete cercare come segue: nel ciclo if(StringFind(ObjectName(0,i), "Trendline")==0) per quelli vecchi o per quelli nuovi if(StringFind(sparam, "Trendline")==0))

Motivazione: