النتائج 1 إلى 12 من 12
الموضوع: مؤشر swingman-ultrasuper-trix
- 09-01-2018, 08:13 PM #1
مؤشر swingman-ultrasuper-trix
السلام عليكم ورحمة الله وبركاته
اسعد الله مائكم بالخير
تكرماً من المبرمجين تعديل المؤشر المرفق بحيث يكون حسب الفريم بصيغة MTF , او من لديه المؤشر بنفس الصيغة المطلوبة يزودني به واكون لكم من الشاكرين وجزاكم الله خير الجزاء
- 09-01-2018, 08:44 PM #2
لايمكن التعديل
صيغة EXE
- 09-01-2018, 11:29 PM #3
- 11-01-2018, 11:43 AM #4
- 11-01-2018, 05:04 PM #5
شكرا لك استاذ simos وجزاك الله خير
- 11-01-2018, 05:06 PM #6
استاذ فيلسوف البادية كرماً منكم هل من الممكن تعديل المؤشر الذي ارفقه اخونا simos بصيغة MTF
- 11-01-2018, 05:42 PM #7
- 11-01-2018, 08:39 PM #8
تقاطع متوسط 3 مع متوسط المتوسط نفسه!!
فكرته سخيفة اخي وغير نافع
عموما تم تبسيط معادلاته رموز مفهومة--الزميل للاسف فك تشفيره
حاليا لاي شخص اخر الكود سيكون مفهوم من خلال ترقيم البفرز:
كود PHP:#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1 clrGray
#property indicator_color2 clrGreen
#property indicator_color3 clrYellowGreen
#property indicator_color4 clrMaroon
#property indicator_color5 clrTomato
#property indicator_color6 clrDeepSkyBlue
#property indicator_color7 clrRed
extern int TRIX_Period = 3;
extern string _____Averages_____ = "0=SMA, 1=EMA, 2=SMMA, 3=LWMA";
extern int Mode_Average_1 = 1;
extern int Mode_Average_2 = 1;
extern int Mode_Average_3 = 1;
extern string _____Input_Price_____ = "0=C,4=Median,5=Typical,6=Weighted";
extern int Input_Price = 0;
extern string p2 = "_____Signals_____";
extern bool Draw_Signals = TRUE;
extern bool Alert_Signals = FALSE;
extern bool EMail_Signals = FALSE;
extern int CountBars = 500;
int G_period_136 = 0;
double Gd_140 = 1000.0;
double Gda_148[];
double Gda_152[];
double Gda_156[];
double Gda_160[];
double Gda_176[];
double Gda_188[];
double Gda_192[];
double Buffer_0[];
double Buffer_1[];
double Buffer_2[];
double Buffer_3[];
double Buffer_4[];
double Buffer_5[];
double Buffer_6[];
bool Gi_204 = FALSE;
bool Gi_208 = FALSE;
int G_ma_method_212;
int ma_method_iMAOnArray_152;
int G_ma_method_220;
int APPLIED_PRICE;
int init() {
string Ls_0;
string Ls_8;
string Ls_16;
string Ls_24;
ArraySetAsSeries(Gda_148, TRUE);
ArraySetAsSeries(Gda_152, TRUE);
ArraySetAsSeries(Gda_156, TRUE);
ArraySetAsSeries(Gda_160, TRUE);
ArraySetAsSeries(Gda_192, TRUE);
ArraySetAsSeries(Gda_176, TRUE);
ArraySetAsSeries(Gda_188, TRUE);
IndicatorDigits(4);
SetIndexBuffer(0, Buffer_0);
SetIndexStyle(0, DRAW_LINE);
SetIndexLabel(0, "TRIX");
SetIndexBuffer(1, Buffer_1);
SetIndexStyle(1, DRAW_HISTOGRAM);
SetIndexLabel(1, NULL);
SetIndexBuffer(2, Buffer_2);
SetIndexStyle(2, DRAW_HISTOGRAM);
SetIndexLabel(2, NULL);
SetIndexBuffer(3, Buffer_3);
SetIndexStyle(3, DRAW_HISTOGRAM);
SetIndexLabel(3, NULL);
SetIndexBuffer(4, Buffer_4);
SetIndexStyle(4, DRAW_HISTOGRAM);
SetIndexLabel(4, NULL);
SetIndexBuffer(5, Buffer_5);
SetIndexStyle(5, DRAW_ARROW);
SetIndexArrow(5, 233);
SetIndexLabel(5, NULL);
SetIndexBuffer(6, Buffer_6);
SetIndexStyle(6, DRAW_ARROW);
SetIndexArrow(6, 234);
SetIndexLabel(6, NULL);
G_ma_method_212 = 2;
ma_method_iMAOnArray_152 = MODE_SMMA;
G_ma_method_220 = 1;
APPLIED_PRICE = 0;
switch (Mode_Average_1) {
case 0:
G_ma_method_212 = 0;
Ls_8 = "S";
break;
case 1:
G_ma_method_212 = 1;
Ls_8 = "E";
break;
case 2:
G_ma_method_212 = 2;
Ls_8 = "M";
break;
case 3:
G_ma_method_212 = 3;
Ls_8 = "W";
}
switch (Mode_Average_2) {
case 0:
ma_method_iMAOnArray_152 = MODE_SMA;
Ls_16 = "S";
break;
case 1:
ma_method_iMAOnArray_152 = MODE_EMA;
Ls_16 = "E";
break;
case 2:
ma_method_iMAOnArray_152 = MODE_SMMA;
Ls_16 = "M";
break;
case 3:
ma_method_iMAOnArray_152 = MODE_LWMA;
Ls_16 = "W";
}
switch (Mode_Average_3) {
case 0:
G_ma_method_220 = 0;
Ls_24 = "S";
break;
case 1:
G_ma_method_220 = 1;
Ls_24 = "E";
break;
case 2:
G_ma_method_220 = 2;
Ls_24 = "M";
break;
case 3:
G_ma_method_220 = 3;
Ls_24 = "W";
}
switch (Input_Price) {
case 0:
APPLIED_PRICE = PRICE_CLOSE;
Ls_0 = "C";
break;
case 4:
APPLIED_PRICE = PRICE_MEDIAN;
Ls_0 = "M";
break;
case 5:
APPLIED_PRICE = PRICE_TYPICAL;
Ls_0 = "T";
break;
case 6:
APPLIED_PRICE = PRICE_WEIGHTED;
Ls_0 = "W";
}
string Ls_48 = ", " + Ls_8 + "," + Ls_16 + "," + Ls_24 + ", " + Ls_0;
IndicatorShortName("SwingMan UltraSuperTRIX_PV_4col (" + TRIX_Period + Ls_48 + ")");
return (0);
}
int start() {
double Ld_0;
double Ld_8;
int k;
int j;
int n;
string Ls_28;
string Ls_36;
if (TRIX_Period == G_period_136) return (0);
ArrayResize(Gda_148, Bars);
ArrayResize(Gda_152, Bars);
ArrayResize(Gda_156, Bars);
ArrayResize(Gda_160, Bars);
ArrayResize(Gda_192, Bars);
ArrayResize(Gda_176, Bars);
ArrayResize(Gda_188, Bars);
int count = CountBars;
if (count > Bars) count = Bars - 1;
for (int i = 0; i < count; i++) Gda_148[i] = iMA(Symbol(), Period(), TRIX_Period, 0, G_ma_method_212, APPLIED_PRICE, i);
for (i = 0; i < count; i++) Gda_152[i] = iMAOnArray(Gda_148, 0, TRIX_Period, 0, ma_method_iMAOnArray_152, i);
for (i = 0; i < count; i++) Gda_192[i] = iMAOnArray(Gda_152, 0, TRIX_Period, 0, G_ma_method_220, i);
for (i = 0; i < count - 1; i++) if (Gda_192[i + 1] != 0.0) Gda_148[i] = Gd_140 * (Gda_192[i] - (Gda_192[i + 1])) / (Gda_192[i + 1]);
for (i = 0; i < count - 1; i++) Gda_152[i] = iMAOnArray(Gda_148, 0, G_period_136, 0, MODE_EMA, i);
for (i = count - 1; i >= 0; i--)
{
Ld_0 = Gda_148[i] - Gda_152[i];
Buffer_0[i] = Ld_0;
Ld_8 = Buffer_0[i] - (Buffer_0[i + 1]);
if (Ld_0 >= 0.0)
{
if (Ld_8 >= 0.0)
{
Buffer_1[i] = Ld_0;
Buffer_3[i] = EMPTY_VALUE;
Buffer_2[i] = EMPTY_VALUE;
Buffer_4[i] = EMPTY_VALUE;
}
else
{
Buffer_1[i] = EMPTY_VALUE;
Buffer_3[i] = EMPTY_VALUE;
Buffer_2[i] = Ld_0;
Buffer_4[i] = EMPTY_VALUE;
}
}
else
{
if (Ld_0 < 0.0)
{
if (Ld_8 >= 0.0)
{
Buffer_1[i] = EMPTY_VALUE;
Buffer_3[i] = EMPTY_VALUE;
Buffer_2[i] = EMPTY_VALUE;
Buffer_4[i] = Ld_0;
}
else
{
Buffer_1[i] = EMPTY_VALUE;
Buffer_3[i] = Ld_0;
Buffer_2[i] = EMPTY_VALUE;
Buffer_4[i] = EMPTY_VALUE;
}
}
}
if (Ld_0 >= 0.0)
{
Gda_176[i] = Ld_0;
Gda_188[i] = EMPTY_VALUE;
}
else
{
Gda_176[i] = EMPTY_VALUE;
Gda_188[i] = Ld_0;
}
}
for (i = count - 1; i >= 0; i--)
{
if (Draw_Signals == TRUE)
{
k = 0;
Buffer_5[i + k] = EMPTY_VALUE;
Buffer_6[i + k] = EMPTY_VALUE;
j = Gda_176[i + k] > 0.0 && Gda_176[i + k] != EMPTY_VALUE && Gda_188[i + 1 + k] < 0.0;
n = Gda_188[i + k] < 0.0 && Gda_176[i + 1 + k] != EMPTY_VALUE && Gda_176[i + 1 + k] > 0.0;
if (j == 1)
{
Buffer_5[i + k] = 0;
Buffer_6[i + k] = EMPTY_VALUE;
}
if (n == 1)
{
Buffer_5[i + k] = EMPTY_VALUE;
Buffer_6[i + k] = 0;
}
k = 1;
Buffer_5[i + k] = EMPTY_VALUE;
Buffer_6[i + k] = EMPTY_VALUE;
j = Gda_176[i + k] > 0.0 && Gda_176[i + k] != EMPTY_VALUE && Gda_188[i + 1 + k] < 0.0;
n = Gda_188[i + k] < 0.0 && Gda_176[i + 1 + k] != EMPTY_VALUE && Gda_176[i + 1 + k] > 0.0;
if (j == 1)
{
Buffer_5[i + k] = 0;
Buffer_6[i + k] = EMPTY_VALUE;
}
if (n == 1)
{
Buffer_5[i + k] = EMPTY_VALUE;
Buffer_6[i + k] = 0;
}
}
Ls_36 = Get_sPeriod(Period());
if (Alert_Signals == TRUE || EMail_Signals == TRUE)
{
if (Gda_152[i] < Gda_148[i] && Gda_152[i + 1] >= Gda_148[i + 1]) Gda_156[i] = Gda_152[i] - 0.0001;
if (Gda_152[i] > Gda_148[i] && Gda_152[i + 1] <= Gda_148[i + 1]) Gda_160[i] = Gda_152[i] + 0.0001;
if (Gda_156[0] == Gda_152[0] - 0.0001 && Gi_204 == FALSE) {
Ls_28 = "Trix BUY: " + Symbol() + "-" + Ls_36 + " at " + Close[0] + " " + TimeToStr(TimeCurrent(), TIME_MINUTES|TIME_SECONDS);
if (Alert_Signals == TRUE) Alert(Ls_28);
if (EMail_Signals == TRUE) SendMail("TRIX alert", Ls_28);
Gi_208 = FALSE;
Gi_204 = TRUE;
}
if (Gda_160[0] == Gda_152[0] + 0.0001 && Gi_208 == FALSE)
{
Ls_28 = "Trix SELL: " + Symbol() + "-" + Ls_36 + " at " + Close[0] + " " + TimeToStr(TimeCurrent(), TIME_MINUTES|TIME_SECONDS);
if (Alert_Signals == TRUE) Alert(Ls_28);
if (EMail_Signals == TRUE) SendMail("TRIX alert", Ls_28);
Gi_208 = TRUE;
Gi_204 = FALSE;
}
}
}
return (0);
}
string Get_sPeriod(int Ai_0) {
if (Ai_0 == 1) return ("M1");
if (Ai_0 == 5) return ("M5");
if (Ai_0 == 15) return ("M15");
if (Ai_0 == 30) return ("M30");
if (Ai_0 == 60) return ("H1");
if (Ai_0 == 240) return ("H4");
if (Ai_0 == 1440) return ("D1");
if (Ai_0 == 10080) return ("W1");
if (Ai_0 == 43200) return ("MN1");
return ("");
}
- 11-01-2018, 09:37 PM #9
اخي فيلسوف البادية اشكر لك اهتمامك وحرصك
المقصدو بأن يضاف لاعدادات المؤشر حقل الفريمات 60 -240-1440 وهكذا
- 12-01-2018, 02:58 AM #10
تفضل
- 12-01-2018, 01:07 PM #11
- 12-01-2018, 04:25 PM #12
شكرا لكم جميعا وبارك الله في جهودكم