[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 329

 
Zhunko:

不幸的是,所有没有DDE的变体都注定要从包中失去点数。它们可以通过近似值来恢复,但这不是很好。

有一个选项可以通过DDE直接从Exel检索。


瓦迪姆,谢谢你。我去看看。
 
granit77:
1.https://www.mql5.com/ru/articles/1368
2.https://www.mql5.com/ru/forum/100028/page58#94290

而在第一个近似值中,这就足够了。

维克多,我从心底里感谢你。我一定会研究这篇文章和Rosh的建议。
 

大家好!尝试#3 :))

亲爱的专业人士

听着,拜托,我不明白问题出在哪里。当试图下一个待定订单时,却下了两个订单。

while (Ticket2<0)

{

RefreshRates()。

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,"",MN); //1订单正在等待购买

Alert ("Error in Cycle",GetLastError()); Alert ("TIK2= " ,Ticket2;)

睡眠(500)。

}

提前感谢每个人的答复。

 
demlin:

大家好!尝试#3 :))

亲爱的专业人士

听着,拜托,我不明白问题出在哪里。当试图下一个挂单时,却下了两个。

while (Ticket2<0)

{

RefreshRates()。

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,"",MN); //1订单正在等待购买

Alert ("Error in Cycle",GetLastError()); Alert ("TIK2= " ,Ticket2;)

睡眠(500)。

}

提前感谢每个人的答复。


在条件中为票号添加标志(挂单 存在),即第一个标志--假,然后在条件中--虽然票号<0且标志==假--设置挂单并将标志设为真。在挂单在市场上触发或删除挂单后 - 将标志重置为假。这样试一下...
 

有这样一个问题:如何在趋势线的边缘显示价格。或者让右边(左边)的价格标记磁化到趋势线或低点(高点)栏,就像趋势线本身那样。我想使用标准的MT4制图工具。但如果这是不可能的,也许我需要一个指标,将右边(左边)的价格标签附加到窗口中的所有趋势线上(我使用4条趋势线,所有边缘都需要价格)?趋势线是没有横梁的,边缘连接到高位或低位条--自然是手动。一条由四条趋势线组成的链条类似于ZigZag指标。我没有写指标的经验。实际上,我是因为这个原因才开始写作的。我没有写指标的经验。

 
demlin:

大家好!尝试#3 :))

亲爱的专业人士

听着,拜托,我不明白问题出在哪里。当试图下一个待定订单时,却下了两个订单。

while (Ticket2<0)

{

RefreshRates()。

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,"",MN); //1订单正在等待购买

Alert ("Error in Cycle",GetLastError()); Alert ("TIK2= " ,Ticket2;)

睡眠(500)。

}

如果你回答这个问题,请提前感谢你。

这个逻辑非常简单。

如果没有正确类型的挂单,那么就设置它。这就是全部...

 

我有个问题,有一个指标,当达到某个条件时,会发出一个信号。

我的问题是如何让它开出一个订单而不是一个信号。

以下是信号和信息的代码

if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){
         Alert("Открываем Селл ",Symbol()," ",Period());
        alertTag = Time[0];

我试着只放一个地方让警报 打开,但并不奏效。

如果我有一个EA,并说明从指标上附加什么,我将非常感激。

 
FoxUA:

我有个问题,有一个指标,当达到某个条件时,会发出一个信号。

我的问题是如何让它开出一个订单而不是一个信号。

以下是信号和信息的代码

if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){
         Alert("Открываем Селл ",Symbol()," ",Period());
        alertTag = Time[0];

我试着只放一个地方让警报打开,但并不奏效。

如果我不知道如何放置信号,我就不会发出警报,也不会错过警报。

该指标不能打开订单。这是EA的工作。如果这段代码属于指标,我们必须将数据写入其专门为该数据创建的缓冲区中。当没有信号时,向缓冲区写一个零或空值,当有信号时(如你的例子),代替Alert();向缓冲区写值。
例如:
+1为买入
-1为卖出
然后使用iCustom(); 从专家顾问的缓冲区中读取数据。

或者直接在专家顾问中写入所有这些条件。

 

早晨好!

你能告诉我吗,我每天都会开单。

Magic_b++; OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,Magic_b,0,L) (或Magic_s++; OrderSend (Symbol(), OP_BUY, Loot,Bid, 50, SL, TP,NULL,Magic_s,0,L; 取决于条件) 。

我想每天在某个时间关闭一个未平仓的订单。 我为此使用了以下方案(周五除外)。

if ((DayOfWeek () == 1) || (DayOfWeek () == 2) || (DayOfWeek () == 3) || (DayOfWeek () == 4 ))

{if (((timecur > "23:59:00") && (timecur < "23:59:04") )&& (iOpen(Symbol (),PERIOD_H4, 0)

!=iOpen(Symbol(), PERIOD_D1, 0))

{if (iOpen(Symbol (), PERIOD_H4, 0) > iOpen(Symbol (), PERIOD_D1, 0))

{ 警报("价格更高")。

for(i=OrdersTotal()-1;i>=0;i--)

{ OrderSelect(i, SELECT_BY_POS)

如果(OrderMagicNumber()==Magic_b)

{Alert ("orderticket",OrderTicket();

OrderClose(OrderTicket(),Loot,Bid,80,R)。

警告("GetLastError")。

控制=0。

魔法_b++。

} } }

如果((timecur > "22:59:00") && (timecur < "22:59:04"))&& (iOpen(Symbol (), PERIOD_H4, 0)

!=iOpen(Symbol(), PERIOD_D1, 0))

{if (iOpen(Symbol (), PERIOD_H4, 0) < iOpen(Symbol (), PERIOD_D1, 0))

{ 提醒(" 价格更高")

for(i=OrdersTotal()-1;i>=0;i--)

{ OrderSelect(i, SELECT_BY_POS)

如果(OrderMagicNumber()==Magic_s)

{Alert ("orderticket",OrderTicket();

OrderClose(OrderTicket(),Loot,Ask,80,R)。

Alert(GetLastError)。

控制=0。

魔法_s++。

} } } } } }

但在测试器中由于某些原因不是每天都关闭(例如在测试中从23.08-23.10 2010)只关闭了27.09.而24.08,尽管没有实施Nytp,没有SL-交易没有关闭。

P.S. 进入的条件总是与关闭的条件相吻合(当然时间除外,这里可以承认10月22日01:00的时间)。

 
也许是因为范围太小,只有4秒?这时条形图中的刻度很少,测试者可能没有达到设定的间隔时间。