Помощь в кодировании - страница 628

 
annbeea:
Спасибо

но я совсем новичок в кодировании.

могу ли я изменить на если индикатор xyz в mt4 имеет следующие параметры:

extern int A=9;

extern int B=14;

extern int D = 10;

и icustom часть asE= iCustom(Null,timeframe, "xyz",A,B,D,BufferNumber,Shift); ?но я не очень понимаю BufferNumber и Shift? что это значит? спасибо.

annbee

Проверьте эту тему для деталей: https: //www.mql5.com/en/forum/173108

 

Привет, Младен,

возможно, я думаю, что допустил некоторые ошибки,

xyz должен быть таким:

extern int A=9;

extern int B=14;

extern double D = 10;

вопрос1:и icustom часть asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); это нормально/правильно?? спасибо

вопрос2:и icustom часть asE=iCustom(Null,timeframe, "xyz",A,B,0,pos); как насчет того, если я намеренно или по ошибке пропущу D в предложении icustom, это нормальная работа или что-то упущено в отображении или вычислении или вообще неправильно? спасибо за комментарии.

 
annbeea:
Привет, Младен,

возможно, я допустил некоторые ошибки,

xyz должен быть таким:

extern int A=9;

extern int B=14;

extern double D = 10;

вопрос1:и icustom часть asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); это нормально/правильно? Спасибо.

вопрос2:и icustom часть asE=iCustom(Null,timeframe, "xyz",A,B,0,pos); как насчет того, если я намеренно или по ошибке пропущу D в предложении icustom, будет ли это нормальная работа или что-то упущено в отображении или вычислении или в целом неправильно? спасибо за комментарии.

Если вы опустите один параметр из хвоста списка параметров, то будет использовано значение по умолчанию для параметра, но пожалуйста, прочитайте эту тему для подробностей, как используется функция iCustom() и какие точные параметры для функции iCustom()

 

привет, Младен

Мой уровень кодирования очень низок, потому что я только что получил очень сырое компьютерное образование, я просто хочу заставить что-то работать для меня без слишком сложного кодирования, большинство вещей я не очень понимаю, даже прочитав эту тему,

потому что я даже не понимаю разницы между понятиями double, string и т.д.

Но мой вопрос заключается в том, что, похоже, ключевым здесь является D, поэтому мой вопрос заключается в том, будет ли: extern int D=10 или extern double D=10, icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); это нормально/правильно? Спасибо.

 
annbeea:

привет, Младен

Мой уровень кодирования очень низок, потому что я только что получил очень сырое компьютерное образование, я просто хочу заставить что-то работать для меня без слишком сложного кодирования, большинство вещей я не очень понимаю, даже прочитав эту тему,

потому что я даже не понимаю разницы между понятиями double, string и т.д.

Но мой вопрос заключается в том, что, похоже, ключевым здесь является D, поэтому мой вопрос заключается в том, будет ли это так: extern int D=10 или extern double D=10, icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); это нормально/правильно? Спасибо.

anbbeea,

Да, это правильно

 

Здравствуйте, Младен,

Могу ли я узнать о луче на графике, можно ли настроить его длину в нужную мне сторону?

Как это изменить?

ObjectSet("mMyLine", OBJPROP_RAY, false);
extern color mCol = Red, mCol2 = Blue, mCol3 = White;
extern int mWid = 2, mHist = 100, mDays = 5;

//+------------------------------------------------------------------+
int init()
  {
      ObjectCreate("mMyLine", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine", OBJPROP_COLOR, mCol);
      ObjectSet("mMyLine", OBJPROP_RAY, false);

      ObjectCreate("mMyLine2", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine2", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine2", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine2", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine2", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine2", OBJPROP_COLOR, mCol2);
      ObjectSet("mMyLine2", OBJPROP_RAY, false);
      
      ObjectCreate("mMyLine3", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine3", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine3", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine3", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine3", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine3", OBJPROP_COLOR, mCol3);
      ObjectSet("mMyLine3", OBJPROP_RAY, false);

   return(0);
  }

//+------------------------------------------------------------------+
int deinit()
  {
   ObjectDelete("mMyLine");
   ObjectDelete("mMyLine2");
   ObjectDelete("mMyLine3");
   return(0);
  }

//+------------------------------------------------------------------+
int start()
  {
   double mH = 0, mL=0, mM = 0;
   
   mH = iHigh(NULL, 1440, iHighest(NULL, 1440, MODE_HIGH, mDays, 1));
   mL = iLow(NULL, 1440, iLowest(NULL, 1440, MODE_LOW, mDays, 1));
   mM = mL + (mH - mL) / 2;
   ObjectSet("mMyLine", OBJPROP_PRICE1, mH);
   ObjectSet("mMyLine", OBJPROP_PRICE2, mH);
   ObjectSet("mMyLine2", OBJPROP_PRICE1, mL);
   ObjectSet("mMyLine2", OBJPROP_PRICE2, mL);
   ObjectSet("mMyLine3", OBJPROP_PRICE1, mM);
   ObjectSet("mMyLine3", OBJPROP_PRICE2, mM);


   return(0);
  }
 

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

пожалуйста, помогите мне MR. TOOLS и MLADEN, ниже прилагаются.
 

mladen & mrtools

У меня есть советник, который сам себя взрывает сделками. Мне нужна помощь в создании Void или функции, которая может быть добавлена к существующему советнику. Эта функция должна решать следующие задачи:

input bool doBasketExit = true; // Проверка условий выхода из корзины
input double BasketTP = 250.0; // Тейк-профит корзины(валюта счета) Пара графика
input double BasketSL = -100.0; // Стоп-лосс корзины (валюта счета) График Пара

Я использую 9 пар/графиков с агрессивным советником на H1 и хочу торговать корзиной на каждом из 9 графиков.
Вот что со мной произошло. Работает 9 графиков, 3 графика в торговле с, конечно, 3 отдельными парами, каждая с 15 сделками, да 45 сделок открыто, 2 в прибыли и одна сильно проигрывает. Я ищу способ сложить каждую группу/пару из 15 отдельно и оттереть каждую группу от границ SL и TP корзины. Я нашел корзину, но, конечно, она нуждается в доработке. Хитрость заключается в том, чтобы добиться суммирования одной и той же пары из колонки Order Profit Trade. Находясь на графике с определенной парой, я думал, что придумал пустоту, но это довольно сложно. Функция должна каким-то образом считывать OrderProfit по паре?

Смотрите мой код в качестве плохого примера;

void closeTrades( CURRENCY* &currencies[] ) {
// Проверка на выход из корзины
if ( doBasketExit ) {
double basketProfit = getBasketProfit();
if ( ( ( BasketTP > 0.0 ) && ( basketProfit > BasketTP ) ) ||
( ( BasketSL < 0.0 ) && ( basketProfit < BasketSL ) ))) {
closeAll();
}
}
double getBasketProfit() {
double basketProfit = 0.0;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--) {
if (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
if ((OrderMagicNumber() == MagicNumber) {
if ( (OrderType() == OP_BUY) || (OrderType() == OP_SELL) ) {
basketProfit += OrderProfit() + OrderSwap() + OrderCommission();
}
}
}
}
return(basketProfit);
}

void closeAll() {
double closePrice;
string symbolName;
int result;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--) {
if (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
if ((OrderMagicNumber() == MagicNumber) {
if ( (OrderType() == OP_BUY) || (OrderType() == OP_SELL) ) {
symbolName = OrderSymbol();
closePrice = ( OrderType() == OP_BUY ) ? MarketInfo( symbolName, MODE_BID ) : MarketInfo( symbolName, MODE_ASK );
result = OrderCloseReliable(OrderTicket(), OrderLots(), closePrice, 50 );
}
}



Очень признателен, если вы рассмотрите это.

Спасибо
Рэй

 
stevenpun:

Здравствуйте, Младен,

Могу ли я узнать о луче на графике, можно ли регулировать длину луча в правую сторону, которую я хочу?

Как изменить это >

Попробуйте сделать следующее:

Вместо

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
//
//
//   try this
//   use the NumberOfDaysToTheRight for the number of days to extend it to the right
//   you have to update this in the start procedure on every tick and for every ray that you created
//
//

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]+PERIOD_D1*60*NumberOfDaysToTheRight);
 
kapoo:

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

пожалуйста, помогите мне MR. TOOLS и MLADEN, ниже прикреплены файлы.

kapoo

В настоящее время загрузка не работает, поэтому я не могу увидеть ваши файлы.

Как только эти проблемы будут решены, мы возобновим работу. ХОРОШО?