[存档!]我将免费写一份顾问报告 - 页 19

 

我是编程的新手,即使你可以说我是一个完全的傻瓜。但是,用我的手去尝试一下是很有意思的。我正试图编写一个简单的专家顾问,每周工作一天。例如,在星期一,它在00-00时打开,在24-00时关闭。我清楚地理解它的独立部分,但我不能把它全部组装在一个程序中。如果你知道在哪里可以得到(下载)关于这个问题的专家顾问。我想把它作为一个样本。

 
asd05:

我是编程的新手,即使你可以说我是一个完全的傻瓜。但是,用我的手去尝试一下是很有意思的。我正试图编写一个简单的专家顾问,每周工作一天。例如,在星期一,它在00-00时打开,在24-00时关闭。我清楚地理解它的独立部分,但我不能把它全部组装在一个程序中。如果你知道在哪里可以得到(下载)关于这个问题的专家顾问。我想把它作为一个样本。


不建议使用垃圾邮件。你可能会被禁赛。
 
asd05:

我是编程的新手,即使你可以说我是一个完全的傻瓜。但是,用我的手去尝试一下是很有意思的。我正试图编写一个简单的专家顾问,每周工作一天。例如,在星期一,它在00-00时打开,在24-00时关闭。我清楚地理解它的独立部分,但我不能把它全部组装在一个程序中。如果你知道哪里可以得到(下载)关于这个问题的专家顾问。我想把它作为一个样本。

这里有一个原始的 "夜间猎人 "的例子。默认情况下,每天晚上9点到早上8点工作。
在最简单的版本中,大致上可以这样尝试。

//+------------------------------------------------------------------+
//|                                                    222222222.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"


extern int   Magic = 31295;
 extern int     Start=21;//начало работы вечером
extern int      End=8; //конец работы утром
extern int      SL=410;
extern int      TP=280;
extern double  Lot=0.1;

extern string  __________ = "=== Функция Трейлинг Стоп ====";
extern bool      UseTrailing = false;//Выключатель трейлинг стопа
extern int    MinProfit = 200;//порог включения трейлин стопа
extern int    TrailingStop = 150;// величина трейлинг стопа
extern int    TrailingStep = 10; // шаг трейлинг стопа 

bool Trade;
bool  gbNoInit    = False;   // Флаг неудачной инициализации

//----------------------------------------------------
int init()
{
//-----------------------------------------------------------
gbNoInit=False;  
if (!IsTradeAllowed()) {
    Message("Для нормальной работы советника необходимо\n"+
            "Разрешить советнику торговать");
    gbNoInit=True; return;
  }
  if (!IsLibrariesAllowed()) {
    Message("Для нормальной работы советника необходимо\n"+
            "Разрешить импорт из внешних экспертов");
    gbNoInit=True; return;    }
}
//-----------------------------------------------------

//===================================================
int start() {// функция СТАРТ

if (UseTrailing) TrailPositions(); // выключатель трейлинг стопа


if ( Hour()>Start || Hour()<End )//если время - больше  Start или меньше End
    Trade=true;    else Trade=false;//то торговля разрешена
Comment ("Торговля разрешена с ",Start ," до ",End);
//---------------------------------------------------
if (Trade && NumberOfPositions(NULL,OP_BUY,Magic)<1) {
//если тоговля разрешена и нет откр. длинных позиций
   OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-SL*Point,Ask+TP*Point,"хи - хи",Magic,0,SkyBlue);
                                               }
//---------------------------------------------------   
 if (Trade && NumberOfPositions(NULL,OP_SELL,Magic)<1) {
//если тоговля разрешена и нет откр. селл-  позиций 
   OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+SL*Point,Bid-TP*Point,"тра-ля-ля",Magic,0,Green);
                                                   }
 //-----------------------------
 return (0);                                      
}//конец функции СТАРТ 


//жжжжжжжжжжжжжжжжжжжжж Пользовательские функции жжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru/                  |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает количество позиций.                                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
int NumberOfPositions(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), kp=0;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++)                                    {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))      {
      if (OrderSymbol()==sy || sy=="")                   {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op)                   {
            if (mn<0 || OrderMagicNumber()==mn) kp++;
          }}}}}   return(kp); }

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
 void TrailPositions() // функция трейлинг стоп
{
  int Orders = OrdersTotal();
  for (int i=0; i<Orders; i++) {
    if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
    if (OrderSymbol() != Symbol()) continue;
     if (OrderMagicNumber() == Magic ){    
     if (OrderType() == OP_BUY )  {
      if (Bid-OrderOpenPrice() > MinProfit*Point) {
        if (OrderStopLoss() < Bid-(TrailingStop+TrailingStep-1)*Point) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Bid-TrailingStop*Point,
                                                     OrderTakeProfit(), 0, Blue);
        }      }    }
    if (OrderType() == OP_SELL)  {
      if (OrderOpenPrice()-Ask >MinProfit*Point) {
        if (OrderStopLoss() > Ask+(TrailingStop+TrailingStep-1)*Point 
                                                       || OrderStopLoss() == 0) {
          OrderModify(OrderTicket(), OrderOpenPrice(), Ask+TrailingStop*Point,
                                                      OrderTakeProfit(), 0, Blue);
        }   }   }    }   }  }

//+----------------------------------------------------------------------------+
//|  Вывод сообщения в коммент и в журнал                                      |
//+----------------------------------------------------------------------------+
void Message(string m) {
  Comment(m);
  if (StringLen(m)>0) Print(m);
}
 

你好!写作还在进行吗?:) 这里已经写了很多....,我想写一个小提示......一个简单的提示,关于两个马什玛和动量,如果有人愿意做,我会继续。

好运
 

简单的Enterra_Forex_Star_EA_3.1专家顾问需要进行一些调整。

它在设定的时间使用两个RSI中的一个进行交易,并将虚拟的止盈放在六个定时器上。

在价格亏损的情况下,有一个功能,当点数超过一定值时,可以在同一方向上开立额外的订单(类似于平均数)。

问题是:我只能在指定的交易时间开立额外的头寸,并且不重新计算止盈。

我必须这样做。

当价格从一个有利可图的方向下降时,在这样的条件下独立于 "工作时间",在同一方向上打开一个相同数量的订单(然后再多一些--数量应该调整)(只是一起而不是 "或")。

-已经超过了价格必须为负数(可调整)的最低点数

可调节的 I-Reg指标(附后)应在盈利方向上 "转弯"(通道宽度可以忽略不计)。

我们应该以 "距离盈亏平衡点x点 "的形式,在第一笔开仓(和随后的)订单中增加一个平均机制,也可以在所有 "平均 "订单中取舍,就像在第一笔订单中一样(考虑到它根据计时器的变化)。

所有关于4/5位数的报价

所有这些几乎都是Ilan_RSI_mm_extr193中应该做的(作为捐赠者附上),我只是完全不理解这种语言。

例子。

指定的交易时间(开仓)从10点到12点

在上午11:10,EA在1.5000开了一个卖出5手 - 价格上涨,在上午11:20,第二个卖出订单以相同的量被打开。它们都是通过第一种的虚拟外卖来关闭的,这是由EA中的6个计时器设置的(尽管事实上它的设置是不同的),例如,外卖是10点,EA在6点关闭,总之它不是很重要。因此,当价格达到第一个点(如1.4094)时,它们就会关闭。

我已经这样做了。 我应该在价格不低于20点时下额外的订单,而且只有在指标I-Reg(由我配置的)显示趋势逆转时才下订单。

如我所说,我必须添加平均参数。

还有一件事。

如果订单在11:50打开,比如说卖出,12:00后价格强劲向上,EA根本没有打开订单--我们应该纠正这一点,打开平均。

我想说得更清楚一些,但它已经变得有些复杂。

有人能做到吗?

谢谢你。

附加的文件:
enterra.rar  23 kb
 
leonid553:

这里有一个原始的 "夜间猎人 "的例子。它默认的工作时间是每天晚上9点到早上8点。
在最简单的版本中,尝试像这样的东西。


谢谢,我会试一试的。
 
下午好,我有一些有趣的想法,想在EA中实现。请与我联系,mrforex@mail.ru。我将非常感激。
 

你好,如果可能的话,请写一个基于两个Muwings的专家顾问,用于在交叉点上打开交易 非常感谢,请原谅我使用你宝贵的时间,提前附上图片中的例子 THANK YOU so much in advance chughoy@list.ru


 
下午好。我需要一个EA,当4个muwings 中的某些两个被越过时,它会提醒我。我愿意支付。联系:shurik302(dog)gmail.com
 
molodec8:

该战略每月带来高达40%的收益

从5岁开始比以前好40% ))))