Советники, эксперты, форекс роботы Обсуждение, поиск и тестирование форекс советников, роботов, экспертов и МТС

Ответить
04.04.2010, 15:14
Аватар для maksimkawasaki
maksimkawasaki maksimkawasaki вне форума Новичок форума
Регистрация: 14.12.2009 / Сообщений: 13
Поблагодарили 1 раз в 1 сообщении / Репутация: 1
значит советник ло....х . ладно пойду спать, спасибо за совет
05.04.2010, 06:48
Аватар для fsru212
fsru212 fsru212 вне форума Новичок форума
Регистрация: 23.03.2010 / Сообщений: 104
Поблагодарили 20 раз(а) / Репутация: 17
[lang=en]Hi...My Brothers...!!!

I THINK IF YOU WANT TO GET RIGHT LOGIC TO FUTURE PREDICT,
DO NOT USE .HST FILE !!!!! OR FILE HISTORY !!!
BECAUSE IT WILL PRODUCE CONFLICT !!! IT CAN NOT WORKS PROPERLY,SO YOU MUST CHANGE CODE OF PROGRAM AND THEN USE BARS FOR ANALYSYS !!
THERE ARE OPPORTUNITY TO MAKE EA WORKS PROPERLY :

STEP 1 : CHANGE IT CODE INTO CUSTOM INDICATOR !!! SO IF WE CAN USE IT WITH LOGIC :
if ( iCustom( NULL,0," Bla..Bla..Bla",0) ==> BUY();
if ( iCustom( NULL,0," Bla..Bla..Bla",0) ==> SELL();

STEP 2 : MAKE EA INDEPENDENTLY AND SEPARATE WITH INDICATOR.

I THINK IT WILL RESOLVE CONFLICT OF THE EA !!

GOOD CODING !!! AND GOOD LUCK !!


[/lang]

THE CODE EA PROGRAM TRANSFORM INTO INDICATOR !!!
TRY THIS BELOW !!!

Код HTML:
#define MAINSEEK 148
#define BARSIZE 44  // LONG_VALUE + 5 * DOUBLE_VALUE

extern int Pips = 50;
extern double Lots = 0.1;

int handle;
bool MainError;

int GetTime( int Pos )
{
  int PosTime;
  
  FileSeek(handle, MAINSEEK + Pos, SEEK_SET);
  PosTime = FileReadInteger(handle);

  return(PosTime);
}

bool FindTimePlace( int SearchTime )
{
  int LeftTime, RightTime, PosTime;
  int Left, Right, Pos;
  
  Left = 0;
  Right = FileSize(handle) - MAINSEEK - BARSIZE;
  
  LeftTime = GetTime(Left);
  RightTime = GetTime(Right);
  
  while ((LeftTime < SearchTime) && (SearchTime < RightTime))
  {    
    Pos = (Left + Right) / 2;
    Pos -= Pos % BARSIZE;
    
    if (Pos == Left)
      break;
    
    PosTime = GetTime(Pos);
    
    if (SearchTime >= PosTime)
    {
      Left = Pos;
      LeftTime = GetTime(Left);
    }
    else // if (SearchTime < PosTime)
    {
      Right = Pos;
      RightTime = GetTime(Right);
    }
  }
  
  if (SearchTime <= RightTime)
  {
    FileSeek(handle, Left + MAINSEEK, SEEK_SET);
    return(TRUE);
  }
  else
    return(FALSE);
}

void init()
{
  handle = FileOpenHistory(Symbol() + Period() + ".hst", FILE_BIN|FILE_READ);
  
  if (handle > 0)
    MainError = TRUE;
  else
  {
    MainError = FALSE;
    
    return;
  }

  MainError = FindTimePlace(Time[0]);
  
  if (!MainError)
    FileClose(handle);
    
  return;
}

void deinit()
{
  if (MainError)
    FileClose(handle);
  
  return;
}

bool GetPrices( int& PriceTime, int& PriceLow, int& PriceHigh)
{
  PriceTime = FileReadInteger(handle);
  FileSeek(handle, DOUBLE_VALUE, SEEK_CUR);
  PriceLow = FileReadDouble(handle) / Point + 0.1;
  PriceHigh = FileReadDouble(handle) / Point + 0.1;
  FileSeek(handle, 2 * DOUBLE_VALUE, SEEK_CUR);

  if (FileTell(handle) + BARSIZE <= FileSize(handle))
    return(TRUE);
  else
    return(FALSE);
}

int GetTimeTrade()
{
  static bool FlagUP = TRUE;
  static int Min = 999999;
  static int Max = 0;
  static int NTime;
  int ResTime;
  
  int PriceTime, PriceLow, PriceHigh;
    
  while (TRUE)
  {
    if (!GetPrices(PriceTime, PriceLow, PriceHigh))
      return(-1);

    if (FlagUP)
    {
      if (PriceHigh > Max)
      {
        Max = PriceHigh;
        NTime = PriceTime;
      }
      else if (Max - PriceLow >= Pips)
      {
        FlagUP = FALSE;
        Min = PriceLow;
        
        break;
      }
    }
    else // (FlagUP == FALSE)
    {
      if (PriceLow < Min)
      {
        Min = PriceLow;
        NTime = PriceTime;
      }
      else if (PriceHigh - Min >= Pips)
      {
        FlagUP = TRUE;
        Max = PriceHigh;
        
        break;
      }
    }
  }
  
  ResTime = NTime;
  NTime = PriceTime;

  return(ResTime);
}

void CloseOrder( int Ticket )
{
  OrderSelect(Ticket, SELECT_BY_TICKET);
  
  if (OrderType() == OP_BUY)
    OrderClose(Ticket, OrderLots(), Bid, 0);
  else  // (OrderType() == OP_SELL)
    OrderClose(Ticket, OrderLots(), Ask, 0);

  return;  
}

int ReverseOrder( int Ticket)
{
  if (Ticket == 0)
    Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 0, 0, 0);
  else
  {
    OrderSelect(Ticket, SELECT_BY_TICKET);
  
    if (OrderType() == OP_BUY)
    {
      OrderClose(Ticket, OrderLots(), Bid, 0);
      Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 0, 0, 0);
    }
    else  // (OrderType() == OP_SELL)
    {
      OrderClose(Ticket, OrderLots(), Ask, 0);
      Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 0, 0, 0);
    }
  }
  
  return(Ticket);
}

void System()
{
  static int Ticket = 0;
  static int NewTime = 0;
  
  if (NewTime < 0)
    return;
    
  if (Time[0] < NewTime)
    return;

  Ticket = ReverseOrder(Ticket);
  
  NewTime = GetTimeTrade();
  
  if (NewTime < 0)
    CloseOrder(Ticket);
}

void start()
{
  if (!MainError)
    return;

  System();
    
  return;
}
05.04.2010, 10:44
Аватар для VAK
VAK VAK вне форума Почётный гражданин
Регистрация: 05.08.2008 / Сообщений: 378
Поблагодарили 79 раз(а) / Репутация: 91
[lang=en][B][COLOR=Navy]}[/HTML]
Ты неаверное слепой?

handle = FileOpenHistory(Symbol() + Period() + ".hst", FILE_BIN|FILE_READ);
05.04.2010, 15:25
Регистрация: 13.03.2009 / Сообщений: 2,406
Поблагодарили 1,980 раз(а) / Репутация: 2057
Что вы так разоряетесь? Ну заглядывает в будущее. Обычный грааль. В основном программисты так прикалываются. Но некоторое это продают лохам.
Почему же так не возмущаетесь когда видите индикаторы заглядывающие в будущее. По сути почти все прорисовывающиеся индикаторы заглядывают в будущее. А люди видят как красиво они показывают развороты пытаются использовать. А некоторые даже покупают.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
20.04.2010, 13:29
Аватар для hamkahamzah77
hamkahamzah77 hamkahamzah77 вне форума Интересующийся
Регистрация: 11.04.2010 / Сообщений: 8
Поблагодарили 2 раз(а) / Репутация: 4
[lang=en]
[lang=en]Hi...My Brothers...!!!

I THINK IF YOU WANT TO GET RIGHT LOGIC TO FUTURE PREDICT,
DO NOT USE .HST FILE !!!!! OR FILE HISTORY !!!
BECAUSE IT WILL PRODUCE CONFLICT !!! IT CAN NOT WORKS PROPERLY,SO YOU MUST CHANGE CODE OF PROGRAM AND THEN USE BARS FOR ANALYSYS !!
THERE ARE OPPORTUNITY TO MAKE EA WORKS PROPERLY :

STEP 1 : CHANGE IT CODE INTO CUSTOM INDICATOR !!! SO IF WE CAN USE IT WITH LOGIC :
if ( iCustom( NULL,0," Bla..Bla..Bla",0) ==> BUY();
if ( iCustom( NULL,0," Bla..Bla..Bla",0) ==> SELL();

STEP 2 : MAKE EA INDEPENDENTLY AND SEPARATE WITH INDICATOR.

I THINK IT WILL RESOLVE CONFLICT OF THE EA !!

GOOD CODING !!! AND GOOD LUCK !!


[/lang]

THE CODE EA PROGRAM TRANSFORM INTO INDICATOR !!!
TRY THIS BELOW !!!

Код HTML:
#define MAINSEEK 148
#define BARSIZE 44  // LONG_VALUE + 5 * DOUBLE_VALUE

extern int Pips = 50;
extern double Lots = 0.1;

int handle;
bool MainError;

int GetTime( int Pos )
{
  int PosTime;
  
  FileSeek(handle, MAINSEEK + Pos, SEEK_SET);
  PosTime = FileReadInteger(handle);

  return(PosTime);
}

bool FindTimePlace( int SearchTime )
{
  int LeftTime, RightTime, PosTime;
  int Left, Right, Pos;
  
  Left = 0;
  Right = FileSize(handle) - MAINSEEK - BARSIZE;
  
  LeftTime = GetTime(Left);
  RightTime = GetTime(Right);
  
  while ((LeftTime < SearchTime) && (SearchTime < RightTime))
  {    
    Pos = (Left + Right) / 2;
    Pos -= Pos % BARSIZE;
    
    if (Pos == Left)
      break;
    
    PosTime = GetTime(Pos);
    
    if (SearchTime >= PosTime)
    {
      Left = Pos;
      LeftTime = GetTime(Left);
    }
    else // if (SearchTime < PosTime)
    {
      Right = Pos;
      RightTime = GetTime(Right);
    }
  }
  
  if (SearchTime <= RightTime)
  {
    FileSeek(handle, Left + MAINSEEK, SEEK_SET);
    return(TRUE);
  }
  else
    return(FALSE);
}

void init()
{
  handle = FileOpenHistory(Symbol() + Period() + ".hst", FILE_BIN|FILE_READ);
  
  if (handle > 0)
    MainError = TRUE;
  else
  {
    MainError = FALSE;
    
    return;
  }

  MainError = FindTimePlace(Time[0]);
  
  if (!MainError)
    FileClose(handle);
    
  return;
}

void deinit()
{
  if (MainError)
    FileClose(handle);
  
  return;
}

bool GetPrices( int& PriceTime, int& PriceLow, int& PriceHigh)
{
  PriceTime = FileReadInteger(handle);
  FileSeek(handle, DOUBLE_VALUE, SEEK_CUR);
  PriceLow = FileReadDouble(handle) / Point + 0.1;
  PriceHigh = FileReadDouble(handle) / Point + 0.1;
  FileSeek(handle, 2 * DOUBLE_VALUE, SEEK_CUR);

  if (FileTell(handle) + BARSIZE <= FileSize(handle))
    return(TRUE);
  else
    return(FALSE);
}

int GetTimeTrade()
{
  static bool FlagUP = TRUE;
  static int Min = 999999;
  static int Max = 0;
  static int NTime;
  int ResTime;
  
  int PriceTime, PriceLow, PriceHigh;
    
  while (TRUE)
  {
    if (!GetPrices(PriceTime, PriceLow, PriceHigh))
      return(-1);

    if (FlagUP)
    {
      if (PriceHigh > Max)
      {
        Max = PriceHigh;
        NTime = PriceTime;
      }
      else if (Max - PriceLow >= Pips)
      {
        FlagUP = FALSE;
        Min = PriceLow;
        
        break;
      }
    }
    else // (FlagUP == FALSE)
    {
      if (PriceLow < Min)
      {
        Min = PriceLow;
        NTime = PriceTime;
      }
      else if (PriceHigh - Min >= Pips)
      {
        FlagUP = TRUE;
        Max = PriceHigh;
        
        break;
      }
    }
  }
  
  ResTime = NTime;
  NTime = PriceTime;

  return(ResTime);
}

void CloseOrder( int Ticket )
{
  OrderSelect(Ticket, SELECT_BY_TICKET);
  
  if (OrderType() == OP_BUY)
    OrderClose(Ticket, OrderLots(), Bid, 0);
  else  // (OrderType() == OP_SELL)
    OrderClose(Ticket, OrderLots(), Ask, 0);

  return;  
}

int ReverseOrder( int Ticket)
{
  if (Ticket == 0)
    Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 0, 0, 0);
  else
  {
    OrderSelect(Ticket, SELECT_BY_TICKET);
  
    if (OrderType() == OP_BUY)
    {
      OrderClose(Ticket, OrderLots(), Bid, 0);
      Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 0, 0, 0);
    }
    else  // (OrderType() == OP_SELL)
    {
      OrderClose(Ticket, OrderLots(), Ask, 0);
      Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 0, 0, 0);
    }
  }
  
  return(Ticket);
}

void System()
{
  static int Ticket = 0;
  static int NewTime = 0;
  
  if (NewTime < 0)
    return;
    
  if (Time[0] < NewTime)
    return;

  Ticket = ReverseOrder(Ticket);
  
  NewTime = GetTimeTrade();
  
  if (NewTime < 0)
    CloseOrder(Ticket);
}

void start()
{
  if (!MainError)
    return;

  System();
    
  return;
}


hello friend..
can u post mq4.. i not understant how to use it..
thank[/lang]
26.04.2010, 03:10
Аватар для torito
torito torito вне форума Интересующийся
Регистрация: 23.04.2010 / Сообщений: 15
Поблагодарили 0 раз(а) / Репутация: 1
Эй, ребята ... это АН только для backtester потому что самка не торговать на демо-
или реальный счет
07.05.2010, 19:00
Аватар для PhoenixAngel
PhoenixAngel PhoenixAngel вне форума Интересующийся
Регистрация: 26.04.2010 / Сообщений: 1
Поблагодарили 0 раз(а) / Репутация: 1

По умолчанию [langtitle=hu]HungarianGrail by OpusDei[/langtitle]

[lang=hu]This is a good sharp trading.

Lucky Trading.

Best regards,
OpusDei
from Hungary

"I'm a system administrator, if you see me laugh, you save!"[/lang]
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Советник Chameleon_2008 [ адаптационный советник | чемпионат 2008 ] alexgron Советники, эксперты, форекс роботы 20 23.07.2013 09:23
Уникальный советник Советник МТ4 "Умный мартингейл" pipmen Temp, корзина, реклама 18 06.06.2010 17:56
Мультивалютный советник GEPARD© 3.1 , советник Lucky 2.4, советник Goldmoney Алексей Что обсуждают на других форумах 0 20.04.2010 06:50
Советник Triad Traiding индикаторы,шаблон,советник INFERNUS1612 Советники, эксперты, форекс роботы 2 16.06.2009 12:31


Текущее время: 00:01. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO