KimIV的有用功能 - 页 37 1...303132333435363738394041424344...128 新评论 Alexei Kharchenko 2008.08.01 06:00 #361 KimIV писал (а)>> isLossLastPos()函数。 该函数返回最后关闭位置的损失标志。旗帜升起--真实--最后一个头寸以亏损关闭。旗帜下降--假的--最后一个头寸以零点或以盈利的方式关闭。这个函数不考虑掉期和佣金。位置的选择是由外部参数定义的。 sy- 市场工具的名称。如果你指定这个参数,函数将只考虑指定仪器的位置。默认值"" 意味着任何市场工具。NULL 表示当前的仪器。 op- 贸易操作,职位类型。有效值:OP_BUY、OP_SELL 或-1。默认值-1 表示任何位置。 mn- 位置标识符,MagicNumber。默认值为-1,意味着任何标识符。 P.S. 附上一个测试isLossLastPos()函数的脚本。 为了不使与最后封闭位置有关的函数数量成倍增加,我建议采用以下变体。 int LastClosePos(string sy="", int op=-1, int mn=-1) { datetime t; int i, j=-1, k=OrdersHistoryTotal(); if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (t<OrderCloseTime()) { t=OrderCloseTime(); j=OrderTicket(); } else return(j); } } } } } } return(-1); } 该函数定义了最后关闭位置的票号... 根据要解决的问题,程序员可自行决定对票据编号采取进一步行动。 Igor Kim 2008.08.03 12:22 #362 函数FindNearFractal()。 该函数搜索最近的分形并返回其价格水平。该函数接受以下可选参数。 sy- 仪器的名称。"" 或NULL- 当前符号。默认值为NULL。 tf- 时间框架。默认值为0--当前符号。 模式- 分形的类型。MODE_LOWER 和MODE_UPPER 是允许的。默认值为MODE_LOWER。 //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 07.10.2006 | //| Описание : Поиск ближайшего фрактала. Возвращает ценовой уровень. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" или NULL - текущий символ) | //| tf - таймфрейм ( 0 - текущий ТФ) | //| mode - тип фрактала (MODE_LOWER|MODE_UPPER) | //+----------------------------------------------------------------------------+ double FindNearFractal(string sy="0", int tf=0, int mode=MODE_LOWER) { if (sy=="" || sy=="0") sy=Symbol(); double f=0; int d=MarketInfo(sy, MODE_DIGITS), s; if (d==0) if (StringFind(sy, "JPY")<0) d=4; else d=2; for (s=2; s<100; s++) { f=iFractals(sy, tf, mode, s); if (f!=0) return(NormalizeDouble(f, d)); } Print("FindNearFractal(): Фрактал не найден"); return(0); } Igor Kim 2008.08.03 12:25 #363 使用FindNearFractal()的例子。 当前图表上最近的下限分形的价格。 Message(FindNearFractal()); 当前符号的H4图表上最近的上分形的价格。 Message(FindNearFractal(NULL, PERIOD_H4, MODE_UPPER)); 英镑兑美元 M30图上最近的下分形的价格。 Message(FindNearFractal("GBPUSD", PERIOD_M30, MODE_LOWER)); SZY.附上一个测试FindNearFractal()函数的脚本。 附加的文件: test_findnearfractal.mq4 4 kb obabuev 2008.08.04 05:07 #364 KimIV писал (а) >> Примеры использования функции SetVLine(). Голубая сплошная вертикальная линия на текущем баре. Сиреневая толстая линия на восьмом баре. Сетка пунктирных линий на барах 14:00. ЗЫ. Во вложении скрипт для тестирования функции SetVLine(). KimIV писал (а)>> 如何使用SetVLine()的例子。 在当前栏上的蓝色实心垂直线。 第八条上的丁香色粗线。 14:00条上的虚线网格。 附上一个测试SetVLine()函数的脚本。 嗨,伊戈尔。 你能不能给我看一个例子,说明这样一个函数如何在指标中使用。 我正试图改进PreviousiHighsvAndhLows0指标,并按时间给它添加一个标记。 使用SetVLine()的例子,并在条形图开盘时以一定的时间绘制标记... 到目前为止,我的版本已经引来了一些无稽之谈。 我已经在论坛上求助了,但初学者在这里没有被宠坏...... 总之谢谢你,你的函数对逐步学习非常有用,但如果能有更多的提示或例子就更好了 附加的文件: previousihighsvandhlows0_time.mq4 8 kb Igor Kim 2008.08.06 12:55 #365 obabuev писал (а)>> 你能不能给我看一个例子,说明这样一个函数如何在指标中使用。 我正试图改进该指标,并为其添加时间戳画。 使用SetVLine()的例子,在条形图开盘时画一个标记,有一定的时间... 在插图中显示你想画哪些标记。 Igor Kim 2008.08.06 13:22 #366 GetExtremumZZZBar()函数。 该函数搜索标准自定义ZigZag 指标的极值,并返回条数。该函数接受以下可选参数。 sy- 仪器的名称。"" 或NULL- 当前符号。默认值为NULL。 tf- 时间框架。默认值是0--当前的时间框架。 ne- 极端数字。0-最后一次,1-上一次,2-上一次,等等。 dp,dv,bs- ZigZaga参数:分别为ExtDepth,ExtDeviation,ExtBackstep。 //+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 07.10.2006 | //| Описание : Возвращает номер бара экстремума ЗигЗага по его номеру. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента (NULL или "" - текущий символ) | //| tf - таймфрейм ( 0 - текущий ТФ) | //| ne - номер экстремума ( 0 - последний) | //| dp - ExtDepth | //| dv - ExtDeviation | //| bs - ExtBackstep | //+----------------------------------------------------------------------------+ int GetExtremumZZBar(string sy="", int tf=0, int ne=0, int dp=12, int dv=5, int bc=3) { if (sy=="" || sy=="0") sy=Symbol(); double zz; int i, k=iBars(sy, tf), ke=0; for (i=0; i<k; i++) { zz=iCustom(sy, tf, "ZigZag", dp, dv, bc, 0, i); if (zz!=0) { ke++; if (ke>ne) return(i); } } Print("GetExtremumZZBar(): Экстремум ЗигЗага номер ",ne," не найден"); return(-1); } Igor Kim 2008.08.06 13:25 #367 使用GetExtremumZZZBar()函数的例子。 当前图表上最后一个ZigZag 极值的柱子的编号。 Message(GetExtremumZZBar()); 在当前符号的H4图表上,具有倒数第二个ZigZag极值的柱子的编号。 Message(GetExtremumZZBar(NULL, PERIOD_H4, 1)); 在当前图表上找到最后一个ZigZag断点,并画一条垂直线穿过它。 int n=GetExtremumZZBar(NULL, 0, 1); SetVLine(Magenta, "", Time[n]); 附上一个测试GetExtremumZZZBar()函数的脚本。 附加的文件: test_getextremumzzbar.mq4 5 kb obabuev 2008.08.06 18:48 #368 KimIV писал (а)>> 在插图中显示你想画哪些标记。 谢谢你,伊戈尔,谢谢你的回答。 我花了两天时间,但我做了这个标记。 现在我正试图再做一个。 我需要它来进行测试 使用你的i-AnyRange指标,我想使 该指标将以随机偏差的方式处理时间。 例如-- 该指标具有 time1=10:05。 time2=15:35。 而在指标本身的计算中,它使用的是指标线的计算方法 T1=time1(+/-random) T2=time2(+/-random) 但我们还需要设置最大偏差限制,例如 最大随机数=5分钟。 难题只是如何将随机性限制在5分钟内? 你可能有类似的例子 附加的文件: iwanyrange.mq4 4 kb Igor Kim 2008.08.06 20:04 #369 obabuev писал (а)>> 但你也需要设置最大偏差限制,例如 最大随机数=5分钟。 困难的是如何将随机性限制在5分钟内? 你一定有类似的例子。 5分钟是300秒。 void init() { MathSrand(TimeLocal()); } void start() { double a=MathRand()/32767.0*300; int b=MathFloor(a); Comment(b); } obabuev 2008.08.07 01:40 #370 KimIV писал (а)>> 五分钟是300秒。 当然,谢谢你,但这并没有完全回答问题。 如何将int b添加到字符串Time2 minutes now或如何使加减法随机化 >> 我当然会研究一下,但我很难受。 1...303132333435363738394041424344...128 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
isLossLastPos()函数。
该函数返回最后关闭位置的损失标志。旗帜升起--真实--最后一个头寸以亏损关闭。旗帜下降--假的--最后一个头寸以零点或以盈利的方式关闭。这个函数不考虑掉期和佣金。位置的选择是由外部参数定义的。
为了不使与最后封闭位置有关的函数数量成倍增加,我建议采用以下变体。
该函数定义了最后关闭位置的票号...
根据要解决的问题,程序员可自行决定对票据编号采取进一步行动。
函数FindNearFractal()。
该函数搜索最近的分形并返回其价格水平。该函数接受以下可选参数。
使用FindNearFractal()的例子。
SZY.附上一个测试FindNearFractal()函数的脚本。
Примеры использования функции SetVLine().
ЗЫ. Во вложении скрипт для тестирования функции SetVLine().
如何使用SetVLine()的例子。
附上一个测试SetVLine()函数的脚本。
嗨,伊戈尔。
你能不能给我看一个例子,说明这样一个函数如何在指标中使用。
我正试图改进PreviousiHighsvAndhLows0指标,并按时间给它添加一个标记。
使用SetVLine()的例子,并在条形图开盘时以一定的时间绘制标记...
到目前为止,我的版本已经引来了一些无稽之谈。
我已经在论坛上求助了,但初学者在这里没有被宠坏......
总之谢谢你,你的函数对逐步学习非常有用,但如果能有更多的提示或例子就更好了
你能不能给我看一个例子,说明这样一个函数如何在指标中使用。
我正试图改进该指标,并为其添加时间戳画。
使用SetVLine()的例子,在条形图开盘时画一个标记,有一定的时间...
在插图中显示你想画哪些标记。
GetExtremumZZZBar()函数。
该函数搜索标准自定义ZigZag 指标的极值,并返回条数。该函数接受以下可选参数。
使用GetExtremumZZZBar()函数的例子。
附上一个测试GetExtremumZZZBar()函数的脚本。
在插图中显示你想画哪些标记。
谢谢你,伊戈尔,谢谢你的回答。
我花了两天时间,但我做了这个标记。
现在我正试图再做一个。
我需要它来进行测试
使用你的i-AnyRange指标,我想使
该指标将以随机偏差的方式处理时间。
例如--
该指标具有
time1=10:05。
time2=15:35。
而在指标本身的计算中,它使用的是指标线的计算方法
T1=time1(+/-random)
T2=time2(+/-random)
但我们还需要设置最大偏差限制,例如
最大随机数=5分钟。
难题只是如何将随机性限制在5分钟内?
你可能有类似的例子
但你也需要设置最大偏差限制,例如
最大随机数=5分钟。
困难的是如何将随机性限制在5分钟内?
你一定有类似的例子。
5分钟是300秒。
五分钟是300秒。
当然,谢谢你,但这并没有完全回答问题。
如何将int b添加到字符串Time2 minutes now或如何使加减法随机化
>> 我当然会研究一下,但我很难受。