0
В правленной Вами версии CITY-ScalperX2.1 EA(честная) не работают параметры «Order Distance» и «LotMultiply». Возможно ли их доработать?
«LotMultiply» можно: 1. оставить, как сейчас с коэффициентом. Либо (желательно) ввести доп. параметр: 2. «Прибавка к лоту»
3. Или напишите, пожалуйста, строки кода и укажите куда их вставить.
ссылка на скачивание disk.yandex.ru/d/9O3v-UE-WrCOtQ
avatar

Felice

  • 15 августа 2024, 21:53
0
в 103 строке видит ошибку:
avatar

Felice

  • 13 июля 2022, 21:47
0
… дальше остальной код…
avatar

Felice

  • 13 июля 2022, 21:00
0
SSG, вот так у меня:
//+------------------------------------------------------------------+
//| MABands.mq4 |
//| Copyright 2022, AM2 |
//| www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright «Copyright 2022, AM2»
#property link «www.forexsystems.biz»
#property version «1.00»
#property strict

//--- Inputs
extern double Lots = 0.1; // лот
extern double Risk = 1; // риск
extern double KLot = 2; // умножение лота
extern double MaxLot = 5; // максимальный лот

extern int StopLoss = 2000; // лось
extern int TakeProfit = 3000; // язь
extern int Profit = 30; // язь в валюте
extern int BuyProfit = 30; // язь в валюте на бай
extern int SellProfit = 30; // язь в валюте на селл

extern int BULevel = 0; // уровень БУ
extern int BU_Point = 30; // пункты БУ
extern int TrailingStop = 0; // трал

extern int StartHour = 0; // час начала торговли
extern int StartMin = 30; // минута начала торговли
extern int EndHour = 23; // час окончания торговли
extern int EndMin = 30; // минута окончания торговли

extern int CloseSig = 1; // закрытие по сигналу
extern int Shift = 1; // бар индикатора
extern int Slip = 30; // проскальзывание цены
extern int Reverce = 0; // 1-реверс
extern int Magic = 123; // магик

extern string IndName = «ma_bbands»;
extern int MoveShift = 12;
extern int MAPeriod = 9;
extern int OsMA = 3;
extern int Dist2 = 20;
extern double Std = 0.4; //0.5
extern int BPeriod = 20;

datetime t=0;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
if(!IsTradeAllowed())
Alert(«Для нормальной работы советника необходимо\n»+
«Разрешить советнику торговать»);

if(!IsLibrariesAllowed())
Alert(«Для нормальной работы советника необходимо\n»+
«Разрешить импорт из внешних библиотек»);

if(!IsExpertEnabled())
Alert(«Отжата кнопка \»Разрешить запуск советников\"");

Comment("");
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
Comment("");
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
{
int r=0;
color clr=Green;
double sl=0,tp=0;
datetime expiration=0;

if(type==1 || type==3 || type==5)
{
clr=Red;
if(StopLoss>0)
sl=NormalizeDouble(price+StopLoss*_Point,_Digits);
if(TakeProfit>0)
tp=NormalizeDouble(price-TakeProfit*_Point,_Digits);
}

if(type==0 || type==2 || type==4)
{
clr=Blue;
if(StopLoss>0)
sl=NormalizeDouble(price-StopLoss*_Point,_Digits);
if(TakeProfit>0)
tp=NormalizeDouble(price+TakeProfit*_Point,_Digits);
}

r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,_Digits),Slip,sl,tp,Comm,Magic,0,clr);
return;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double Lot()
{
double lot=Lots;

if(Risk>0)
lot=NormalizeDouble(AccountEquity()*Risk/100000,2);

return(lot);
}
//+------------------------------------------------------------------+
avatar

Felice

  • 13 июля 2022, 20:59
0
… где-то не правильно вставляю. Прошу помощи!
//--- Inputs
extern double Lots = 0.1; // лот
extern double Risk = 1; // риск
.
.
.
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
{
int r=0;
color clr=Green;
double sl=0,tp=0;
datetime expiration=0;

if(type==1 || type==3 || type==5)
{
clr=Red;
if(StopLoss>0)
sl=NormalizeDouble(price+StopLoss*_Point,_Digits);
if(TakeProfit>0)
tp=NormalizeDouble(price-TakeProfit*_Point,_Digits);
}

if(type==0 || type==2 || type==4)
{
clr=Blue;
if(StopLoss>0)
sl=NormalizeDouble(price-StopLoss*_Point,_Digits);
if(TakeProfit>0)
tp=NormalizeDouble(price+TakeProfit*_Point,_Digits);
}

r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,_Digits),Slip,sl,tp,Comm,Magic,0,clr);
return;
}
double Lot()
{
double lot=Lots;

if(Risk>0)
lot=NormalizeDouble(AccountEquity()*Risk/100000,2);

return(lot);
}
//+------------------------------------------------------------------+
avatar

Felice

  • 13 июля 2022, 20:47
0
… Андрей, вариант расчёта лота в % от депозита. Никак?..
avatar

Felice

  • 13 июля 2022, 18:39
0
Андрей, добавьте, пожалуйста к имеющемуся постоянному лоту альтернативный вариант расчёта лота в % от депозита.
Ранее озвученное выставление ордеров по запоздалым сигналам не делайте.
avatar

Felice

  • 10 июля 2022, 21:15
0
… и возможно ли разрешить советнику открывать ордер даже если сигнал появился спустя какое-то время?

avatar

Felice

  • 8 июля 2022, 20:24
0
… понял. Спасибо, Андрей!
Пожалуйста, добавьте вариант расчёта лота в % от депозита (Risk).
avatar

Felice

  • 8 июля 2022, 20:10
0
… на Вашем скрине, также видим не выставленные по сигналу индикатора ордера:

avatar

Felice

  • 8 июля 2022, 17:11
0


… Вчера пропущенные сигналы на селл. сегодня пропущен сигнал на бай…
avatar

Felice

  • 8 июля 2022, 17:00
0
… Андрей, возможно ли подправить советник, чтобы реагировал на каждый сигнал? Без пропусков. :) 
avatar

Felice

  • 8 июля 2022, 16:19
0
Андрей, в тестере такой результат: стрелки есть, но ордера не всегда выставляются.
За сегодня на демо на Н1 не открыл ни одного ордера. Хотя в тестере из четырёх сигналов всё же один ордер бай выставился. EUR-USD
Прошу помощи!
avatar

Felice

  • 6 июля 2022, 23:12
0
… Огромное Спасибо, Андрей! Иду настраивать.
avatar

Felice

  • 5 июля 2022, 20:46
0
… в списке индикаторов, установленных на этом инструменте значится. А на графике его нет!
Ребята, как это исправить...?
avatar

Felice

  • 6 мая 2022, 13:02
0
… присоединяюсь к этой просьбе. В советнике всего 305 строк.
Где находится полный файл?
Загрузите, пожалуйста сюда.
avatar

Felice

  • 22 ноября 2021, 00:45
0
… ладно, Андрей.
Всё равно СПАСИБО за помощь!
avatar

Felice

  • 27 октября 2021, 12:27
0


При усреднении на бай удалилась сетка стоповых ордеров. и тут же вместе с усреднением опять выставилась.


Стоповые предыдущей сетки выставились вместе с усреднением. при усреднении не должно быть стоповых ордеров.
Аналогичным образом и на селл.



Усреднение вместе со стоповыми…

… оба направления закрылись одновременно.

Это не правильно. Должны закрываться порознь. Каждое по по своим стопам и тейкам.


… умножение (только ли умножение?) лота сразу на ВСЁ??? На усреднение и стоповые ордера вместе???
… число отложенных ордеров???

avatar

Felice

  • 26 октября 2021, 21:24
0
… спасибо, Андрей!
По картинке, что-то не так. Дам знать…
avatar

Felice

  • 26 октября 2021, 20:01