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

 

大家晚上好!

我需要对以下算法进行编码。

蜡烛的开盘时下一个SELLSTOP挂单

只有在该蜡烛 图上没有 卖出止损的情况下。

也就是说,在一个零点的蜡烛上放一个SELLSTOP ...而不是更多。

我在这段代码中成功实现了卖出订单的想法

===========================================================

int last_order_bar = 0;
int ot = OrdersTotal();

if (ot>0) //如果市场上有订单(包括市场和TARGET)。

如果(OrderSelect (ot-1,SELECT_BY_POS))//选择最后一个订单。
if ( OrderType ()==OP_SELL) //如果这是一个开放的卖出市场订单

last_order_bar = iBarShift (Symbol (),0,OrderOpenTime ())//记住这个 市场订单卖出时的蜡烛的序列N。

(ot==0 || last_order_bar>0) //如果没有 订单,或者最后一个订单 不在当前条上

if( Bid ==iOpen (Symbol (),0,0))//if price = open price of the bar.

//开放订单

我不能将这种算法应用于挂单,因为OrderOpenTime() 作为iBarShift()参数,如果我没有弄错的话,只返回市价订单的开仓时间。

不是一个待定的。

你能不能把下挂单的时间作为一个参数传给iBarShift ( )?

或者我还能如何实现我想要的东西?

谢谢你。

 
solnce600:

你能不能把挂单开仓的时间作为参数传给iBarShift()?

打开一个挂单后,将其打开的时间保存在一个全局变量 中。

在变量名称中做一个票,以区分一个变量和另一个变量

+ 控制关闭/删除的挂单,从内存中清除变量。
 
sergeev:

在打开一个挂单后,在一个全局变量中保存其打开时间。

在变量名称中放入一个票据,以区分一个变量与另一个挂单的区别

+ 监控已关闭/删除的挂单,从内存中清除变量。

那么什么函数会返回最后一笔挂单 的开仓时间?

例如,应用于市场订单,很明显,OrderOpenTime()返回最后一次市场 订单开仓的时间?

或者,挂单的开仓时间可以不使用该功能来保存?

如果是这样,我将非常感谢你,如果你能在代码中告诉我它是如何做到的?

非常感谢您的及时回复。

 
solnce600:

哪个函数返回最后一笔挂单的开仓时间?

在你的案例中--你需要保存Time[0]。
 
sergeev:
在你的案例中--你需要保存Time[0]。

好的,谢谢你。
 

大家好!

我正在写某种指示,它将使用来自RSIOMA的信号,但我无法得到marsiomaXupSig和marsiomaXdnSig缓冲区的必要值。RSIOMA的代码有以下几行 SetIndexBuffer(6,marsiomaXupSig); SetIndexBuffer(7,marsiomaXdnSig); "...." if(RSIBuffer[i+1]<=marsioma[i+1]&&RSIBuffer[i]>marsioma[i]) marsiomaXupSig[i] = -11; if(RSIBuffer[i+1]>=marsioma[i+1]&&RSIBuffer[i]<marsioma[i]) marsiomaXdnSig[i] = 11; 我尝试在我的指标中接收数据,如下所示

double marsiomaXupSig = iCustom(NULL, Period(), "RSIOMA_v3",RSIOMA,RSIOMA_MODE,RSIOMA_PRICE,Ma_RSIOMA,Ma_RSIOMA_MODE, BuyTrigger, SellTrigger,BuyTriggerColor,SellTriggerColor,MainTrendLong,MainTrendShort,MainTrendLongColor,MainTrendShortColor,MajorTrend,marsiomaXupSigColor,marsiomaXdnSigColor,BarsToCount,6,0)。

double marsiomaXdnSig = iCustom(NULL, Period(), "RSIOMA_v3",RSIOMA,RSIOMA_MODE,RSIOMA_PRICE,Ma_RSIOMA,Ma_RSIOMA_MODE, BuyTrigger, SellTrigger,BuyTriggerColor,SellTriggerColor,MainTrendLong,MainTrendShort,MainTrendLongColor,MainTrendShortColor,MajorTrend,marsiomaXupSigColor,marsiomaXdnSigColor,BarsToCount,7,0)。

从逻辑上讲,我应该得到11和-11的数值,但当我记录数值 时,我只得到 2013.05.28 09:05:52 2013.01.04 11:29 my EA XAUUSD,H1: marsiomaXdnSig - 2147483647 2013.05.28 09:05:52 2013.01.04 11:29 my EA XAUUSD,H1: marsiomaXupSig - 2147483647 我做错什么了?


 

下午好!我出于某种原因开始编造一个函数,在这里,有一堆错误......。似乎是正确的,我已经看了15-20分钟了。

RasstawimOrdera(int Raz,double Dist_pervaya,double Dist_dalshaya,double TP, double SL, double Lot) ................

'RasstawimOrdera' - 全局范围的表达不允许 C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Square.mq4 (73, 1)

'Raz' - 变量已经定义 C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Snap.mq4 (73, 21)

'double'-预期的变量 C:\Documents and Settings\User\FxClub\FieldClub\eleTrade\experts\Speaker.mq4(73, 25)。

'Dist_pervaya' - 全局范围的表达不允许 C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Spline.mq4 (73, 32)
'Dist_pervaya' - 未定义的变量 C.\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Square.MQ4 (73, 32)

以此类推。




它是有故障的。论坛。当我回复按空格键时,光标在颤抖,向前和向后跑一步,自发地跳到左上角。我把左边的触摸板按到我想继续写的地方--不,光标一直在文字的开头闪烁,并把它涂成蓝色,然后再回来。又花了10分钟才骂完我。

我把它写在记事本上,然后复制了它。

所以,我理解那里可能少了一个点,比如说我,或者一些废话,但我不明白。请给我一个提示!

 
我想我已经明白了。谁和我想的一样,谢谢你!!!。
 
这是什么类型的RSIOMA?然后,非常仔细地检查你放在函数中的所有东西,我这样已经不记得它哪里有什么了。更好的是,打印出来的印刷品!
 

不...当然,我现在已经声明这个函数是int...但现在...

'errorcomment' - 全局范围内的表达不允许 C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Contructor.mq4 (80, 11)

它是什么,我在哪里找?