0
Я как то делал вам подобный советник: zakaz.opentraders.ru/27204.html
Мне будет намного проще работать со своим кодом.
avatar

AM2

  • 15 сентября 2015, 09:56
0
Сейчас буду смотреть что можно сделать.
avatar

AM2

  • 15 сентября 2015, 09:37
+2
Вот скрипт. Считает время до закрытия свечи, выводит время закрытия свечи и время до закрытия. Работает до тех пор пока не удалена метка «Выключи меня!». Скрипт штука одноразовая, так что считает время до закрытия один раз.

www.opentraders.ru/downloads/870/

//+------------------------------------------------------------------+
//|                                                  CloseCandle.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   PutLabel("TimeLabel","Выключи меня!",150,20,Red);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   Comment("");
   ObjectsDeleteAll(0,OBJ_LABEL);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string name,string text,int x,int y,color clr)
  {
//--- создадим текстовую метку
   ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,CORNER_RIGHT_UPPER);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,15);
//--- установим цвет
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   while(ObjectFind(0,"TimeLabel")!=-1)
     {
      Comment("\n    Время до закрытия свечи: ",TimeToString(Time[0]+Period()*60-TimeCurrent(),TIME_SECONDS),
              "\n    Время закрытия свечи: ",TimeToString(Time[0]+Period()*60,TIME_SECONDS),
              "\n    Текущее Время: ",TimeToString(TimeCurrent(),TIME_SECONDS));
     }
  }
//+------------------------------------------------------------------+



avatar

AM2

  • 15 сентября 2015, 01:51
0
Посмотрю завтра. Я когда то делал здесь подобный.
avatar

AM2

  • 14 сентября 2015, 22:07
0
Индикатор считает профит в валюте, по символу на который бросается: www.opentraders.ru/downloads/868/

avatar

AM2

  • 14 сентября 2015, 16:57
0
Я могу попробовать с нуля написать, если нужно?
avatar

AM2

  • 14 сентября 2015, 16:14
0
Это код чужой. Чтобы ошибку выловить нужно с нуля все переписывать от простого к сложному и смотреть. Это долго.
avatar

AM2

  • 14 сентября 2015, 15:38
0
Я пробовал исправить этот косяк, пока никак.
avatar

AM2

  • 14 сентября 2015, 15:33
+1
Сейчас снова поставил первый советник и он почти сразу сделал ставку, так что можешь гонять оба :) 
avatar

AM2

  • 14 сентября 2015, 14:39
0
Я уже предупреждал берет только в тестере, нужно прописывать паттерны или заменять индикатор.
avatar

AM2

  • 14 сентября 2015, 13:52
0
Сначала доведем до ума первый простой советник, а потом уже видно будет.
avatar

AM2

  • 14 сентября 2015, 13:44
0
Это уже что то новое и совсем непонятное.
avatar

AM2

  • 14 сентября 2015, 13:29
+1
Сейчас сделал так, чтобы работала только одна модификация. Если BULevel=0 работает, только мод на дневках, если больше только БУ. www.opentraders.ru/downloads/843/
avatar

AM2

  • 14 сентября 2015, 13:26
0
Вот открыл вторую и тоже в плюс.

avatar

AM2

  • 14 сентября 2015, 13:01
+1
Вот сделал советник, торгующий по определенному паттерну. Уже одну сделку закрыл в плюс <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp; '>&nbsp; 


//+------------------------------------------------------------------+
//|                                                       Option.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property description "Simple expert advisor"

//--- Inputs
extern double Stavka       = 5;   // ставка в валюте
extern string Expiration   = "5"; // время истечения в минутах
extern int    Magic        = 111; // магик
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   int    res;
   double bid=MarketInfo(OrderSymbol(),MODE_BID);
   double ask=MarketInfo(OrderSymbol(),MODE_ASK);
//--- sell 
   if(High[1]<High[2] && High[3]<High[2])
     {
      res=OrderSend(Symbol(),OP_SELL,Stavka,bid,0,0,0,Expiration,Magic,0,Red);
      return;
     }
//--- buy 

   if(Low[1]>Low[2] && Low[3]>Low[2])
     {
      res=OrderSend(Symbol(),OP_BUY,Stavka,ask,0,0,0,Expiration,Magic,0,Blue);
      return;
     }
//---
  }
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(CountTrades()<1) OpenPos();

   Comment("\n ");
//---
  }
//+------------------------------------------------------------------+



avatar

AM2

  • 14 сентября 2015, 12:47
0
Посмотрите как сейчас: www.opentraders.ru/downloads/868/
avatar

AM2

  • 14 сентября 2015, 12:32
0
Вопрос не в том есть индикатор или нет, а в том что на демо он не дает сигнал. Предлагаю в советнике использовать комбинациии свечей, это по точности сигнала будет надежнее всего. Например как для фрактала: сравнивается верхушка и по обе стороны д.б. ниже хаи.
avatar

AM2

  • 14 сентября 2015, 11:39
0
Визуально кружочки рисует, но для советника сигнала нет. Нужно менять индикатор.
avatar

AM2

  • 14 сентября 2015, 11:25
+1
Добавил экспирацию и поставил на демо. Что то пока открывать не хочет, ищу причину.


//+------------------------------------------------------------------+
//|                                                    LorikSema.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property description "Simple expert advisor"

//--- Inputs
extern int    Procent      = 75;  // процент прибыли от ставки
extern double Stavka       = 5;   // ставка в валюте
extern string Expiration   = "5"; // время истечения в минутах

extern int    Magic        = 111; // магик

int LastBars;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   int    res;

   double BrownUP=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",1,1);
   double BrownDN=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",0,1);
   double RedUP=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",3,1);
   double RedDN=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",2,1);
   double YelUP=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",5,1);
   double YelDN=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",4,1);

   double bid=MarketInfo(OrderSymbol(),MODE_BID);
   double ask=MarketInfo(OrderSymbol(),MODE_ASK);
//--- sell 
   if(YelUP>0 || RedUP>0)
     {
      res=OrderSend(Symbol(),OP_SELL,Stavka,bid,0,0,0,Expiration,Magic,0,Red);
      return;
     }
//--- buy 

   if(YelDN>0 || RedDN>0)
     {
      res=OrderSend(Symbol(),OP_BUY,Stavka,ask,0,0,0,Expiration,Magic,0,Blue);
      return;
     }
//---
  }
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+ 
void CloseAll()
  {
   int err;
   bool cl=true;
   double bid,ask;

   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            bid=MarketInfo(OrderSymbol(),MODE_BID);
            ask=MarketInfo(OrderSymbol(),MODE_ASK);
            if(OrderType()==OP_BUY) cl=OrderClose(OrderTicket(),OrderLots(),bid,0,Blue);
            if(OrderType()==OP_SELL) cl=OrderClose(OrderTicket(),OrderLots(),ask,0,Red);
            if(cl==false)
              {
               err=GetLastError();
               Print("ОШИБКА УДАЛЕНИЯ ОРДЕРОВ: ",err);
                 } else {
               RefreshRates();
              }
           }
        }
      Sleep(1000);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Profit()
  {
   int    orders=OrdersHistoryTotal();
   double profit=0;
   for(int i=orders-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
        {
         Print("Error in history!");
         break;
        }
      if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
         continue;
      double lot=OrderLots();
      if(OrderProfit()>0) profit=profit+(lot*Procent/100);
      if(OrderProfit()<0) profit=profit-lot;
     }
   return(profit);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int Losses()
  {
   int    orders=OrdersHistoryTotal();
   int    losses=0;
   for(int i=orders-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
        {
         Print("Error in history!");
         break;
        }
      if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)
         continue;
      //---
      if(OrderProfit()>0) break;
      if(OrderProfit()<0) losses++;
     }
   return(losses);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   double BrownUP=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",1,1);
   double BrownDN=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",0,1);
   double RedUP=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",3,1);
   double RedDN=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",2,1);
   double YelUP=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",5,1);
   double YelDN=iCustom(Symbol(),PERIOD_M5,"3_Level_ZZ_Semafor",4,1);

   if(CountTrades()<1)
     {
      OpenPos();
      LastBars=Bars(NULL,0);
     }

   if(Bars(NULL,0)>LastBars)
     {
      CloseAll();
     }

   Comment("\n BrownUP ",BrownUP,
           "\n BrownDN ",BrownDN,
           "\n RedUP ",RedUP,
           "\n RedDN ",RedDN,
           "\n YelUP ",YelUP,
           "\n YelDN ",YelDN,
           "\n Loss ",Losses(),
           "\n Profit ",Profit());
//---
  }
//+------------------------------------------------------------------+



avatar

AM2

  • 14 сентября 2015, 11:13
0
Я вводил пинкод цифрами на телефоне. Карточка у меня была пустая. Возможно поэтому попросили подождать 24 часа.
avatar

AM2

  • 13 сентября 2015, 14:22