코딩 도움말 - 페이지 135

 

감사합니다 mladen .....

하지만 작동하지 ....

//+------------------------------------------------------------------+

//| text.mq4 |

//| Copyright 2013, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

//+------------------------------------------------------------------+

#property copyright "Copyright 2013, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"

#property indicator_chart_window

extern int timeframe1 = PERIOD_H1;

extern int timeframe2 = PERIOD_D1;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted();

//----

string name1="";

string name2="";

color color1;

color color2;

double H1 = iClose(NULL,timeframe1,0);

double D1H = iHigh(NULL,timeframe2,1);

double D1L = iLow(NULL,timeframe2,1);

if(H1>D1H)

{

name1 = "up"; color1 = Blue;

}

if(H1<D1L)

{

name2 = "down"; color2 = Red;

}

ObjectCreate("signal",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal",OBJPROP_XDISTANCE,3);

ObjectSet("signal",OBJPROP_YDISTANCE,12);

ObjectSetText("signal",name1,12,"Tahoma",color1);

ObjectCreate("signal2",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal2",OBJPROP_XDISTANCE,59);

ObjectSet("signal2",OBJPROP_YDISTANCE,12);

ObjectSetText("signal2",name2,12,"Tahoma",color2);

//----

return(0);

}

//+------------------------------------------------------------------+

파일:
1223123.png  22 kb
 
rizkyd:

감사합니다 mladen .....

하지만 작동하지 ....

나는 이 코드의 평화가 당신에게 흥미를 줄 수 있다고 생각합니다.

그래픽 개체를 사용하는 대신 일반 버퍼를 사용했습니다.

이 인디는 항상 H1과 D1을 비교합니다

따라서 H1 기간 이상의 가격을 표시하지 않지만

H1보다 같거나 낮은 기간에 표시하십시오. 때때로

더 낮은 시간 프레임(마킹 바 등)에서는 이상해 보입니다.

너무 이르다) 그러나 시간제 교대를 자세히 보면

좋아.

dhl_e.mq4

파일:
dhl_e.mq4  3 kb
gbpusdh1.png  30 kb
 
Kalenzo:
나는 이 코드의 평화가 당신에게 흥미를 줄 수 있다고 생각합니다.

그래픽 개체를 사용하는 대신 일반 버퍼를 사용했습니다.

이 인디는 항상 H1과 D1을 비교합니다

따라서 H1 기간 이상의 가격을 표시하지 않지만

H1보다 같거나 낮은 기간에 표시하십시오. 때때로

더 낮은 시간 프레임(마킹 바 등)에서는 이상해 보입니다.

너무 이르다) 그러나 시간제 교대를 자세히 보면

좋아.

dhl_e.mq4

감사합니다 kalenzo ...이 인디를 시도합니다

 
rizkyd:

감사합니다 mladen .....

하지만 작동하지 ....

//+------------------------------------------------------------------+

//| text.mq4 |

//| Copyright 2013, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

//+------------------------------------------------------------------+

#property copyright "Copyright 2013, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"

#property indicator_chart_window

extern int timeframe1 = PERIOD_H1;

extern int timeframe2 = PERIOD_D1;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted();

//----

string name1="";

string name2="";

color color1;

color color2;

double H1 = iClose(NULL,timeframe1,0);

double D1H = iHigh(NULL,timeframe2,1);

double D1L = iLow(NULL,timeframe2,1);

if(H1>D1H)

{

name1 = "up"; color1 = Blue;

}

if(H1<D1L)

{

name2 = "down"; color2 = Red;

}

ObjectCreate("signal",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal",OBJPROP_XDISTANCE,3);

ObjectSet("signal",OBJPROP_YDISTANCE,12);

ObjectSetText("signal",name1,12,"Tahoma",color1);

ObjectCreate("signal2",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal2",OBJPROP_XDISTANCE,59);

ObjectSet("signal2",OBJPROP_YDISTANCE,12);

ObjectSetText("signal2",name2,12,"Tahoma",color2);

//----

return(0);

}

//+------------------------------------------------------------------+

두 개의 서로 다른 시간 프레임을 비교하고 있습니다.

시간 프레임 1의 현재 막대가 시간 프레임 2의 첫 번째 닫힌 막대보다 높거나 낮으면 메시지가 표시됩니다. 시간 프레임 1의 현재 막대가 시간 프레임 2의 이전 최고치 및 최저치보다 높거나 낮지 않으면 아무 것도 표시되지 않습니다. 당신이 게시한 코드에서 그것은 당신의 의도인 것 같았습니다(내 테스트에서는 정상적으로 작동했습니다)

__________________

추신: 과거 데이터(이전 데이터)에 텍스트를 표시하지 않습니다. 과거 데이터에 표시하려면 모든 것을 고전적인 지표로 완전히 다르게 작성해야 합니다.

 

자동 장소 손절매를 위한 EA 및 이익실현 은 Fibo Line에 의존

안녕

나는 손절매를 할 수 있고 매 주문마다 이익을 얻을 수 있는 EA를 만들고 싶습니다!

EA는 판매 가격 또는 구매 가격을 확인해야 하며 예를 들어 구매 가격은 다음과 같습니다.

라인 38.2와 50 사이에 주문 가격을 여는 경우 ea는 fibo=23.6 이전의 한 라인에 자동으로 손절매를 배치하고 fibo=61.8 이후의 한 라인에 이익실현을 배치합니다.

이 절차로 EA는 판매 위치에 대해 수행합니다. 예를 들어 위치가 Sell stop@ X price이고 38.2 fibo<x<50 fibo! EA는 자동으로 23.6 fibo에 이익실현을 하고 61.8 fibo 라인에 손절매를 합니다!!

누구든지 이 EA의 코드로 나를 도울 수 있거나 이 EA의 유사한 코드를 알려줄 수 있습니다!!

****노트:

fibo 라인은 마지막 날의 Low & High에 의해 자동으로 계산됩니다!!!!

Tnx

 
mladen:
두 개의 서로 다른 시간 프레임을 비교하고 있습니다.

시간 프레임 1의 현재 막대가 시간 프레임 2의 첫 번째 닫힌 막대보다 높거나 낮으면 메시지가 표시됩니다. 시간 프레임 1의 현재 막대가 시간 프레임 2의 이전 최고치 및 최저치보다 높거나 낮지 않으면 아무 것도 표시되지 않습니다 . 당신이 게시한 코드에서 그것은 당신의 의도인 것 같았습니다(내 테스트에서는 정상적으로 작동했습니다)

__________________

추신: 과거 데이터(이전 데이터)에 텍스트를 표시하지 않습니다. 과거 데이터에 표시하려면 모든 것을 고전적인 지표로 완전히 다르게 작성해야 합니다.

mladen에 감사드립니다 ... 시간이 있다면 과거 데이터를 표시하도록 해주세요 ....

추신: 이 인디는 내가 Trend UP 또는 Trend Down을 표시하는 데 도움이 될 수 있습니다.

 
rizkyd:
mladen에 감사드립니다 ... 시간이 있다면 과거 데이터를 표시하도록 해주세요 .... 추신: 이 인디는 내가 Trend UP 또는 Trend Down을 표시하는 데 도움이 될 수 있습니다.

리즈키드

이를 위해 다중 시간 프레임 donchian 채널 을 사용해 보셨습니까(예를 들어 donchian 채널의 시간 프레임을 매일로 설정하고 기간을 1로 설정하면 찾고 있는 것과 거의 똑같은 결과를 얻을 수 있습니다)

 

신규 이민자가 조언/도움을 원함

안녕,

저는 외환에 익숙하지 않으며 현재 지표와 EA에 관심이 있습니다. mq4 코드에 대해 어느 정도 이해하고 있지만 내가 원하는 것을 얻기에는 아직 충분하지 않습니다. 그래서 mq4 코딩에 대해 충분히 알고 있는 전문가나 사람들에게 조언/도움을 받고 싶습니다.

내 현재 작업은 EA에 사용자 지정 표시기 를 추가하는 것입니다. 그런데 좋은 EA 템플릿을 얻었습니다.

자, 표시기의 최종 매수/매도 신호는 다음과 같습니다. g_ibuf_BUY[1]g_ibuf_SELL[1]

표시기가 소리를 재생하고 팝업하고 이메일을 보낼 때 코드의 일부입니다.

void Alert_PlaySound_SendMail() {

string ls_ms = "MS PRO";

if (g_ibuf_BUY[1] == Low[1] - Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": BUY | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessBuySound(Buy_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - BUY signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

if (g_ibuf_SELL[1] == High[1] + Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": SELL | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessSellSound(Sell_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - SELL signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

}

다음 단계는 이러한 신호를 EA 템플릿에 추가하는 것입니까? 음 어떻게... iCustom 기능을 사용해야 합니까 아니면 표시기에 추가해야 하는 다른 것을 사용해야 사용할 수 있습니까? 도움을 주시면 감사하겠습니다. 고맙습니다.

파일:
 
otnepx:
안녕,

저는 외환에 익숙하지 않으며 현재 지표와 EA에 관심이 있습니다. mq4 코드에 대해 어느 정도 이해하고 있지만 내가 원하는 것을 얻기에는 아직 충분하지 않습니다. 그래서 mq4 코딩에 대해 충분히 알고 있는 전문가나 사람들에게 조언/도움을 받고 싶습니다.

내 현재 작업은 EA에 사용자 지정 표시기를 추가하는 것입니다. 그런데 좋은 EA 템플릿을 얻었습니다. 자, 표시기의 최종 매수/매도 신호는 다음과 같습니다. g_ibuf_BUY[1]g_ibuf_SELL[1]

표시기가 소리를 재생하고 팝업하고 이메일을 보낼 때 코드의 일부입니다.

void Alert_PlaySound_SendMail() {

string ls_ms = "MS PRO";

if (g_ibuf_BUY[1] == Low[1] - Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": BUY | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessBuySound(Buy_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - BUY signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

if (g_ibuf_SELL[1] == High[1] + Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": SELL | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessSellSound(Sell_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - SELL signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

}
다음 단계는 이러한 신호를 EA 템플릿에 추가하는 것입니까? 음 어떻게... iCustom 기능을 사용해야 합니까 아니면 표시기에 추가해야 하는 다른 것을 사용해야 사용할 수 있습니까? 도움을 주시면 감사하겠습니다. 고맙습니다.

다른 코드(지표, EA)로 경고를 가져올 수 없습니다.

원하는 것을 수행하는 가장 깨끗한 방법은 iCustom()을 사용하는 것입니다.

 

친애하는 Mladen/MrTools,

1분 차트에 대한 아래 논리를 기반으로 인디케이터를 만들기 위한 친절한 요청... 차트에 매수/매도 화살표와 함께 경고해야 합니다..

구매 항목에 대한 논리:

1분 EMA(90)가 1분 EMA(390)를 가로지르고 있음

구매 종료 논리:

1분 EMA(90) > EMA(390) 및 ema(90) < ema(150).

판매 항목에 대한 논리:

1분 EMA(90) 1분 EMA(390) 줄이기

매도 종료 논리:

1분 EMA(90) EMA(150).

*********************************************** *****

동일한 논리에 대한 중첩 코드도 아래에서 공유됩니다.

구매 경고 표현

EMA(CLOSE,90) > EMA(CLOSE,390) 및 REF(EMA(CLOSE,90),1) EMA(CLOSE,150)

구매 종료 표현

EMA(CLOSE,90) > EMA(CLOSE,390) 및 EMA(CLOSE,90) < EMA(CLOSE,150)

경고 표현 판매

EMA(CLOSE,90) REF(EMA(CLOSE,390),1) 및 EMA(CLOSE,90) < EMA(CLOSE,150)

판매 종료 표현

EMA(닫기,90) EMA(닫기,150)

감사해요

정말 감사합니다