//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 07.10.2006 |//| Описание : Возвращает экстремум ЗигЗага по его номеру. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента (NULL или "" - текущий символ) |//| tf - таймфрейм ( 0 - текущий ТФ) |//| ne - номер экстремума ( 0 - последний) |//| dp - ExtDepth |//| dv - ExtDeviation |//| bs - ExtBackstep |//+----------------------------------------------------------------------------+double GetExtremumZZPrice(string sy="", int tf=0, int ne=0, int dp=12, int dv=5, int bs=3) {
if (sy=="" || sy=="0") sy=Symbol();
double zz;
int i, k=iBars(sy, tf), ke=0;
for (i=1; i<k; i++) {
zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, i);
if (zz!=0) {
ke++;
if (ke>ne) return(zz);
}
}
Print("GetExtremumZZPrice(): Экстремум ЗигЗага номер ",ne," не найден");
return(0);
}
循环浏览职位
循环浏览职位
试过了,没有用。所以是的,我可以找到它。但问题是,我得到以下情况。
例如,在01.01我开了一个头寸,但条件在02.01才触发。也就是说,从负方订单的开盘价来看,价格在第二天已经超过了50点。如果条件得到满足,该动作将被执行。而行动是减少交易的1/3,即减少交易量的3倍。 但行动将发挥作用,直到该手完全关闭。我们可以设置一些标志。 如果b=0,那么行动就到位了。而在行动结束时b=1。如果我们在一天结束时不使旗帜无效,交易将被执行一次,当我们通过历史测试时,就这样了。如果我们将标志归零,那么只要标志被归零,行动就会再次开始减少订单,直到完全关闭。我以为可以比较最初开仓的交易量和后来改变的交易量,但比较时它们总是一样的。如果我们减少手数,账户中的资金量也会减少,因此初始量将被重新计算。即也不是这样,我认为是第三天。我没有任何线索,你有什么其他想法吗?
下午好!
尊敬的专业人士,请您为我提供建议。
如果价格超过该订单的开仓价50点,则必须修改该订单。
OrderSelect(0, SELECT_BY_POS,MODE_TRADES)。
double OPEN =OrderOpenPrice();
double maximus = OPEN + 0.00500;
提醒("maximus = ",maximus)。
double minimus = OPEN - 0.00500;
RefreshRates()。//刷新数据。
timecur = TimeToStr(TimeCurrent(),TIME_SECONDS); //计算出HH:MM格式的当前时间。
如果((timecur > "00:00:00") && (timecur < "22:58:00") && (Deal_s == 1) && (Deal_bb == 0)&& (Bid > maximus)
{
OrderSelect(0, SELECT_BY_POS,MODE_TRADES)。
Lootup = OrderLots () * 0.34;
Lootdown = OrderLots () * 0.34;
OrderClose(OrderTicket(), Lootdown, Ask, 10, CLR_NONE)。
警告(GetLastError())。
Deal_bb = 1;
}
如果它发生在白天,我能够做到这一点。请教,如何检查开盘价+50P是否被每手的价格所控制,直到几天后关闭?
你为一个字符串计时,然后按字符串测量 - original!!!!
不需要发明任何东西:首先你检查时间分辨率,然后只需跟踪订单。在这里 和这里 可以找到两者的成熟的解决方案。
试过了,没有用。它确实有效,但问题是:我找不到它。但问题是,我得到以下情况。
例如,01.01我开了一笔交易,但条件只触发了02.01。也就是说,从负方的权证开仓价格来看,第二天的价格已经超过了50点。如果条件得到满足,该动作将被执行。而行动是减少交易的1/3,即减少交易量的3倍。 但行动将发挥作用,直到该手完全关闭。我们可以设置一些标志。 如果b=0,那么就有一个动作。而在行动结束时b=1。如果我们在一天结束时不使旗帜无效,交易将被执行一次,当我们通过历史测试时,就这样了。如果我们将标志归零,那么只要标志被归零,行动就会再次开始减少订单,直到完全关闭。我以为可以比较最初开仓的交易量和后来改变的交易量,但比较时它们总是一样的。如果我们减少手数,账户中的资金量也会减少,因此初始量将被重新计算。即也不是这样,我认为是第三天。我没有任何线索,你有什么其他想法吗?
日子和它有什么关系?你只要写下你想要的东西,就会有人告诉你算法。在我看来,你不应该检查天数,而应该检查订单的利润/亏损,然后从中选择。50(或任何)点对你来说很重要...
你把时间放在弦上,然后用弦来测量它--这就是原创!
你不需要发明任何东西:首先你检查时间分辨率,然后你简单地跟踪订单。在这里 和这里 可以找到两者的成熟的解决方案。
非常感谢你的答复,你给了我一个链接,正是我需要的东西。我现在就去试试,但我认为会有效果。
对于这些错误我很抱歉,但我是编程新手,还不是很擅长。
日子有什么关系呢?你只要写下你想要的东西,他们就会告诉你算法。在我看来,你不应该检查天数,而应该检查订单的利润/亏损,并依赖于它,因为50(或任何)点对你很重要...
是的,你是对的。我的利润/亏损是我所依赖的。TarasBY指出的正是我需要的东西。我现在就去看看。
谢谢您的关注!
请告诉我,是否有一个搜索分形的Kim功能?
我如何写出同样的函数来计算某一时期的分形数?你能告诉我是否有一个寻找分形的Kim函数?
如何写出同样的函数来计算给定周期内的分形数?情况是这样的。
从当前时间 到Time_Control的ZigZag极值被收集在一个数组中。
你能不能建议一个函数来检查新分形或旧分形?
在这里,我去了 "有用的功能 "这一主题,并给你带来了 "银盘子"。
健康地生活和使用它!有各种各样的人!你不必问,你不必等待,你只需拿着它并使用它!"。