0
Андрей, добрый день.Может стоит добавить ещё ограничение:
запрет торговли в текущие сутки если был достигнут профит.
Сейчас советник торгует пока есть обозначенные условия
bool buy=Bid>cl;
   bool sell=Bid<cl;

   if(TimeCurrent()>StringToTime(End))
      CloseAll();

   if(PositionsTotal()<1 && TimeCurrent()>StringToTime(Start) && TimeCurrent()<StringToTime(End))


Т.е. в конце торговых суток пошел откат, а советник продолжает торговать на продолжение тенденции.
avatar

ssg

  • 13 апреля 2022, 10:49
0
Андрей, единственное что я смог узнать и понять — это стратегия на продолжение суточной тенденции движения курса акций на бирже.
Старая добрая идиома :«Тренд — твой друг».«Если сегодня росла цена — завтра тоже будет расти!»
avatar

ssg

  • 12 апреля 2022, 18:50
0
Понятно, для акций в надежде на продолжении тенденции.
avatar

ssg

  • 11 апреля 2022, 22:43
0
То что закрывать сделки в конце дня мне ясно. Мне не ясно как открывать.
Можете в цифрах пояснить.
В подавляющем большинстве случаев цена закрытия суток равна цене открытия последующих суток.
Например:
цена закрытия евро в понедельник = 1.08888,
цена открытия евро во вторник = 1.08888.
И что делать? Покупать? Продовать?
avatar

ssg

  • 11 апреля 2022, 22:13
0
Что то я не понимаю:
Советник вспоминает закрытия прошлого дня. При открытии следующего дня если цена находится выше закрытия прошлого дня покупаем и ставим стоп. Продажа наоборот тост если цена ниже закрытия прошлого дня продаём.

Толи торговля идет на гепах, то ли в среду торгуют оглядываясь на понедельник.
Поясните пожалуйста.
avatar

ssg

  • 11 апреля 2022, 21:32
0
Что то у Вас все смешалось в кучу «кони, люди». То Вы заявляете о работе ордерами с усреднением (то есть лимитные ордера), то потом уже появляются стопордера (см.пп.3).
И что то по коду в советнике, на который Вы ссылаетесь, zakaz.opentraders.ru/73430.html я не вижу:
В этом советнике с отложками всё так и работает — отложки, СЛ, ТП можно передвигать и оставлять где надо. Они там и остаются.

avatar

ssg

  • 11 апреля 2022, 21:23
0
Советник добавляет следующую отложку при переводе очередной отложки с рыночный ордер, т.е. сетка «ползёт» по ходу цены.
— каждую отложку можно перемещать, удалять руками и этот ордер остаётся на том месте, куда передвинут. Советник его не перемещает назад. Можно руками открыть доп.отложку в нужном месте.


С чем связано, что у Вас советник устанавливает отложенный лимитный ордер, а Вы его затем принудительно удаляете?
avatar

ssg

  • 11 апреля 2022, 19:18
0
Во первых, я с Вами «вместе не бухал и катран на заваленке не катал», так что тыкайте куда нибудь сами себе.
Во вторых, да я умный, и мне хватает ума не брать Ма одного инструмента с одним периодом и от него отнимать другую Ма другого инструмента с другим периодом(с кагого «бодуна») и по этим данным строить некий график.
Затем брать график третьего инструмента вычислять разницу 2-х Ма этого, третьего, инструмента, но разными периодами.
И уже затем сравнивать эти два значения между собой.
Но даже и здесь «косяк»:
на графике eurusd 5m эта разница равна -0.0286,
на графике eurgbp 5m эта разница равна -0.000171.
Да, я умный, я просто напишу себе индикатор или советник-информатор и буду анализировать текущую цену, а не некоторый усредненный суррогат.
Единственное, с чем я согласен, это то, что стратегия далека от идеала, тем более в настоящий момент.
Вступать в прения и спор не буду, нет ни темы спора ни желания.*hi* 
avatar

ssg

  • 11 апреля 2022, 17:40
0
По Вашему получается вековая мудрость: «Не класть все яйца в одну корзину», это
глупость?:) 
avatar

ssg

  • 11 апреля 2022, 04:57
0
Но предложение отправить Канта в Соловки не только не поразило иностранца, но даже привело в восторг. — Именно, именно, — закричал он, и левый зеленый глаз его, обращенный к Берлиозу, засверкал, — ему там самое место! Ведь говорил я ему тогда за завтраком: «Вы, профессор, воля ваша, что‑то нескладное придумали! Оно, может, и умно, но больно непонятно. Над вами потешаться будут».

М. Булгаков. «Мастер и Маргарита»


Может быть Вы имели в виду BUY EurGbp = BUY EurUsd / SELL GbpUsd
Но и здесь не угадали. Проверьте сами:

//+------------------------------------------------------------------+
//|                                                          fxb.mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                          http://www.mункцql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mункцql5.com"
#property version   "1.00"
#property strict


extern string Symb1      = "EURUSD";
extern string Symb2      = "GBPUSD";
extern string Symb3      = "EURGBP";

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---BUY EurGbp = BUY EurUsd + SELL GbpUsd
   double s1=0,s2=0,s3=0,hedg1=0,hedg2=0;
   s1=MarketInfo(Symb1,MODE_BID);
    s2=MarketInfo(Symb2,MODE_BID);
     s3=MarketInfo(Symb3,MODE_BID); 
      hedg1=MarketInfo(Symb1,MODE_BID)/MarketInfo(Symb2,MODE_BID);
       hedg2=MarketInfo(Symb1,MODE_BID)-MarketInfo(Symb2,MODE_BID);
      
    Comment("\n Пара 1: ",DoubleToString(s1,5),
           "\n Пара 2 ",DoubleToString(s2,5),
           "\n Пара 3 ",DoubleToString(s3,5),
           "\n Хедж деление: ",DoubleToString(hedg1,5),
           "\n Дельта Хедж классика пара3 - хедж деление: ",DoubleToString((s3-hedg1),5),
           "\n Хедж вычитание: ",DoubleToString(hedg2,5));
  }
//+------------------------------------------------------------------+


Для меня
Так это ясно, как простая гамма.

Александр Пушкин.
«Моцарт и Сальери»

avatar

ssg

  • 11 апреля 2022, 04:53
0
Поставьте период ма=1 тогда будет текущая цена.
В тестере протестируйте с разным периодом МА и выложите пожалуйста здесь итоги и лучший результат. Поможете наверное многим здесь.
avatar

ssg

  • 10 апреля 2022, 03:55
0
Попробуйте этот вариант.Правда не уверен.
Обратите внимание какая дельта выводится в левом углу экрана.


//+------------------------------------------------------------------+
//|                                                  Corel2 v.01.mq5 |
//|                                              Copyright 2022, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"

#include <Trade\Trade.mqh>             // Подключаем торговый класс CTrade
CTrade trade;

//--- входные параметры
input string   Symb       = "USDCHF";  // 2-й символ

input double   Lot        = 1;         // Лот

input int      Loss       = 0;         // Лось в валюте
input int      Profit     = 50;        // Профит в валюте

//input double   Delta      = 0.33;      // Кэф оответствия графиков
input double   Sigma      = 333;       // Расхождение пар
input bool     CloseCross = 1;         // Закрытие по пересечению

input int      Slip       = 0;         // Проскальзывание
input ulong    Magic      = 123;       // Магик

input string IndName      = "Coral";
input int Periods=17;  // Period for MA indicator

int ind=0;
double s1[2],s2[2];


int handle1;
int handle2;
double SmoothedBuffer1[];
double SmoothedBuffer2[];
double Delta;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {

//---- Create handle for 2 MA indicators
   handle1=iMA(Symbol(),PERIOD_CURRENT,Periods,0,MODE_EMA,PRICE_CLOSE);
   handle2=iMA(Symb,PERIOD_CURRENT,Periods,0,MODE_EMA,PRICE_CLOSE);
   
//---- Copy latest MA indicator values into a buffer
   double copied1=CopyBuffer(handle1,0,0,4,SmoothedBuffer1);
   double copied2=CopyBuffer(handle2,0,0,4,SmoothedBuffer2);
   Delta = (copied1-copied2);
//---
   ind=iCustom(NULL,0,IndName,Symb,Delta);
   trade.SetExpertMagicNumber(Magic);

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

  }
//+------------------------------------------------------------------+
//|  Position Profit                                                 |
//+------------------------------------------------------------------+
double AllProfit()
  {
   double p=0;

   for(int i=PositionsTotal()-1; i>=0; i--)
     {
      if(PositionSelectByTicket(PositionGetTicket(i)))
        {
         if(PositionGetInteger(POSITION_MAGIC)==Magic)
           {
            p+=PositionGetDouble(POSITION_PROFIT);
           }
        }
     }
   return(p);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll()
  {
   for(int i=PositionsTotal()-1; i>=0; i--)
     {
      if(PositionSelectByTicket(PositionGetTicket(i)))
        {
         if(PositionGetInteger(POSITION_MAGIC)==Magic)
           {
            if(PositionGetInteger(POSITION_TYPE)<2)
              {
               trade.PositionClose(PositionGetTicket(i));
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;

   for(int i=PositionsTotal()-1; i>=0; i--)
     {
      if(PositionSelectByTicket(PositionGetTicket(i)))
        {
         if(PositionGetInteger(POSITION_MAGIC)==Magic)
           {
            if(PositionGetInteger(POSITION_TYPE)<2)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   double Ask1=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
   double Bid1=SymbolInfoDouble(_Symbol,SYMBOL_BID);

   double Ask2=SymbolInfoDouble(Symb,SYMBOL_ASK);
   double Bid2=SymbolInfoDouble(Symb,SYMBOL_BID);

   double sigma=MathAbs(s1[0]-s2[0])/_Point;

   CopyBuffer(ind,0,0,2,s1);
   CopyBuffer(ind,1,0,2,s2);

   if(CountTrades()<1 && sigma>Sigma)
     {
      if(s1[0]<s2[0])
        {
         trade.Buy(Lot,_Symbol,Ask1,0,0,"");
         trade.Sell(Lot,Symb,Bid2,0,0,"");
        }

      if(s1[0]>s2[0])
        {
         trade.Sell(Lot,_Symbol,Bid1,0,0,"");
         trade.Buy(Lot,Symb,Ask2,0,0,"");
        }
     }

   if((AllProfit()>Profit && Profit>0) || (AllProfit()<-Loss && Loss>0) || (s1[0]>s2[0] && s1[1]<s2[1]&& CloseCross) || (s1[0]<s2[0] && s1[1]>s2[1] && CloseCross))
      CloseAll();

   Comment("\n Trades: ",CountTrades(),
           "\n Profit: ",AllProfit(),
           "\n Sigma: ",sigma,
           "\n Symbol1: ",s1[0],
           "\n Symbol2: ",s2[0],
           "\n Delta: ",Delta );
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

avatar

ssg

  • 9 апреля 2022, 18:21
0
Выше я предлагал простые варианты расчета «коэф. соответствия».
avatar

ssg

  • 9 апреля 2022, 14:01
0
Я не уточнял у автора, но возможно дело в истории или четырех-пятизнак.
У меня тоже далеко от приемлемых результатов, даже «по контрольным точкам:) ».
avatar

ssg

  • 9 апреля 2022, 13:57
0
За Вами же не угонишься. Вы то тексты редактируете задним числом, то удаляете часть переписки…
В моём понимании «помощь»-это не сделать за кого то его работу, а сделать эту работу вместе.
avatar

ssg

  • 9 апреля 2022, 09:26
0
4.Судя по данной переписке советник интересует только нас.
В-третьих, Вы так и не ответили, кто такой МЫ.

Мы — это Вы и я. Больше в переписке здесь никто не участвует, хотя может и читают.
avatar

ssg

  • 9 апреля 2022, 05:13
0
Или Вы «шутить изволите» или Вам нужно изучить работу тестера.
1.При тестировании тестеру известна история а также открытие, закрытие, максимальная и минимальная цена бара на котором идет тестирование.Это так называемые «контрольные точки». Отсюда и название метода тестирования.
2.Всего у тестера есть три метода тестирования
— по контрольным точкам,
— по ценам открытия,
— по тикам.
Выбор метода определяется и выбирается в строке «Модель»тестера.
Так что потрудитесь ознакомиться с работой тестера, поможет в будущем не потерять деньги из за сомообмана из за ложных итогов в тестере.
Поисковики Вам в помощь.
Ликбез устраивать не буду.
3.Не я к Вам обратился за помощью.
4.Как работает советник я знаю.И если мне его писал Андрей а не я сам себе — значит были на это причины.
5.Покажите пожалуйста что Вы «немного подправили» в советнике и это работает.
«Лоскутные одеяла» не работающих кусков кода не в счет.
6.Хотите воплотить в жизнь идею своего «бомбического» алгоритма и «таинственного» скрипта — можем пообщаться.Обсуждать старую идею желания нет.
avatar

ssg

  • 8 апреля 2022, 21:18
0
Это Вы о чем?
avatar

ssg

  • 8 апреля 2022, 20:51
0
Почему опять контрольные точки а не тики. И опять дневки. У Вас индикатор на 5 минут. Тестируйте тоже на пять минут.
avatar

ssg

  • 8 апреля 2022, 20:10
0
Озвучьте сначала алгоритм советника как Вы его видите. По пунктам 1,2,3,..,10.
Только тогда можно будет написать советник, а то сейчас как то все сумбурно происходит.Не будет прописанного алгоритма (плана) то и не будет и толку.
avatar

ssg

  • 8 апреля 2022, 20:06