//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 07.08.2008 |//| Описание : Возвращает элемент ряда Фибоначчи по его порядковому номеру. |//+----------------------------------------------------------------------------+//| Параметры: |//| n - номер элемента ряда |//+----------------------------------------------------------------------------+intFibonacci(intn){inta=0, b=0, i=1, s=0;
if(n==1)s=1;
if(n>1){s=1;
while(i<n){i++;
a=b;
b=s;
s=a+b;
}}return(s);
}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 01.09.2005 |//| Описание : Возвращает наименование метода МА. |//+----------------------------------------------------------------------------+//| Параметры: |//| mm - идентификатор метода МА |//+----------------------------------------------------------------------------+stringGetNameMA(intmm){switch(mm){caseMODE_SMA : return("SMA");
caseMODE_EMA : return("EMA");
caseMODE_SMMA: return("SMMA");
caseMODE_LWMA: return("LWMA");
default : return("Unknown Method");
}}
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 01.09.2005 |//| Описание : Возвращает ценовую разницу в пунктах между двумя барами. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" или NULL - текущий символ) |//| tf - таймфрейм ( 0 - текущий таймфрейм) |//| n2 - номер левого бара ( 2 - второй бар) |//| n1 - номер правого бара ( 1 - первый бар) |//| Возвращаемое значение: |//| положительное - между барами N2 и N1 был рост курса |//| отрицательное - между барами N2 и N1 было снижение курса |//+----------------------------------------------------------------------------+intGetPriceDiffInPoint(stringsy="0", inttf=0, intn2=2, intn1=1){if(sy=="" || sy=="0")sy=Symbol();
doublep=MarketInfo(sy, MODE_POINT);
intd=MarketInfo(sy, MODE_DIGITS);
intdd=0, k=iBars(sy, tf);
if(n1>k || n2>k)Print("GetPriceDiffInPoint(): Недостаточно баров для ",sy,"",GetNameTF(tf));
else{if(n1>0 && n2>0){intd1=NormalizeDouble((iHigh(sy, tf, n1)-iLow(sy, tf, n2))/p, d);
intd2=NormalizeDouble((iLow(sy, tf, n1)-iHigh(sy, tf, n2))/p, d);
if(MathAbs(d1)>MathAbs(d2))dd=d1;
if(MathAbs(d1)<MathAbs(d2))dd=d2;
if(MathAbs(d1)==MathAbs(d2)){if(iOpen(sy, tf, n2)>iClose(sy, tf, n1))dd=d2; elsedd=d1;
}}}return(dd);
}
如何使用GetNearestDownFractal()的例子。
SZY.附上一个测试GetNearestUpFractal()函数的脚本。
CorrectTF()函数。
我在发现有时可以很容易地在指标或EA的输入参数中指定一个不正确的时间框架,即等于整数分钟后,写了这个函数。例如,我输入的小时数是50,而不是60。嗯...样的错过。事实证明,iRSI()函数对一个不正确的时间框架返回零。我不能对其他功能说什么,因为我没有检查它们。为了避免因我自己不注意的错误而产生的误解,我把这个函数写成了一个原始的傻瓜式的函数。它将输入参数调整到 "最接近 "的适当和正确的时间框架,并返回其值。
附上一个测试CorrectTF()函数的脚本。DateBeginQuarter()函数。
该函数按编号返回该季度的开始日期。例如,如果现在是2008年8月27日,本季度的开始日期将是2008年7月1日。该函数只需要一个参数--相对于当前季度的季度号。例如,0 是本季度,1 是下一季度,-1 是上一季度。也就是说,正的季度数字将要求从未来的日期,而零和负的将要求从过去的日期。返回的值是自1970年1月1日00:00起经过的秒数。
P.S. 附上一个测试DateBeginQuarter()函数的脚本。
DateOfMonday()函数。
该函数通过数字返回一周的开始日期(周一)。例如,如果现在是2008年8月29日,本周开始的日期将是2008年8月25日。该函数只需要一个参数--相对于当前星期的星期数。例如,0 是本周,1 是下周,-1 是上周。也就是说,正的周数将要求从未来的日期,而零和负数将要求从过去的日期。返回的值是自1970年1月1日00:00起经过的秒数。
P.S. 附上一个测试 DateOfMonday() 函数的脚本。
Fibonacci()函数。
这个函数通过序列号返回斐波那契数列的一个元素。
P.S. 附上一个测试Fibonacci()的脚本。
GetNameMA()函数。
该函数通过标识符返回MA方法的名称(移动平均线)。这个功能方便在评论、指标和专家顾问信息中使用。
GetNameMA()函数。
该函数通过标识符返回MA方法的名称(移动平均线)。这个功能在评论、指标和专家顾问中很有用。
不要认为这是一个吹毛求疵的....。
不要认为这是在挑衅....。
通过各种手段...谢谢你纠正了!
下午好!
帮我把博览会的情况介绍一下就好了。
我不相信他在开单,而不是在条件下关闭这个堆栈。
也就是说,如果一个交易只有一个,它就会摆脱姿势,如果有两个交易,它就会关闭。
GetPriceDiffInPoint()函数。
该函数返回两个条形图之间的价格差异,这些条形图由其数字指定。开发这个功能的目的是为了确定价格运动的价值和方向。GetPriceDiffInPoint()函数决定要考虑的条形图的参考点(开盘或最高价或最低价或收盘价)。该函数接受以下可选参数。
返回的值。