任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 748

 
AlexeyVik:


而这个代码

最好写在init()中,最好不要像这样写

然后在start()中

我需要一个买入止损,然后在价格后面拖动一个分形,再以同样的程序卖出止损。
 
xant:
我收回这个问题,我自己已经想明白了。
反编译并不是一个好主意。我建议彻底重写代码
 
Petiyashaket:
我需要一个由价格分形跟踪(修改)的买入止损,直到其触发,并以同样的方式卖出止损。

因此,你的代码中的问题,用红色突出显示。

if(Up>0&&Down==0&&Volume[0]<2)     //если верхний фрактал есть а нижнего нету и прошло не больше 2х тиков то:
    {
    if((High[3]+5*Point-Ask)/Point>MarketInfo(Symbol(),MODE_STOPLEVEL)) //если расстояние 0 бара от хая фрактала позволяет то:
    OrderSend(Symbol(),OP_BUYSTOP,Lot,High[3]+5*Point,20,High[3]-sl,High[3]+tp,NULL,Magic,0,Green);//выставляем отложенный на покупку
    else {BS=High[3]+5*Point; Print("Виртуальный BS:",BS);} // а ели нет то запоминаем(позже будет добавлен вход с рынка)
        { // К чему относится эта скобка???
        for (int pos=0;pos==OrdersTotal();pos++)
        OrderSelect(pos,SELECT_BY_POS,MODE_TRADES);
        if(OrderMagicNumber()==Magic&&OrderSymbol()==Symbol()&&OrderType()==OP_BUYSTOP)
          {
          OrderModify(OrderTicket(),Up+5*Point,High[3]-sl,High[3]+tp,0,CLR_NONE);
          }
        } // это пара к той...
     
       }  

你仍然没有回答。我不知道该怎么做,但代码执行的结果将是不同的。

 
AlexeyVik:

因此,你的代码中的问题,用红色突出显示。

你仍然没有回答。由此可见,代码执行的结果将是不同的。

为什么你在条件中使用Volume[0]<2?

有时在一个虱子里有一堆虱子。而在这个酒吧里,这个条件不会再起作用。

 
Vinin:

为什么你在条件中使用Volume[0]<2?

有时,在一个勾里有一堆的人。而在这个酒吧里,这个条件将不再起作用了

维克多,这个问题不适合我。我使用这个功能。

bool NewBar()
{
   static datetime lastbar = iTime(_Symbol, PERIOD_H1, 0); // Период можно менять по желанию
   datetime curbar = iTime(_Symbol, PERIOD_H1, 0);         // и будет отсчитывать новый бар заданного периода на любом ТФ
   if(lastbar != curbar)
    {
     lastbar = curbar;
     return (true);
    }
   else return(false);
}//******************************************************************|

我复制了一段代码来问一个关于括号的问题。

 
Vinin:

为什么你在条件中使用Volume[0]<2?

有时,在一个勾里有一堆的人。而在这个酒吧里,这个条件将不再起作用了

这就是奥列格-雷米佐夫在YouTube上教授的内容。 这个条件限制了对新闻的交易和对损失的捕捉 :)
 
Petiyashaket:
这就是奥列格-雷米佐夫在YouTube上教授的内容,这个条件限制了对新闻的交易和捕捉麋鹿:)
我对雷米佐夫没什么可说的。但是,如果你的代码会错过酒吧,也不要感到生气。好吧,如果你有一分钟的代码(当然是在什么时间范围内),但如果你要在一个小时或更长时间内运行 - 将只有可怜的你。
 
AlexeyVik:

因此,你的代码中的问题,用红色突出显示。

一直没有得到答复。而这也会使代码执行的结果不同。

我以不同的方式试验了括号,我删除和添加了它们,结果是一样的
 
Petiyashaket:
我以不同的方式试验了括号,我删除和添加了括号,结果是一样的。

你不需要做实验,你需要了解这些括号的含义以及如何应用它们。这是在文档中写的,我不会看关于它的讲座。

if(Up>0&&Down==0&&Volume[0]<2)     //если верхний фрактал есть а нижнего нету и прошло не больше 2х тиков то:
    {
    if((High[3]+5*Point-Ask)/Point>MarketInfo(Symbol(),MODE_STOPLEVEL)) //если расстояние 0 бара от хая фрактала позволяет то:
    OrderSend(Symbol(),OP_BUYSTOP,Lot,High[3]+5*Point,20,High[3]-sl,High[3]+tp,NULL,Magic,0,Green);//выставляем отложенный на покупку
    else {BS=High[3]+5*Point; Print("Виртуальный BS:",BS);} // а ели нет то запоминаем(позже будет добавлен вход с рынка)

        for (int pos=0;pos==OrdersTotal();pos++)
        { // наверное сюда её надо
        OrderSelect(pos,SELECT_BY_POS,MODE_TRADES);
        if(OrderMagicNumber()==Magic&&OrderSymbol()==Symbol()&&OrderType()==OP_BUYSTOP)
          {
          OrderModify(OrderTicket(),Up+5*Point,High[3]-sl,High[3]+tp,0,CLR_NONE);
          }
        } // это пара к той...
     
       }  
但这仅仅是代码的一部分。再往前走,还有一个类似的问题。
 
//+------------------------------------------------------------------+
//|                                                   Strategy 3.mq4 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+

#property copyright ""
#property link      ""
#include <Library1.mqh>
extern int Magic=111;
extern int TP=20;
extern int SL=30;
extern int Trall_dist=10;
extern int Shag=10;
extern bool Isp_shag=false;
extern bool Isp_bezubitok=false;
extern double Lot=0.1;
double SS=0,BS=0;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  double tp,sl;
  if(Digits==3||Digits==5) {tp=TP*10*Point;sl=SL*10*Point;}
  else if(Digits==2||Digits==4) {tp=TP*Point;sl=SL*Point;}
  double Up=iFractals(Symbol(),0,MODE_UPPER,3);
  double Down=iFractals(Symbol(),0,MODE_LOWER,3);
//----
  if(Up>0&&Down==0&&Volume[0]<2)
    {
    if((High[3]+5*Point-Ask)/Point>MarketInfo(Symbol(),MODE_STOPLEVEL))
    OrderSend(Symbol(),OP_BUYSTOP,Lot,High[3]+5*Point,20,High[3]-sl,High[3]+tp,NULL,Magic,0,Green);
 //----   
    for (int pos=0;pos==OrdersTotal();pos++)
        {
        OrderSelect(pos,SELECT_BY_POS,MODE_TRADES);
        if(OrderMagicNumber()==Magic&&OrderSymbol()==Symbol()&&OrderType()==OP_BUYSTOP)
          {
          OrderModify(OrderTicket(),High[3]+5*Point,High[3]-sl,High[3]+tp,0,CLR_NONE);
          }
        } 
    } 
  else if(Up==0&&Down>0&&Volume[0]<2)
    {
    if((Bid-Low[3]-5*Point)/Point>MarketInfo(Symbol(),MODE_STOPLEVEL))
    OrderSend(Symbol(),OP_SELLSTOP,Lot,Low[3]-5*Point,20,Low[3]+sl,Low[3]-tp,NULL,Magic,0,Red);
    for (pos=0;pos==OrdersTotal();pos++)
        {
        OrderSelect(pos,SELECT_BY_POS,MODE_TRADES);
        if(OrderMagicNumber()==Magic&&OrderSymbol()==Symbol()&&OrderType()==OP_SELLSTOP)
          {
          OrderModify(OrderTicket(),Low[3]-5*Point,Low[3]+sl,Low[3]-tp,0,CLR_NONE);
          }      
        }     
    }    
   
            
    if(OrdersTotal()>0)
    Trailing_stop(Magic,Symbol(),Trall_dist,Shag,Isp_shag,Isp_bezubitok);
    return(0);
  }
//+------------------------------------------------------------------+
如果你能像我以前的代码那样,用一行代码和注释向我解释,我将非常感激。