اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex

اف اكس ارابيا..الموقع الرائد فى تعليم فوركس Forex (https://fx-arabia.com/vb/index.php)
-   منتدى المؤشرات و الاكسبيرتات (https://fx-arabia.com/vb/forumdisplay.php?f=6)
-   -   مؤشر Rainbow Oscillator (https://fx-arabia.com/vb/showthread.php?t=39621)

ابو جراح 01-07-2014 01:52 PM

مؤشر Rainbow Oscillator
 
1 مرفق
السلامة عليكم
مؤشر جميل ، قوي جدا على فريم اليومي
بحثت عنه في جميع المواقع لم اجده
او بالاحرى لا يوجد بصيغة mt
لا اعرف السبب ! مع انه من اقوى المؤشرات
مشاهدتي له عن طريق الصدفة في منصة kiwi trader

ارجو من الاخوة المبرمجين صياغته ليعمل كمؤشر للميتا تريدر

استاذ العوامي فتحت هذا الموضوع في منتدى اخر ولم اجد تجاوب يذكر

ابو جراح 01-07-2014 01:54 PM

رد: مؤشر Rainbow Oscillator
 
EFS Code:
PHP Code:

/*********************************
Provided By:
eSignal (Copyright c eSignal), a division of Interactive Data
Corporation. 2009. All rights reserved. This sample eSignal
Formula Script (EFS) is for educational purposes only and may be
modified and saved under a new file name. eSignal is not responsible
for the functionality once modified. eSignal reserves the right
to modify and overwrite this EFS file with each new release.

Description:
Rainbow Oscillator
Version: 1.0 04/29/2009

Formula Parameters: Default:
Length 2
Levels 10
Source of Price Close

Notes:
Mel Widner introduced a colorful technique for plotting an indicator to
signal trend changes. The indicator is derived from a consensus of trends
that, when plotted in color, has the appearance of a rainbow.

**********************************/
var fpArray = new Array();
var bInit = false;

function preMain() {
setPriceStudy(false);
setStudyTitle("Rainbow Oscillator");
setCursorLabelName("URB", 0);
setCursorLabelName("LRB", 1);
setCursorLabelName("RainbowOsc", 2);
setDefaultBarFgColor(Color.red, 0);
setDefaultBarFgColor(Color.blue, 1);
setDefaultBarFgColor(Color.yellow, 2);
setPlotType(PLOTTYPE_LINE, 0);
setPlotType(PLOTTYPE_LINE, 1);
setPlotType(PLOTTYPE_HISTOGRAM, 2);
setStudyMax(101);
setStudyMin(-101);
var x = 0;
fpArray[x] = new FunctionParameter("Length", FunctionParameter.NUMBER);
with(fpArray[x++]) {
setLowerLimit(1);
setDefault(2);
}
fpArray[x] = new FunctionParameter("Levels", FunctionParameter.NUMBER);
with(fpArray[x++]) {
setLowerLimit(0);
setUpperLimit(10);
setDefault(10);
}
fpArray[x] = new FunctionParameter("sPrice", FunctionParameter.STRING);
with(fpArray[x++]){
setName("Source of Price");
addOption("open");
addOption("high");
addOption("low");
addOption("close");
addOption("hl2");
addOption("hlc3");
addOption("ohlc4");
setDefault("close");
}
}

var xRainbowBW = null;
var xRainbowOsc = null;

function main(sPrice, Length, Levels) {
var nBarState = getBarState();
var nRainbowBW = 0;
var nRainbowOsc = 0;
if (nBarState == BARSTATE_ALLBARS) {
if (sPrice == null) sPrice = "close";
if (Length == null) Length = 2;
if ((Levels == null) || (Levels > 10) || (Levels <= 0)) Levels = 10;
}
if (bInit == false) {
xRainbowBW = efsInternal("Calc_Rainbow", sPrice, Length, Levels);
xRainbowOsc = getSeries(xRainbowBW, 1);
bInit = true;
}
nRainbowBW = xRainbowBW.getValue(0);
nRainbowOsc = xRainbowOsc.getValue(0);
if (nRainbowOsc == null) return;
if (nRainbowOsc > 0) setBarFgColor(Color.red, 2);
else setBarFgColor(Color.blue, 2);
return new Array(nRainbowBW, -nRainbowBW, nRainbowOsc);
}

var bSecondInit = false;
var xPrice = null;
var xMA1 = null;
var xMA2 = null;
var xMA3 = null;
var xMA4 = null;
var xMA5 = null;
var xMA6 = null;
var xMA7 = null;
var xMA8 = null;
var xMA9 = null;
var xMA10 = null;
var xHH = null;
var xLL = null;

function Calc_Rainbow(sPrice, Length , Levels) {
var Avg = new Array(0,0,0,0,0,0,0,0,0,0);
var nRainbowBW = 0;
var nRainbowOsc = 0;
var HiPrice = 0;
var LoPrice = 0;
var HiAvg = 0;
var LoAvg = 0;
var AvgAvgs = 0;
var i = 0;
if (bSecondInit == false) {
xPrice = eval(sPrice)();
xMA1 = sma(Length, xPrice);
xMA2 = sma(Length, xMA1);
xMA3 = sma(Length, xMA2);
xMA4 = sma(Length, xMA3);
xMA5 = sma(Length, xMA4);
xMA6 = sma(Length, xMA5);
xMA7 = sma(Length, xMA6);
xMA8 = sma(Length, xMA7);
xMA9 = sma(Length, xMA8);
xMA10 = sma(Length, xMA9);
xHH = upperDonchian(Levels, xPrice);
xLL = lowerDonchian(Levels, xPrice);
bSecondInit = true;
}
Avg[0] = xMA1.getValue(0);
Avg[1] = xMA2.getValue(0);
Avg[2] = xMA3.getValue(0);
Avg[3] = xMA4.getValue(0);
Avg[4] = xMA5.getValue(0);
Avg[5] = xMA6.getValue(0);
Avg[6] = xMA7.getValue(0);
Avg[7] = xMA8.getValue(0);
Avg[8] = xMA9.getValue(0);
Avg[9] = xMA10.getValue(0);
HiPrice = xHH.getValue(0);
LoPrice = xLL.getValue(0);
if (Avg[9] == null) return;
HiAvg = Avg[0];
LoAvg = Avg[0];
for (i = 0; i < Levels; i++) {
if (Avg[i] > HiAvg) HiAvg = Avg[i];
if (Avg[i] < LoAvg) LoAvg = Avg[i];
}
for (i = 0; i < Levels; i++) {
AvgAvgs += Avg[i];
}
AvgAvgs = AvgAvgs / Levels;
if ((HiPrice - LoPrice) != 0) {
if (xPrice.getValue(0) > HiAvg) HiAvg = xPrice.getValue(0);
if (xPrice.getValue(0) < LoAvg) LoAvg = xPrice.getValue(0);
nRainbowBW = 100 * ((HiAvg - LoAvg) / (HiPrice - LoPrice));
nRainbowOsc = 100 * ((close(0) - AvgAvgs) / (HiPrice - LoPrice));
}
return new Array(nRainbowBW, nRainbowOsc);
}

اسلام العوامى 03-07-2014 10:28 AM

رد: مؤشر Rainbow Oscillator
 
اقتباس:

المشاركة الأصلية كتبت بواسطة ابو جراح (المشاركة 716190)
السلامة عليكم
مؤشر جميل ، قوي جدا على فريم اليومي
بحثت عنه في جميع المواقع لم اجده
او بالاحرى لا يوجد بصيغة mt
لا اعرف السبب ! مع انه من اقوى المؤشرات
مشاهدتي له عن طريق الصدفة في منصة kiwi trader

ارجو من الاخوة المبرمجين صياغته ليعمل كمؤشر للميتا تريدر

استاذ العوامي فتحت هذا الموضوع في منتدى اخر ولم اجد تجاوب يذكر

،،،وعليكم السلام ورحمة الله وبركاته،،،

،،، اهلا بك ابو جراح ، سأحاول البحث عن المؤشر وارفقه لك،،،

،،،تحياتى،،،

ابو جراح 03-07-2014 08:58 PM

رد: مؤشر Rainbow Oscillator
 
2 مرفق
Hello Khaled
I'm sorry we do not have mt4 version.
If you have some skills in programming you can convert to MQL.
I've attach some documantation.

Source code:
r1:=Mov(C,2,S); r2:=Mov(r1,2,S);
r3:=Mov(r2,2,S); r4:=Mov(r3,2,S);
r5:=Mov(r4,2,S); r6:=Mov(r5,2,S);
r7:=Mov(r6,2,S); r8:=Mov(r7,2,S);
r9:=Mov(r8,2,S); r10:=Mov(r9,2,S);

RMin:=Min(R1,
Min((R2),Min((R3),
Min((R4),Min((R5),Min((R6),
Min((R7),Min((R8),Min((R9),R10)))))))));

RMax:=Max(R1,
Max((R2),Max((R3),
Max((R4),Max((R5),Max((R6),
Max((R7),Max((R8),Max((R9),R10)))))))));

RBLow:=-100 *(RMin - RMax) /(HHV(C,10) - LLV(C,10));
RBUp:=100 *(RMin - RMax) /(HHV(C,10) - LLV(C,10));

ROsc:=100 *(CLOSE - ((R1+R2+R3+R4+R5+R6+R7+R8+R9+R10) / 10)) /
(HHV(C,10) - LLV(C,10));

Plot(ROsc, 'Osc', 'Blue', 0, 'diagramm');
Plot(RBLow, 'Band Low', 'Teal', 0, 'solid');
Plot(RBUp, 'Band Up', 'Teal', 0, 'solid');

هذا هو الكود الاصلي للمؤشر
بعد مراسلة البروكر


الساعة الآن 12:01 PM

Powered by vBulletin® Copyright ©2000 - 2025

جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com