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

 
Vinin:



谢谢,因为我已经很累了 :)))))
 

该指标不显示过去的数值。帮助和纠正。

#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 SteelBlue
#property indicator_color2 SteelBlue
#property indicator_color3 SteelBlue
#property indicator_color4 SteelBlue
#property indicator_color5 SteelBlue
extern int takeprofit1=20;
extern int takeprofit2=30;
extern int takeprofit3=40;
extern int stoploss=40;
double BuyBuffer[];
double BuyTP1Buffer[];
double BuyTP2Buffer[];
double BuyTP3Buffer[];
double BuySLBuffer[];
int init()
{
 SetIndexBuffer(0,BuyBuffer);
 SetIndexBuffer(1,BuyTP1Buffer);
 SetIndexBuffer(2,BuyTP2Buffer);
 SetIndexBuffer(3,BuyTP3Buffer);
 SetIndexBuffer(4,BuySLBuffer);
 SetIndexStyle(0,DRAW_ARROW);
 SetIndexStyle(1,DRAW_ARROW);
 SetIndexStyle(2,DRAW_ARROW);
 SetIndexStyle(3,DRAW_ARROW);
 SetIndexStyle(4,DRAW_ARROW);
 SetIndexArrow(0,159);
 SetIndexArrow(1,252);
 SetIndexArrow(2,252);
 SetIndexArrow(3,252);
 SetIndexArrow(4,251);
 SetIndexLabel(0,"Buy");
 SetIndexLabel(1,"Buy TP1");
 SetIndexLabel(2,"Buy TP2");
 SetIndexLabel(3,"Buy TP3");
 SetIndexLabel(4,"Buy SL");
 return(0);
}
int start()
{
 int limit;
 int counted_bars=IndicatorCounted();
 if(counted_bars>0) counted_bars--;
 limit=Bars-counted_bars;
 for(int i=0; i<limit; i++)
 double macd1=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1);
 double macd2=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+2);
 double stochmain=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,i+1);
 double stochsig=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,i+1);
 double rsi=iRSI(NULL,0,12,PRICE_CLOSE,i+1);
 {
  if(macd1>macd2&&stochmain>stochsig&&rsi<70.0)
   {
    BuyBuffer[i+1]=High[i+1]+1*Point;
    BuyTP1Buffer[i+1]=High[i+1]+(takeprofit1+1)*Point;
    BuyTP2Buffer[i+1]=High[i+1]+(takeprofit2+1)*Point;
    BuyTP3Buffer[i+1]=High[i+1]+(takeprofit3+1)*Point;
    BuySLBuffer[i+1]=High[i+1]-(stoploss-1)*Point;
   }
 }
 return(0);
}
[删除]  

程序员。帮我写一个指标,如果蜡烛的主体超过50runts,就给我发电子邮件。我昨天得到了帮助,但我试了一下,它没有正确地发送信号(我需要它在蜡烛图>50点时发送信号,一旦它关闭,只有1次,就这样...

static int prevtime = 0;

int start() {

if (Time[0] == prevtime) {
return(0);
}


如果((High[0] - Low[0]) > (50.0 * Point)){ SendMail("???? ?????? ????? ??????", "????? ?????? 50 ??????"); prevtime = Time[0]; }


return(0);
}

请帮助我解决这个错误

 

我正在编写一个专家顾问,以便在范围棒上工作(作为一个循环脚本实现)。然而,它做了一笔交易,并立即从图表中删除。

问题显然出在return(0)上,但我该如何绕过它呢?我把下面的脚本附在后面,它们只在循环的算法上有所不同。

http://dl.dropbox.com/u/47506458/RB4 sctipt2 .mq4

http://dl.dropbox.com/u/47506458/RB4 script3.mq4

/* 由版主编辑,请正确插入链接 */

 
alkador:

我正在编写一个专家顾问,以便在范围棒上工作(作为一个循环脚本实现)。然而,它做了一笔交易,并立即从图表中删除。

问题显然出在return(0)上,但我该如何绕过它呢?我把下面的脚本附在后面,它们只在循环的算法上有所不同。

http://dl.dropbox.com/u/47506458/RB4 sctipt2 .mq4

http://dl.dropbox.com/u/47506458/RB4 script3.mq4


我甚至不想看,但有什么能阻止脚本被移到专家文件夹中而不遭受变态呢?
[Deleted]  
你好。我是MT4的新手。我有个问题:我可以用EA或脚本同时下几个订单吗?例如,要下10个参数相同的订单。
 
globad:
你好。我是MT4的新手。我有个问题:我可以用EA或脚本同时下几个订单吗?例如,我想用相同的参数下10个订单。
只有在测试器中。这在理论上也可以在模拟或真实账户上实现,但只能从10个不同的终端进行。原因是服务器在处理每个订单 时关闭(宣布繁忙)了一个用于其他订单的交易线程,我们必须等待,直到这个线程变得空闲。
 
globad:
你好。我是MT4的新手。我有个问题:我可以用EA或脚本同时下几个订单吗?比方说,你可以用同样的参数下10个订单。
是的,搜索:Grid, Grider。
[Deleted]  
Reshetov:
只有在测试器中。
我认为测试器很好,但我需要一个真正的测试器))那么,无论如何,订单会一个接一个地打开?
[Deleted]  
rustein:
是的,搜索:Grid, Grider。
我知道他们只是定期下单。我需要以相同的价格下所有的订单,pp和slots都一样。同时,我希望能够同时下单,而不是一个接一个。