[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 93

 
Roll:
问题的目的?个人意见:对于代码算法(代码使用者)来说,无论在任何问题上存在什么样的规范、规则和公众意见,这个代码的作者(们)的主观意见是最重要的,不管 "正确与否"。
问题的目的--比如说,对于趋势的逆转或趋势的延续,什么是最重要的烛台形态
 
first_may:
问题的目的是什么是最重要的烛台形态,比如说对于趋势的逆转或趋势的延续?

需要一份文献清单吗?
 
Roll:

需要一份文献清单吗?

将表明最重要模式的文献?莫里斯-G的《日本烛台》一书在这方面不是很好吗?
 

下午好,你能不能告诉我在专家顾问的代码中加入什么内容,使方格中显示的信息不会被扭曲(例如被图形或其他线条扭曲),也就是说,它将处于前景,不会被照亮。提前感谢。

ObjectCreate("Flag-1",OBJ_LABEL, 0, 0, 0)。
ObjectSetText("Flag-1", "g", 154, "Webdings")。
ObjectSet("Flag-1", OBJPROP_CORNER, 0)。
ObjectSet("Flag-1", OBJPROP_XDISTANCE, 6)。
ObjectSet("Flag-1", OBJPROP_YDISTANCE, 4)。
ObjectSet("Flag-1", OBJPROP_COLOR, DimGray)。
ObjectSet("Flag-1", OBJPROP_BACK, false)。

 
sergeev:

测试策略。MT4。MQL4



1
1billionbaks 16.08.2011 13:26

你好。

我对这个问题感兴趣。我如何在大时间范围内下载和测试EA和指标?


是的--只有在演示中和不同的货币对上才有可能!策略测试器给出了完全无法想象的结果。
 
bercut0077:

下午好,你能不能告诉我在专家顾问的代码中加入什么内容,使方格中显示的信息不会被扭曲(例如被图形或其他线条扭曲),也就是说,它将处于前景,不会被照亮。提前感谢。

ObjectCreate("Flag-1", OBJ_LABEL, 0, 0, 0)。
ObjectSetText("Flag-1", "g", 154, "Webdings")。
ObjectSet("Flag-1", OBJPROP_CORNER, 0)。
ObjectSet("Flag-1", OBJPROP_XDISTANCE, 6)。
ObjectSet("Flag-1", OBJPROP_YDISTANCE, 4)。
ObjectSet("Flag-1", OBJPROP_COLOR, DimGray)。
ObjectSet("Flag-1", OBJPROP_BACK, false)。


如果成功了,写出你是如何做到的
 

日子过得不错。帮助:例如,工作顾问1.6 ilan和18,我打开订单正在交易,但慢慢地进入赤字,我想测试,我设置m5货币对欧元美元设置参数,并按启动绿色条慢慢向前移动。我没有看到任何结果,我看到的是一个空白的图表,但我写的是错误的131 请给我建议,我刚刚开始学习。我正在使用forex4,非常感谢Igor。我不知道如何设置止损。

 

下午好!!!。我一定是又变笨了。我已经回到了删除所有订单的状态。我不记得一个月前我到底在那里做了什么,我已经从碎片中创建了一个新的EA。

简而言之,EA并不删除订单。事实上,外汇圈并没有掉出来。

//----  


 // Alert ("ОсталосььOrdersTotal()", OrdersTotal());
    j=-1;
 for ( i=0; i<OrdersHistoryTotal(); i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
         if (OrderSymbol()!=Symbol())     continue;
         if (OrderType()>1)               continue;
         if (OrderMagicNumber()==1000 || OrderMagicNumber()==2000) {
            if (wremjapomnim<OrderCloseTime()) {
                wremjapomnim=OrderCloseTime();
                j=i;
               }
            }
         }
      }
   if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
      if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point) {
         Alert("Позиция с тикетом #",OrderTicket()," закрыта по TakeProfit, закрываем остальные прозиции и удаляем отложенные ордера");
         // Здесь код для закрытия всех открытых позиций (тоже в цикле)
         for ( i=0; i<OrdersTotal(); i++) {Alert ("Здесь код для закрытия всех открытых позиций (тоже в цикле)",i);
           OrderSelect(i, SELECT_BY_POS );
              if (  OrderType( )==OP_BUY && OrderType( )==OP_SELL ){
                          OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);
   Alert ("OrderClose-vse-2",  GetLastError( ) ); C=0;A=1; }} 
         // Здесь код для удаления всех отложенных ордеров (также в цикле)
         for ( i=0; i<OrdersTotal(); i++) {Alert("Здесь код для удаления всех отложенных ордеров (также в цикле)",i);    
         OrderSelect(i, SELECT_BY_POS );
           if (  OrderType( )==OP_BUYSTOP && OrderType( )==OP_SELLSTOP ){ 
            OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vse-2",  GetLastError( ) ); }}    CloseAll();
         }
      }
//----


   return(0);
  }
//+------------------------------------------------------------------+


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

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



//+------------------------------------------------------------------+
// Закрываем все ордера                                              |
//+------------------------------------------------------------------+
void CloseAll()
{
 int ticket, i;
 while(OrdersTotal()>0) {
  for(i=OrdersTotal()-1;i>=0;i--){
   OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if(OrderType()<2){
     if(OrderType()==OP_BUY) {
        RefreshRates();
        ticket=OrderClose(OrderTicket(),OrderLots(),Bid,3,0);
        if(!ticket) Print(" Ошибка! ",GetLastError()); 
        Sleep(1000); }
     if(OrderType()==OP_SELL) {
        RefreshRates();
        ticket=OrderClose(OrderTicket(),OrderLots(),Ask,3,0);
        if(!ticket) Print(" Ошибка! ",GetLastError()); 
        Sleep(1000); }
    }    
  }
 }   
}
//+ -----------------------------------------------------------------+
在前循环之前,一切都记录得很好,日志从来没有得到一个条目......
Alert ("Здесь код для закрытия всех открытых позиций (тоже в цикле)",i);
和周期,其中...
for ( i=0; i<OrdersTotal(); i++) {Alert("Здесь код для удаления всех отложенных ордеров (также в цикле)",i);

该功能也不会删除任何东西... Help!!!!Please!我已经盯着表格看了40分钟了......

我到底在哪里?

 
是否可以下载一个佐利奥特波的指标
 

二维码-novitsek

通过无效的CloseAll()

ticket=OrderClose

Ticket是整数类型,OrderClose是布尔型。最好不要这样做。

虽然循环是无限的,并且试图只删除市场订单,如果有一个挂起,那么这个音乐将是永恒的。

至于其他方面

我知道第一个表格是按票据和符号寻找最后关闭的订单。

for ( i=0; i<OrdersTotal(); i++)

最好是按相反的顺序搜索接近;我想我们不需要解释原因。

如果( OrderType( )==OP_BUY &&OrderType( )==OP_SELL )

该订单可能既是买入也是卖出,但我更希望它是买入的。

(OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))

我会把j放在这一行之前;这样可以简化事情,也可以考虑一下条件

如果(NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point)

我建议你澄清谁是点,为什么要乘以0.5?