[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 1015

 

Подскажите!!!Три часа уже мучаюсь!!! Не могу присвоить переменной значение order=Close[1] . Идея в том,чтоб в момент выставления ордера запомнить цену,как она была в тот момент.

Пожднее можно еесравнивать с настоящей и двигать стоплосс и или тейкпрофит,

Наверно я совсем баран.,напишите.

                                                                            Заранее благодарн!!!

//+------------------------------------------------------------------+
//| Тестер.mq4 |
//| Димон |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Димон"
#property link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+

extern int BandsPeriod=20,i=1 ;extern int BandsShift=0;
extern double BandsDeviations=2.0;
extern double Lots=0.1,TakeProfit=50,stoploss=10 ;double PointX;extern int parametrA=2;
int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10; // Корректировка Point под трёх- пятизнак
if(Digits==4 || Digits==2) PointX = Point;
//----
Alert ("PointX",PointX);
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{double order, newloss=12;Alert (" order ",order);
if (parametrA==0){
int total=OrdersTotal();// Comment(" total ",total); Alert (" total ",total);
if ( total !=0 ){return;}

double Average,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,sum,deviation;
string text; int ticket; int err;
text="macd sample";}else { Comment(" буй! ",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX,"macd sample",16384,0,Green);
Alert (" stoploss ",Ask-stoploss*PointX);Alert (" parametrA ",parametrA);
order=Close[1];Comment(" буй!order ",order );parametrA--;
}
//----

//----
return(0);
}
//+------------------------------------------------------------------+
 

 
Всем привет.Начал писать советники для mt4 через программу Gordago forex optimizer.C алгоритмом справляюсь,вбить его не проблема.Значит,непосредственно сам советник вставляю в терминал.Предварительно,в Optimizer выставляя стоплоссы и тэйкпрофиты как для покупки,так и для продажи.Тестится всё нормально,но сам советник на реальном графике не работает вообще,а если вместо значений стопов и тэйков поставить по нулям,то торговля сразу идёт.Но,соответственно,не с теми результатами,что мне нужно.В чём может быть проблема?
 
Dimka-novitsek:

Подскажите!!!Три часа уже мучаюсь!!! Не могу присвоить переменной значение order=Close[1] . Идея в том,чтоб в момент выставления ордера запомнить цену,как она была в тот момент.

Пожднее можно еесравнивать с настоящей и двигать стоплосс и или тейкпрофит,

Наверно я совсем баран.,напишите.

Заранее благодарн!!

....
Файлы:
1_1.mq4  2 kb
 
Спасибо!!!!Конечно!!!!
 
sezon:

Решил и здесь отметиться ...

Подскажите, как настроить отправку почты на ящик narod.ru

Все варианты перепробовал:

Сервер SMTP - smtp.narod.ru

SMTP логин: - имя@narod.ru

SMTP пароль - пароль

От кого: slt-soft@narod.ru

Кому: slt-soft@narod.ru

Выскакивает ошибка: Mail: login to smtp.narod.ru failed

Не помню точно, но на народе вроде бы как достаточно только логин (т.е. у Вас это имя - все что до собачки), а не полный е-mail

Но на некоторых smtp серверах нужно собачку заменять на знак плюса и тогда начинает нормально логинится, на некоторых и собачку понимает и плюс, а на некоторых только логин

 
Конечноже,не1 а 0!!!! Только не понял,как это можно обьявлять переменную впереди функции старт?!!!!!!!!!!!!!!!!Хотя только так и работает!
 
Перечитаю про глобальные переменные.Но компилятор же не вазражал!
 
Dimka-novitsek:
Перечитаю про глобальные переменные.Но компилятор же не вазражал!
не возражал потому что синтаксических ошибок не было. Это логическая ошибка, компилятор такое не видит
 
001:


Да, именно это. Есть файл, Вы выкладывали нижайший Вам поклон, очень полезная вещь, OptimizationReport.mq4. Я его немного доработал, с целью вычесления Фактора Восстановления. Теперь хочу значение этой переменной получить в основном коде, для ускорения оптимизации, отсеивая проходы тестера, выставив ограничение по уровню ФВ. Попытался сделать это через глобальные переменные. В основном коде не видно значение моей переменной.

В советнике пишу:

double myValue = GlobalVariableGet("myValue");
Print("myValue="+myValue);
MessageBox("myValue="+myValue);
Alert("myValue="+myValue);

в include(выкладываю):

GlobalVariableSet("myValue", 1);

Не работает, myValue=0.00000000


Проблема в том, что обычно эта бибилиотека работает в самом конце. Для формирования отчета.

Лучше просто функцию сделать для расчета фактора восстановления и вызывать ее на каждом тие, или баре, или только при закрытии позиции. Но на каждом тике просадку легче считать максимальную.

 
Vinin:

Проблема в том, что обычно эта бибилиотека работает в самом конце. Для формирования отчета.

Лучше просто функцию сделать для расчета фактора восстановления и вызывать ее на каждом тие, или баре, или только при закрытии позиции. Но на каждом тике просадку легче считать максимальную.

К сожалению мозгов не хватает самому написать.
Причина обращения: