[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 238

 
Vinin >> :

它被显示出来,只是离开了屏幕。在一个单独的窗口中进行。

>> "在一个单独的窗口"--如何?

 
splxgf >> :

这是一个编程论坛,不是elliotchiska论坛...也许你应该去http://elliottwave.ru/

本论坛讨论交易策略,以及艾略特波交易

也是一种策略,不是吗?

 
dmmikl86 писал(а)>>

"在一个单独的窗口中" - 如何?

#property indicator_separate_window
 
dmmikl86 >> :

>> "在一个单独的窗口"--如何?

你不能把马放在同一辆车上

一匹马和一只颤抖的母鹿。( с)

你的指标不可避免地会分崩离析,即使它是在一个单独的窗口中显示。 如果没有任何特殊的技巧,在同一个图表上显示GPPUSD的1.5和GBPJPY的145.0是非常不方便的。

 

晚上好!我正在尝试创建我自己的EA......我做了一个类似于另一个EA的MA交叉和反向交叉......

但却用它自己的参数做了......。它只向一个方向开仓,甚至不关闭仓位...

我如何在这里添加一个函数,当某条线被越过后就关闭...

总而言之,大师的帮助!:-(

....

当蓝线向上交叉时,它买入,当它向下交叉时,它关闭。

当向上越过红线时卖出,当向下越过红线时关闭。

正如你在图片中所看到的,这个系统并不工作...

请帮助解决一下代码问题......。


extern double Lots               = 0.1;
double Points;
int init ()
  {
   Points = MarketInfo (Symbol(), MODE_POINT);
   return(0);
  }
int CalculateCurrentOrders(string symbol)
  {
   int buys=0, sells=0;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()== MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
   if( buys>0) return( buys);
   else       return(- sells);
  }
double LotsOptimized()
  {
   double lot= Lots;
   int    orders= HistoryTotal();  
   int    losses=0;                 
   lot=NormalizeDouble(AccountFreeMargin()*0.02/1000.0,1);
   if(3>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++;
        }
      if( losses>1) lot=NormalizeDouble( lot- lot* losses/3,1);
     }
   if( lot<0.1) lot=0.1;
   return( lot);
  }
void CheckForOpen()
  {
double apglav1;
double apglav2;
double apsig1;
double apsig2;
int    res;
   if(Volume[0]>1) return;
   apglav1 =iCustom(NULL,0,"Caska",0,1); // первая линия на 1м баре
   apsig1 =iCustom(NULL,0,"Caska",1,1); // вторая линия на 1м баре   
   apglav2 =iCustom(NULL,0,"Caska",0,2); // первая линия на 2м баре
   apsig2 =iCustom(NULL,0,"Caska",1,2); // вторая линия на 2м баре
     if ( apglav2< apsig2 && apglav1> apsig1)
     {
      res=OrderSend(Symbol(),OP_BUY, LotsOptimized(),Ask,3,"", MAGICMA,0,Blue);
      return;
     }
     if ( apglav2> apsig2 && apglav1< apsig1)
     {
      res=OrderSend(Symbol(),OP_SELL, LotsOptimized(),Bid,3,"", MAGICMA,0,Red);
      return;
     }
  }
  void CheckForClose()
  {
double apglav1;
double apglav2;
double apsig1;
double apsig2;
   if(Volume[0]>1) return;
   apglav1 =iCustom(NULL,0,"Caska",0,1); // первая линия на 1м баре
   apsig1 =iCustom(NULL,0,"Caska",1,1); // вторая линия на 1м баре   
   apglav2 =iCustom(NULL,0,"Caska",0,2); // первая линия на 2м баре
   apsig2 =iCustom(NULL,0,"Caska",1,2); // вторая линия на 2м бар
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)==false)        break;
      if(OrderMagicNumber()!= MAGICMA || OrderSymbol()!=Symbol()) continue;
      if(OrderType()==OP_BUY)
        {
        if( apglav2> apsig2 && apglav1< apsig1) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
        break;
        }
   if(OrderType()==OP_SELL)
        {
        if( apglav2< apsig2 && apglav1> apsig1) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
        break;
        }
}
}
void start()
  {
   if(Bars<100 || IsTradeAllowed()==false) return;
   if( CalculateCurrentOrders(Symbol())==0) CheckForOpen();
   else                                    CheckForClose();
  }
 

埃利奥特人总是在论坛上谈论交易问题。创建一个主题并提出一个问题。而你可以在这里提出这个问题。也许我会回答这个问题,或者其他人会回答。

 
DDFedor >> :

晚了...计时器开始...>> "波浪分析

Sabluk也会让这个主题被禁。

 
Ibiss >> :

当向上穿越蓝线时买入,当向下穿越时关闭。

当向上越过红线时卖出,当向下越过红线时关闭。

正如你在图片中看到的,这个系统不起作用。

请帮助解决一下代码问题......。


看来一切都很好。(只是一瞥)。

只有。这种表达方式

如果(Volume[0]>1)返回。

你最好把它删除。"这 "只在测试器中正确工作。而且,它几乎不可能在网上运行!

最好在开盘价上做个适当的工作。

 

亲爱的论坛用户!

我写了一个指标,有一个问题,移动平均线(Buf_2)没有被画出来,这里是代码。

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red

extern int average=14;
//---- buffers
double Buf_1[], Buf_2[];


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0, Buf_1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1, Buf_2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    i, 
          Counted_bars=IndicatorCounted();


//----
//====================================================================
// график тела с объемом
double sum_b=0.0;
i=Bars- Counted_bars-1;           // Индекс первого непосчитанного
   while( i>=0) 
      {  
       //----
       if (Close[ i]>Open[ i]) {
         sum_b = sum_b + (Close[ i]-Open[ i])*Volume[ i];
         Buf_1[ i]= sum_b;
         }
         
       if (Close[ i]<Open[ i]) {
         sum_b = sum_b - (Open[ i]-Close[ i])*Volume[ i];
         Buf_1[ i]= sum_b;
         }
         
       if (NormalizeDouble(Close[ i],Digits)==NormalizeDouble(Open[ i],Digits)) {
         Buf_1[ i] = Buf_1[ i-1];
         }
         
       i--;
       //----
      }
//====================================================================
// average
int n=0;
   while( i>=0) 
      {  
       //----
       while( n<= average){
         Buf_2[ i]= Buf_1[ i- n];
         n++;
         }
       
       i--;
       //----
      }

//----
   return(0);
  }
//+------------------------------------------------------------------+
帮助我了解问题出在哪里?
 

Urain писал(а) >>

萨布鲁克也会让这个分支被禁止。

是的,很好。

2个操作。简而言之,为了纯粹依靠波浪进行交易,你需要有一个 具有计算机性能的大脑。正是这种表现的大脑。换句话说,这可能是一个月的图表的情况(至少在B1上有所有的后果)。只有在一个月内,初学者才可能计算出所有 可能的情况 ,同时考虑到整个历史,最好是自该工具的交易开始以来的历史 或者,作为一种选择,回答这个问题--你怎么知道第二波是什么样子(你问)?任何反转都是从第一波开始的。对第一个问题的纠正是第二个问题。以M15为例,在 上面 你会详细 看到运动的开始,对它的修正(第一波和第二波--PATTERN),如果你做了一百次(考虑反转),那么你问题的答案就准备好了。唯一需要考虑的是,市场经常画出没有任何延续性的图案, 也就是说,如果你在现实中看到过这样的PATTERN,但在历史上没有,可以认为是真实的,只有在趋势向同一方向发展往往图案会被打破 一般来说,你必须要有很多条件才能在波浪上进行交易。

就我个人而言,我不具备其中的一些特征。

1.我不是很聪明。

2.要掌握一个非常复杂的课题,需要很多时间。

3.从交易工具开始的报价。

抽象思维。

4.有必要将整个波浪模式至少在一年内牢记在心(这就是人们需要大脑的地方),而且不仅仅是保持,还要有变体。有非常多的变体,以及矫正的类型。这就像参数的优化--你增加了一个参数和两个值,你就有了两倍的变体,如果你增加五个参数,如果你增加1000个值?

嗯,我们没有足够的大脑来做这个。没有足够的时间,也没有足够的名言。

还有很多其他的事情。使用经典的TA要容易得多。它的效果不比VA差,尽管我个人总是使用波浪分析,因为我在它上面花了很多时间。但是,大多数交易者在没有BA的情况下做得非常好。