[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 179

 
Rustbunch:

帮助我找到一个EA或脚本,一定有一个现成的...

我需要一个EA,在市场上的某个时间开出一笔有一定亏损和利润的交易。我不需要它的其他东西......

预先感谢你。

任何专家顾问在MetaEditor中都是这样做的,而MetaEditor中的相应脚本也是如此!

if(Hour() >= xx) открыть;
 
因为我在一个数组里有顺序核算。 它都是peeved的。
 
if (!PozyProstavleny){ ArrayResize(Buy,Raz);ArrayResize(Sell,Raz);
   
           Price= (Ask+Dist*Point) ; TP_BUY=(Price+TP*Point);  SL_BUY= (Price- SL*Point);
           Price_SELL= (Bid-Dist*Point) ;  TP_SELL=Price_SELL-TP*Point;  SL_SELL=Price_SELL+SL*Point; K=1;
           
   for(int Raz1=0;Raz1<Raz;Raz1++){
   
           Sleep(2000); RefreshRates();  for(int A=25;A>=0;A--){if(IsTradeAllowed())break;if(A==0) Comment(" эксперту не разрешено 
торговать или поток для выполнения торговых операций занят "); }           
  tyccBuy= OrderSend (Symbol( ), OP_BUYSTOP,  Lot ,NormalizeDouble(Price, Digits), 5, NormalizeDouble( SL_BUY,Digits),  
 NormalizeDouble( TP_BUY,Digits), NULL, 450, 0, CLR_NONE);
   Buy[Raz1]= tyccBuy;
           Price= (Price+Dist*Point) ; TP_BUY= (Price+TP*Point); SL_BUY= (Price- SL*Point);
           Error=GetLastError();
     if (Error!=0){ string errorcomment = "Ошибка открытия ордера байстоп  "  + " " + Symbol() +  " " + ErrorDescript(Error); 
           Print (errorcomment);}
           
           Sleep(2000); RefreshRates();  for( A=25;A>=0;A--){if(IsTradeAllowed())break;if(A==0) Comment(" эксперту не разрешено торговать
 или поток для выполнения торговых операций занят "); }        
           Sell[Raz1]=OrderSend (Symbol( ), OP_SELLSTOP,  Lot ,NormalizeDouble(Price_SELL, Digits), 5, NormalizeDouble( SL_SELL,Digits), 
  NormalizeDouble( TP_SELL,Digits), NULL, 450, 0, CLR_NONE);
     Price_SELL= (Price_SELL -Dist*Point) ;TP_SELL=Price_SELL-TP*Point;   SL_SELL=Price_SELL+SL*Point;
            Error=GetLastError();if (Error==0)
            
            {errorcomment = "Ошибка открытия ордера селлстоп  "  + " " + Symbol() +  " " + ErrorDescript(Error); 
        Print (errorcomment);} PozyProstavleny=1; 
                       }
                       }   
                        
 

祝大家今天愉快

我是一个新手。这是我第一次尝试在测试器中把一个想法变成代码。

这个想法很简单--在每个小时蜡烛图的开盘价上交替地开出一个订单,向上和向下。

我写了一个简单的代码....但问题是,该程序有时在一个蜡烛图开盘时开出多个订单。

在我看来,当1秒内出现1个以上的刻度时,就会发生这种情况。

我试着把if( ) 条件的标题放进去...

订单总数()==0

只有一个订单真正打开。



但这个变体不适合我,因为第二天所给的蜡烛没有被打开,因为在打开这支蜡烛的时候

交易中已经有了随机数量的订单

我还尝试用return中断OrderSend(Symbol(),OP_BUY,0.1,Price,3,SL,TP)的执行;.....并没有帮助。


如果你能告诉我如何在1秒内使任何一个点只开1个订单,我将非常感激。

int start()

{
double Price=Ask;
double SL=Pric-300*Point;
double TP=Price+300*Point;
if( Hour()==10 && Minute()==00 && Seconds()==00)
OrderSend(Symbol(),OP_BUY,0.1,价格,3,SL,TP);
}

 
以此类推。
 
Dimka-novitsek:
嗯,我不知道怎么做,但数据应该被保存。

//записать

void SaveArray(string File, double &a[])
{
    int h = FileOpen(File, FILE_BIN|FILE_WRITE);
    if(h>0)
    {
      int sz = ArraySize(a); 
      FileWriteArray(h,a,0,sz);
      FileClose(h);
    }
}

//прочитать

void OpenArray(string File, double &a[], int sz)
{
    int h = FileOpen(File, FILE_BIN|FILE_READ);
    if(h>0)
    {
      ArrayResize(a,sz);
      FileReadArray(h,a,0,sz);
      FileClose(h);
    }
}
 
solnce600:

祝大家今天愉快

我是一个初学者。这是我第一次尝试在测试器中把一个想法变成代码。

这个想法很简单--在每个小时蜡烛图的开盘价上交替地开出一个订单,向上和向下。

我写了一个简单的代码....但问题是,该程序有时在一个蜡烛图开盘时开出超过1个订单。

在我看来,当1秒内出现1个以上的刻度时,就会发生这种情况。

我试着把if( ) 条件的标题放进去...

订单总数( )==0

只有一个订单真正打开。



但这个变体不适合我,因为第二天该蜡烛没有被打开,因为在打开该蜡烛的那一刻

交易中已经有了随机数量的订单。

我还尝试用return中断OrderSend(Symbol(),OP_BUY,0.1,Price,3,SL,TP)的执行;.....并没有帮助。

如果你能告诉我如何在1秒内使任何一个点只开1个订单,我将非常感激。

int start()

{
double Price=Ask;
double SL=Price-300*Point;
双重TP=价格+300*点。
if( Hour()==10 && Minute()==00 && Seconds()==00)
OrderSend(Symbol(),OP_BUY,0.1,Price,3,SL,TP)。
}

如果那是TechZad,你就在工作岗位上了!
 
谢谢你!!!!!!
 

solnce600:

如果你能告诉我如何使它在1秒内,在任何刻度上只有一个订单被打开,我将不胜感激。

int start()
{
...

int ot=OrdersTotal();

bool open_allowed = true;

if(ot>0)
{
   if(OrderSelect(ot-1,SELECT_BY_POS))
   {
      if(TimeCurrent()-OrderOpenTime()<=1) open_allowed=false;  //если разница между текущим временем сервера и временем открытия последнего ордера 1 секунда или меньше, запретить торговлю
   }
}

if(open_allowed)
{
   //открываемся
}
...
}
 
对...大致上.在你开始之前声明一些变量,记住时间。下完订单后,它等于,比如说,真。在设置之前还要检查一下。我不擅长时间变数。在下单 之前,检查时间是否大于真实时间,如果它被添加到这个变量中。如果不是更大,那就下命令,再记住新的时间!"。是的,事情就是这样的。甚至有点简单!!。
原因: