السلام عليكم ورحمة الله وبركاته
اسعد الله مائكم بالخير
تكرماً من المبرمجين تعديل المؤشر المرفق بحيث يكون حسب الفريم بصيغة MTF , او من لديه المؤشر بنفس الصيغة المطلوبة يزودني به واكون لكم من الشاكرين وجزاكم الله خير الجزاء
Printable View
السلام عليكم ورحمة الله وبركاته
اسعد الله مائكم بالخير
تكرماً من المبرمجين تعديل المؤشر المرفق بحيث يكون حسب الفريم بصيغة MTF , او من لديه المؤشر بنفس الصيغة المطلوبة يزودني به واكون لكم من الشاكرين وجزاكم الله خير الجزاء
لايمكن التعديل
صيغة EXE
شكرا لك استاذ simos وجزاك الله خير
استاذ فيلسوف البادية كرماً منكم هل من الممكن تعديل المؤشر الذي ارفقه اخونا simos بصيغة MTF
تقاطع متوسط 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 ("");
}
اخي فيلسوف البادية اشكر لك اهتمامك وحرصك
المقصدو بأن يضاف لاعدادات المؤشر حقل الفريمات 60 -240-1440 وهكذا
تفضل
شكرا لكم جميعا وبارك الله في جهودكم