Ваши вопросы по языку MQL4

Чико

Почетный гражданин
Добрый день!
Подскажите где найти расшифровку кодов
=-----------------------------------------------
int gi_96 = 0;

В справочнике по MQL4 (или-MQL5-смотря для какой платформы пишете)-Гугл в помощь..))Хотя это и не коды-просто определение переменных..Хотя тоже коды,строго говоря..))
int (целочисленная переменная,double-переменная дробная,bool-логическая (да-нет)) gi_96 (имя переменной) = 0 (присваиваемое значение);
 
Последнее редактирование:

cfifcfif

Элитный участник
не нащёт регламента и времени всё в порядке спасибо Чико
 

anonimmmmm

Новичок форума
Как текст из Label преобразовать в integer

Привет, как можно преобразовать текст из объекта Label иди Text в integer или double. Допустим есть объект Label в окне графика, надо вытащить число в текстовом виде в переменную типа integer или double.

Например
ObjectSetText("Balance", DoubleToStr(AccountBalance(),0), 12, "System", White);

StrToDouble(ObjectGet("Balance", какое свойство???));

Или это нельзя сделать?
 

gince

Местный знаток
Помогите напечатать в файл. Мне почему то непечатает.

//+------------------------------------------------------------------+
//| ZZ.mq4 |
//| Copyright © 2012, MetaQuotes Software Corp. |
//| _http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

//indikatoriaus zz kintamieji
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;

extern int Bars_count=240; //Is kiek baru skaiciuosime
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function
//+------------------------------------------------------------------+
int start()
{
//----
if( !NewBar() ) return(0);
double zz_arr[10000],zz_arr_Abs[10000];
double preZz=0;
int i,ii;
int handle;

handle=FileOpen("my_file.csv",FILE_CSV|FILE_WRITE,";");

for(i=0;i<=Bars_count;i++)
{
double zz = iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i);
if(zz!=0)
{
if(preZz==0)
{
preZz=zz
;continue;
}
zz_arr[ii]=zz-preZz;
preZz=zz;
ii++;
Print(zz_arr[ii-1]/Point, " ii = ", ii - 1);
zz_arr_Abs[ii-1]=MathAbs(zz_arr[ii-1]);
if(handle>0)
{
FileWrite(handle, zz_arr_Abs[ii-1]);
}
Print(" ",zz_arr_Abs[ii-1]/Point, " ii = ", ii - 1);
}
}
FileClose(handle);

ArrayResize(zz_arr,ii);
Print("-------------------------------------------------");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Iaia?o?aiea iiaiai aa?a
//+------------------------------------------------------------------+
bool NewBar()
{
//----
static datetime NewTime; // A?aiy oaeouaai aa?a
bool NewBar=false; // Iiaiai aa?a iao
if( NewTime!=Time[0] )
{
NewTime=Time[0]; // Oaia?u a?aiy oaeia
NewBar=true; // Iieiaeny iiaue aa?
}
//----
return(NewBar);
}
//+------------------------------------------------------------------+
 
Последнее редактирование модератором:

cfifcfif

Элитный участник
ребят вапрос на засыпку можно ли советника каторый работает на платформе 4 переделать один в один так чтобы он работал на платформе JFOREX и сколько это будет стоить примерно?
 

Variator

Новичок форума
Добрый день ! Кто-нить может прояснить, имеется ли в MQL4 возможность замены двух соноправленных позиций одной равновесной так сказать усреднение, ведь возможность закрывать встречные и противонаправленные ордера имеется возможность <OrderCloseBy> ??? !!! ???
 

DIN_Smol

Новичок форума
Привет, как можно преобразовать текст из объекта Label иди Text в integer или double. Допустим есть объект Label в окне графика, надо вытащить число в текстовом виде в переменную типа integer или double.

Например
ObjectSetText("Balance", DoubleToStr(AccountBalance(),0), 12, "System", White);

StrToDouble(ObjectGet("Balance", какое свойство???));

Или это нельзя сделать?

StrToDouble(ObjectDescription("Balance"));

string ObjectDescription( string name)
Return object description. For objects of OBJ_TEXT and OBJ_LABEL types, the text drawn by these objects will be returned.
 
Последнее редактирование:

andy77777

Активный участник
Здравствуйте, конечно глупый может вопрос, но в последнее время часто в инете встречаю осциляторы сделанные из разных индикаторов. Есть у меня индюк один, отлично показывает смену тренда, хочется сделать из него осцилятор с уровнями.
Как можно сделать это, есть ли какой нибудь шаблон?
 

Qoren

Прохожий
mql4 проблнемы с нахождение уровней канала фибоначчи

Здравствуйте.
Пишу советник на mql4, в некоторый момент соверник рисует стандартный канал фибоначи с 4мя уровнями и горизонтальную линию, которая в некоторый момент обязательно пересекает канал Фибоначчи со всеми его уровнями.

5 часов курю яндекс, учебники и гугл. Помогите подсказом, как мне найти пересечение горизонтальной линии с одним из уровней канала фибоначчи, прри том что изветны 3 координвты по которым строится канал, известны уровни (0.15, -0.15), известна цена горизонтальной линии. Подскажите как хотябы найти координаты и присвоить их переменным двух произвольных точек, лежащих на одной из линий-уровней канала.
 

Ontario

Местный знаток
Здравствуйте,помогите вставить функцию ММ в сов,

double GetLots(int Loss=1000){
// -----
double Free = AccountFreeMargin();
double LotVal = MarketInfo(Symbol(),MODE_TICKVALUE);
double Min_Lot = MarketInfo(Symbol(),MODE_MINLOT);
double Max_Lot = MarketInfo(Symbol(),MODE_MAXLOT);
double Step = MarketInfo(Symbol(),MODE_LOTSTEP);
double Lot = MathFloor((Free*MaxRisk/100)/(Loss*LotVal)/Step)*Step;
if(Lot<Min_Lot) Lot = Min_Lot;
if(Lot>Max_Lot) Lot = Max_Lot;
if(!MM)Lot = Lots;
// -----
return(Lot);
}
 

Вложения

procom

Новичок форума
Помогите плиз чайнику.
Уже 2 недели пытаюсь написать индикатор и все не в масть.
Код компилируется и рассчитывает необходимые значения правильно (проверял Print ....), но как это все нарисовать, не хватает мозгов.
Мне надо вывести на график переменную HHH (из строки, где стоит ???????????)
Заранее блогодарен.


#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
extern int sen = 9;
extern double Nn = 5.0;
double Indictor = 4.0 ;
double left = -10000.0 ;
double right = 10000.0 ;
double Prob = 0.0 ;
double eps = 0.001 ;
double Hz = 0.0 ;
double valH = 0.0 ;
double val = 0.0 ;
double HHH = 0.0 ;
double delt = 0.0 ;
double masH[];
//+------------------------------------------------------------------+
int init()
{
SetIndexBuffer(0,masH);
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);
return(0);
}
int deinit()
{
return(0);
}

//+------------------------------------------------------------------+
int start()
{
int limit;
limit=Bars-Nn;

int count = 0;
if (Bars >= Nn) {
HHH = (right+left) / 2.0 ;
delt = right - HHH ;

while (delt > 0.005 && val < 50.0) {
val = val + 1 ;
for (int i = Nn-1 ; i >= 0; i-- ) {
if (High > HHH ) {
count=count+1;
}
}
}

Prob = count / Nn ;
if (Prob > sen / 100.0 + eps ) {
left = HHH ;
HHH = (HHH + right ) / 2.0 ;

}
if (Prob < sen / 100.0 - eps) {
right = HHH ;
HHH = ( HHH + left ) / 2.0 ;

}

count = 0;
delt = right - HHH ;

}

if (val != 500.0) val =0 ;
if (count < 1) {
masH = HHH ; // ?????????????????????????????????????
right = 10000.0;
left = -10000.0 ;
Prob = 0 ;
}
return(0);
}
 
Последнее редактирование модератором:

SmiLeZ

Прохожий
1) не указан таймфрейм
2) не правильно указаны условия покупки/продажи ( перепутаны )
3) много ложных срабатываний
4) _http://forum.admiralmarkets.com/showthread.php?t=7990
Сделай сам оп мануалу
 

John_S

Интересующийся
Нужна помощь с алгоритмом

Здравствуйте.
Подскажите пожалуйста.
Возможно ли написать такой советник, например, чтобы открывал позицию на продажу ниже заданного уровня, а при цене выше этого уровня закрывал её, но при этом чтобы не сливал счет, т.к. когда цена приближается к этому уровню, мой алгоритм начинает постоянно то открывать, то закрывать позу, соответственно всё идет в минус???
 

expforex

Программиров
естественно можно?
а У Вас в алгоритме разве не так?
представьте линию .
цена идет ниже линии на 1 пп потом выше линии на 1 пп.
Как вариан у Вас не выше ниже а знак =.

кароче - нужен советник чтобы посмотреть что не так.
 

John_S

Интересующийся
естественно можно?
а У Вас в алгоритме разве не так?
представьте линию .
цена идет ниже линии на 1 пп потом выше линии на 1 пп.
Как вариан у Вас не выше ниже а знак =.

кароче - нужен советник чтобы посмотреть что не так.

А у Вас нет такого готового? Мне чтобы его показать, нужно из проги моей вырезать, я там так накрутил, что уже сам с трудом разбираю.
 

expforex

Программиров
готового нет, у каждого индивидуальное пожелания.
Хотя в инее можно найти.
 

John_S

Интересующийся
готового нет, у каждого индивидуальное пожелания.
Хотя в инее можно найти.
Вобщем из проги своей я вырезал в виде отдельного файла, Может Вы посмотрите, что нужно делать чтобы не уходил в минус. Тестировать записанный там уровень можно с даты 2011.12.05.
 

Вложения

  • ___1.mq4
    ___1.mq4
    6,4 КБ · Просмотры: 60

John_S

Интересующийся
Можно ли изменить для уже открытой позиции магик номер?
 

Vasiliy_32

Прохожий
Помогите написать фрагмент советника!!!

Не могу реализовать следующую часть:

Каждый день в 12:00 (ежедневно) подсчитывается сумма профита
закрытых ордеров (за сутки с 12:00 до 12:00 следующего дня) + открытых текущих ордеров

и если сумма положительная, открытые позиции закрываются. Отложенные ордера удаляются.

Спасибо
 
Верх