Скачать MetaTrader 5

Скрипты: MultiOrders

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MetaQuotes Software Corp.
Модератор
182659
MetaQuotes Software Corp.  

MultiOrders:

Cкрипт установки нескольких ордеров по различным инструментам за раз.

Author: John Smith

John Smith
427
John Smith  
valeri39:

Програма все время говорит,что нет файла symbols.txt,хотя он есть.Пытался занести валюты в файл.Никакого результата.Увы!

Попробуйте внести символы вручную.

MQL4 Comments
16319
MQL4 Comments  

Я пробовал вводить вручную.В файле symbols.txt они не сохраняются.Уже снес совсем

MQL4 Comments
16319
MQL4 Comments  

Shu, спасибо за скрипт! Есть предложение сделать из скрипта советник с установкой по заданному времени. Если,конечно, это возможно.

Комарских Александр
241
Комарских Александр  
Vkorch:

Shu, спасибо за скрипт! Есть предложение сделать из скрипта советник с установкой по заданному времени. Если,конечно, это возможно.

ээ.. Сорри, но это какая-то старая "текущая" версия. Я даже не знаю кто его сюда запостил. :-) Если выберу время, куда-нибудь положу новую версию!

ps. если есть проблема с файликом symbols.txt, значит скорее всего вы используете терминал, установленный кривеньким инсталлятором (даже если он от ДЦ) - поставьте в ярлыке правильно рабочий каталог! ;-) В последующих версиях это, конечно, пофиксировано..

tommy27
94
tommy27  
Проскальзывание по умолчанию нулевое, так что, на резком рынке может какой-то ордер и по реквоте пробросить, учтите это
А изменить это возможно?
Yuri Kovinko
117
Yuri Kovinko  

Доброго здравия. Помогите решить проблему с кодом. Я в нем не силен, выдает следующую ошибку...Все что мог уже перепробывал. 

Файл скрипта: https://cloud.mail.ru/public/a9082e029e13/MultiOrders.rar

Большая благодарность откликнувшимся


В чем проблема не могу понять

//+------------------------------------------------------------------+
//|                                                  MultiOrders.mq4 |
//|                                                             `Shu |
//|                                            http://SovetnikShu.ru |
//+------------------------------------------------------------------+
#property copyright "`Shu"
#property link      "http://SovetnikShu.ru"
// #property show_confirm
// #property show_inputs

#import "moo.dll"
  void ShowIn(double& Arr[]);

// #include <ShuLib.mq4>

extern int Magic = 50005;

// #include <TF.mq4>

string shu = " [1.03] (c) `Shu [http://SovetnikShu.ru]";
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start() {
   int i;
   int t, tb, ts;
   int ssi;
   int f;
   int cmd;
   double d;
   double pr, sl, tp, lot;
   bool b;
   string s;
   string ss[5];
   string ord1[3];
   string ord[5][3];
   
   Print(WindowExpertName() + shu);
//   if (false) { Qu(); QuTF(); }

   double Arr[5];

   Arr[0] = 1;
   Arr[1] = 2;
   Arr[2] = 3;

   FileDelete("orders.txt");
   ShowIn(Arr);


   f = FileOpen("orders.txt", FILE_CSV|FILE_READ, "*");
   
   if (f == -1) {
      Alert("- не смогли открыть файл ордеров!");
      return(false);
   }
   ssi = 0;
   while (!FileIsEnding(f)) {
      s = FileReadString(f);
      if (s != "") {
         ss[ssi] = s;
         ssi++;
      }
   }
   FileClose(f);

   for (i = 0; i < ssi; i++) {
      Print(ss[i]);
      MassStr(ss[i], ";", ord1);
      if (ArraySize(ord1) < 3) {
         // - если коммента вдруг нет. мало ли?
         ArrayResize(ord1, 3);
         ord1[2] = "";
      }
      ord[i][0] = ord1[0];
      ord[i][1] = StrRep(ord1[1], ",", ".");
      ord[i][2] = ord1[2];
      if (MarketInfo(ord[i][0], MODE_POINT) == 0) {
         Print("Не могу получить информацию о символе " + ord[i][0] + ". Прекращаю работу!");
         return(false);
      }
   }

   for (i = 0; i < ssi; i++) {
      lot = StrToDouble(ord[i][1]);
      if (lot == 0) continue;
      pr  = iif(lot > 0, MarketInfo(ord[i][0], MODE_ASK), MarketInfo(ord[i][0], MODE_BID));
      cmd = iif(lot > 0, OP_BUY, OP_SELL);
      lot = MathAbs(lot);
      OrderSend(ord[i][0], cmd, lot, pr, 0, 0, 0, ord[i][2], Magic);
   }
   

return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
// +++ на входе:  строка с разделителями
//     на выходе: массив строк
int MassStr( string s, string Разделитель, string& mass[] ) {

   int i;
   int Нашли;
   string s1;
   
   ArrayResize(mass, 100);

   Нашли = 0;
   while ( s != "" ) {
      i = StringFind( s, Разделитель, 0);
      if ( i == -1 ) i = 255;
      s1 = StringTrimRight(StringTrimLeft(StringSubstr( s, 0, i ) ) );
      s = StringTrimRight(StringTrimLeft(StringSubstr( s, i+1, 255 ) ));
      mass[Нашли] = s1;
      Нашли++;
   }
   
   ArrayResize(mass, Нашли);

return(Нашли);
}
//+------------------------------------------------------------------+
// условное назначение DOUBLE (!)
double iif( bool Условие, double ПервоеЗначение, double ВтороеЗначение ) {
   if (Условие)      return(ПервоеЗначение);
               else  return(ВтороеЗначение);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
string StrRep(string s, string old, string STnew) {
   string r;
   
   int i;
   int iOld, iNew;
   int ii;
  
   string ss;
  
   iOld = StringGetChar(old, 0);
   iNew = StringGetChar(STnew, 0);   
   
   r = "";
   ss = " ";
   for (i = 0; i < StringLen(s); i++) {
      ii = StringGetChar(s, i);
      if (ii == iOld) {
         ss = StringSetChar(ss, 0, iNew);
      }
      else {
         ss = StringSetChar(ss, 0, ii);
      }
      r = r + ss;
   }

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

Yuri Kovinko
117
Yuri Kovinko  
Просьба откликнуться знающим людям.
Yuri Kovinko
117
Yuri Kovinko  
Просьба откликнуться знающим людям. неужели это такая проблема для знающих.
Aleksandr6525
13
Aleksandr6525  
При компиляции выдаёт 3 ошибки и 8 предупреждений. 
Aleksandr6525
13
Aleksandr6525  
Я себе искал скрипт для открытия 3-х ордеров с разными лотами , у автора скрипта  cmillion есть на 2 ордера. Немного покумекал, переделал на 3. Если нужен - скину на мыло...
Просмотр профиля: cmillion - Форекс Форум MT5 | Форум трейдеров рынка Forex
  • Airus
  • ruforum.mt5.com
Здравствуйте помогите написать АТР , индикатор Genesis+Matrix+Trading чтобы при получении сигнала выставлялся ордер со стоп лотом далее все остальное делалось в ручную http://tradelikeapro.ru/genesis-matrix/ индикатор можно найти здесь если сможете свяжитесь по ходу все объясню . Привет друг, помоги пожалуйста!! Срочно нужно в индикатор...
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий