코딩하는 방법? - 페이지 274

 

불행히도 주문을 열면 댓글을 변경할 수 있는 방법이 없습니다. 그러면 브로커만의 특권이 됩니다. (부분 클로즈의 경우 변경) 메타트레이더는 코멘트 필드를 통해서만 일부 브로커에게 부분 클로즈 백트래킹을 제공할 수 있었던 것 같습니다. 필사자) 완전히

JohnCrawdford:
안녕하세요,

주문이 생성된 후 OrderComment를 변경할 수 있는 방법이 있습니까?

도달할 가능성이 있는 주요 지점에 보류 중인 주문을 생성하는 EA가 있지만, 차트의 바람직하지 않은 빠른 움직임으로 인해 해당 주문을 취소/삭제해야 하는 경우가 있으므로 티켓 번호를 사용하여 각 주문을 식별할 수 없습니다. 주문은 각 핵심 포인트 주문을 여러 번 열고 취소/삭제할 수 있기 때문에 대신 EA가 고유한 OrderComment를 사용하여 각 주문을 식별하지만 때때로 EA를 실행하는 컴퓨터에 오류가 발생하거나 인터넷 연결에 오류가 발생합니다. 이는 요점 주문 식별을 엉망으로 만들기 때문에 먼저 이전 실행을 완료하지 않고 EA가 다시 시작된 후 생성되는 엉망으로 인한 오류를 피하기 위해 OrderComment를 변경하는 것이 유용할 것입니다.

매우 혼란스럽죠?

추신: 매직 넘버는 EA에서 생성한 주문을 식별하는 데 사용되므로 각 주문을 개별적으로 식별하는 데 이 번호를 사용할 수 없습니다.

누가 OrderComments를 변경할 수 있는 방법이 있는지 말해 줄 수 있다면 감사하겠습니다.

미리 감사드립니다.
 

EA에서 동적 컴파일을 수행하는 방법은 무엇입니까?

안녕하세요 세계입니다!

예를 들어 20초마다 동적 컴파일(F5)을 사용하여 EA를 만드는 방법을 알고 싶습니다.

나는 F5 기능이 VK_F5에 의해 정의된 것을 보았습니다(Coders Guru에게 감사드립니다!). 그러나 어떻게 실행합니까?

이것은 내 EA입니다

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

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

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

#property copyright "Copyright © 2008, Systematic-Forex"

#속성 링크 "http://www.systematic-forex.com"

#속성 표시기_차트_창

#속성 표시기_버퍼 1

#property indicator_color1 LightGray // 노란색

extern int TimeFrame = 5;

/*

extern string help_magic_number = "닫기 옵션 3 - 매직 넘버로 닫기를 사용할 경우 설정합니다.";

외부 int magic_number = 0; // 닫기 옵션 3을 사용할 경우 설정합니다 - 매직 넘버로 닫기

extern string help_comment_text = "닫기 옵션 4 - 주석으로 닫기를 사용할 경우 설정합니다.";

외부 문자열 comment_text = "";

extern bool HotKeyOn = true;

외부 부울 CtrlOn = true;

외부 부울 ShiftOn = 거짓;

외부 부울 AltOn = 거짓;

외부 문자열 HotKey = "A";

*/

# "user32.dll" 가져오기

부울 GetAsyncKeyState(int nVirtKey);

#수입

#include //MessageBoxA용

//---- MessageBox() 플래그

#define MB_OK 0x00000000

#define MB_OKCANCEL 0x00000001

#define MB_ABORTRETRYIGNORE 0x00000002

#define MB_YESNOCANCEL 0x00000003

#define MB_YESNO 0x00000004

#define MB_RETRYCANCEL 0x00000005

#define MB_ICONHAND 0x00000010

#define MB_ICONQUESTION 0x00000020

#define MB_ICONEXCLAMATION 0x00000030

#define MB_ICONASTERISK 0x00000040

#define MB_USERICON 0x00000080

#define MB_ICONWARNING MB_ICONEXCLAMATION

#define MB_ICONERROR MB_ICONHAND

#define MB_ICONINFORMATION MB_ICONASTERISK

#define MB_ICONSTOP MB_ICONHAND

#define MB_DEFBUTTON1 0x00000000

#define MB_DEFBUTTON2 0x00000100

#define MB_DEFBUTTON3 0x00000200

#define MB_DEFBUTTON4 0x00000300

#define MB_APPLMODAL 0x00000000

#define MB_SYSTEMMODAL 0x00001000

#define MB_TASKMODAL 0x00002000

#define MB_HELP 0x00004000 // 도움말 버튼

#define MB_NOFOCUS 0x00008000

#define MB_SETFOREGROUND 0x00010000

#define MB_DEFAULT_DESKTOP_ONLY 0x00020000

#define MB_TOPMOST 0x00040000

#define MB_RIGHT 0x00080000

#define MB_RTLREADING 0x00100000

#define KEYEVENTF_EXTENDEDKEY 0x0001

#define KEYEVENTF_KEYUP 0x0002

#define VK_0 48

#define VK_1 49

#define VK_2 50

#define VK_3 51

#define VK_4 52

#define VK_5 53

#define VK_6 54

#define VK_7 55

#define VK_8 56

#define VK_9 57

#define VK_A 65

#define VK_B 66

#define VK_C 67

#define VK_D 68

#define VK_E 69

#define VK_F 70

#define VK_G 71

#define VK_H 72

#define VK_I 73

#define VK_J 74

#define VK_K 75

#define VK_L 76

#define VK_M 77

#define VK_N 78

#define VK_O 79

#define VK_P 80

#define VK_Q 81

#define VK_R 82

#define VK_S 83

#define VK_T 84

#define VK_U 85

#define VK_V 86

#define VK_W 87

#define VK_X 88

# 정의 VK_Y 89

#define VK_Z 90

#define VK_LBUTTON 1 //마우스 왼쪽 버튼

#define VK_RBUTTON 2 //마우스 오른쪽 버튼

#define VK_CANCEL 3 //제어 중단 처리

#define VK_MBUTTON 4 //마우스 가운데 버튼(세 버튼 마우스)

#define VK_BACK 8 //백스페이스 키

#define VK_TAB 9 //TAB 키

#define VK_CLEAR 12 //CLEAR 키

#define VK_RETURN 13 //ENTER 키

#define VK_SHIFT 16 //SHIFT 키

#define VK_CONTROL 17 //CTRL 키

#define VK_MENU 18 //ALT 키

#define VK_PAUSE 19 //일시 중지 키

#define VK_CAPITAL 20 //CAPS LOCK 키

#define VK_ESCAPE 27 //ESC 키

#define VK_SPACE 32 //스페이스바

#define VK_PRIOR 33 //PAGE UP 키

#define VK_NEXT 34 //PAGE DOWN 키

#define VK_END 35 //END 키

#define VK_HOME 36 //HOME 키

#define VK_LEFT 37 //왼쪽 화살표 키

#define VK_UP 38 //위쪽 화살표 키

#define VK_RIGHT 39 //오른쪽 화살표 키

#define VK_DOWN 40 //아래쪽 화살표 키

#define VK_PRINT 42 //PRINT 키

#define VK_SNAPSHOT 44 //PRINT SCREEN 키

#define VK_INSERT 45 //INS 키

#define VK_DELETE 46 //DEL 키

#define VK_HELP 47 //HELP 키

#define VK_LWIN 91 //왼쪽 Windows 키(Microsoft® Natural® 키보드)

#define VK_RWIN 92 //오른쪽 Windows 키(자연 키보드)

#define VK_APPS 93 //응용 프로그램 키(자연 키보드)

#define VK_SLEEP 95 //컴퓨터 절전 키

#define VK_NUMPAD0 96 //숫자 키패드 0 키

#define VK_NUMPAD1 97 //숫자 키패드 1 키

#define VK_NUMPAD2 98 //숫자 키패드 2 키

#define VK_NUMPAD3 99 //숫자 키패드 3 키

#define VK_NUMPAD4 100 //숫자 키패드 4 키

#define VK_NUMPAD5 101 //숫자 키패드 5 키

#define VK_NUMPAD6 102 //숫자 키패드 6 키

#define VK_NUMPAD7 103 //숫자 키패드 7 키

#define VK_NUMPAD8 104 //숫자 키패드 8 키

#define VK_NUMPAD9 105 //숫자 키패드 9 키

#define VK_MULTIPLY 106 //곱하기 키

#define VK_ADD 107 //키 추가

#define VK_SEPARATOR 108 //구분자 키

#define VK_SUBTRACT 109 //키 빼기

#define VK_DECIMAL 110 //10진수 키

#define VK_DIVIDE 111 //나누기 키

#define VK_F1 112 //F1 키

#define VK_F2 113 //F2 키

#define VK_F3 114 //F3 키

#define VK_F4 115 //F4 키

#define VK_F5 116 //F5 키

#define VK_F6 117 //F6 키

#define VK_F7 118 //F7 키

#define VK_F8 119 //F8 키

#define VK_F9 120 //F9 키

#define VK_F10 121 //F10 키

#define VK_F11 122 //F11 키

#define VK_F12 123 //F12 키

#define VK_F13 124 //F13 키

#define VK_NUMLOCK 144 //NUM LOCK 키

#define VK_SCROLL 145 //스크롤 잠금 키

#define VK_LSHIFT 160 //왼쪽 Shift 키

#define VK_RSHIFT 161 //오른쪽 Shift 키

#define VK_LCONTROL 162 //왼쪽 CONTROL 키

#define VK_RCONTROL 163 //오른쪽 CONTROL 키

#define VK_LMENU 164 //왼쪽 MENU 키

#define VK_RMENU 165 //오른쪽 MENU 키

//---- 버퍼

이중 버퍼[];

정수 i,j;

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

//| 커스텀 인디케이터 초기화 기능 |

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

정수 초기화()

{

//---- 표시기

SetIndexStyle(0,DRAW_LINE);

//SetIndexStyle(0,DRAW_SECTION);

//SetIndexStyle(0,DRAW_ARROW);

//SetIndexStyle(0,DRAW_HISTOGRAM);

//SetIndexStyle(0,DRAW_ZIGZAG);

//SetIndexStyle(0,DRAW_NONE);

SetIndexBuffer(0,버퍼);

SetIndexEmptyValue(0,EMPTY_VALUE);

Comment("\n"+"test_A_sar");

//----

리턴(0);

}

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

//| 고객 표시기 초기화 해제 기능 |

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

정수 초기화()

{

논평("");

리턴(0);

}

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

//| 사용자 지정 표시기 반복 기능 |

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

정수 시작()

{

정수 제한;

int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;

limit=막대-counted_bars;

for(int i=0; i<limit; i++)

{

날짜 시간 i_Time = iTime(NULL, 0, i);

int j = iBarShift(NULL, TimeFrame, i_Time, bool false);

이중 sar_m5 = iSAR(NULL, PERIOD_M5, 0.02, 0.2, j + 0);

이중 var_indicateur = sar_m5 ;

/*

//

if(초()== 20)

{

컴파일됨 또는 VK_F5

}

if(초()== 40)

{

컴파일됨 또는 VK_F5

}

*/

버퍼 = sar_m5;

}

리턴(0);

}

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

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

안부 test_a_sar_m5.mq4 test_a_sar_m5.mq4

파일:
 

돕다

나는 누군가가 그것에 관해 나에게 대답을 줄 수 있다면 정지 손실 때문에 한 가지 문제에 직면하고 있습니다. 문제는 일부 메타 트레이더 차트에서 가격 막대 값이 다섯 자리(1.4545)로 표시되지만 내 메타 트레이더에서는 여섯 자리 값(1.45456)으로 표시됩니다. 따라서 시스템에 따라 손절매를 시도할 때 손절매 값 은 200핍에서 400핍이 됩니다. 나는 그것을 고칠 방법을 모른다. 나는 나를 많이 드러내고 있다. 이 문제로 인해 내 계정을 두 번 날려버렸습니다.

미리 감사드립니다.

 

마틴게일 자금 관리 의 켈리 전략

누구나 이것을 켈리 전략으로 편집하거나 10으로 나눌 수 있습니다.

시작 자산이 $250일 때 내 로트 크기는 0.10이고, 자산이 $500로 증가하면 0.11로 변경되어야 합니다.

-------------------------------------------------- ------------------

if(돈관리)

{

스위치(계정 유형)

{

사례 0: lotsi=NormalizeDouble(MathCeil((risk*AccountEquity())/10000)/10,1); 부서지다;

사례 1: lotsi=NormalizeDouble((risk*AccountEquity())/100000,2); 부서지다;

사례 2: lotsi=NormalizeDouble((risk*AccountEquity())/1000,2); 부서지다;

기본값: lotsi=NormalizeDouble(MathCeil((risk*AccountEquity())/10000)/10,1); 부서지다;

}

-------------------------------------------------- ------------------

감사해요

 

아이커스텀 질문

커스텀 쓰레드에 글을 올린건 알지만...

코드 전문가 코드에 따르면

double clr = iCustom(NULL,0,"LSMA in Color",14,1500,5,0);

string sclr;

if(clr==1) sclr="Red";

if(clr==2) sclr="Green";

if(clr==3) sclr="Yellow";

동일한 버퍼로 다른 시간 프레임을 어떻게 얻을 수 있습니까?

동일한 clr은 2개의 다른 시간 프레임에 대해 다른 값을 보유합니다.

그것을 해결하는 방법?

 
khatrisushil:
나는 누군가가 그것에 관해 나에게 대답을 줄 수 있다면 정지 손실 때문에 한 가지 문제에 직면하고 있습니다. 문제는 일부 메타 트레이더 차트에서 가격 막대 값이 다섯 자리(1.4545)로 표시되지만 내 메타 트레이더에서는 여섯 자리 값(1.45456)으로 표시됩니다. 따라서 시스템에 따라 손절매를 시도할 때 손절매 값은 200핍에서 400핍이 됩니다. 나는 그것을 고칠 방법을 모른다. 나는 나를 많이 드러내고 있다. 이 문제로 인해 내 계정을 두 번 날려버렸습니다. 미리 감사드립니다.

주먹은 브로커를 감지해야 합니다.

숫자 유형을 감지할 수 있어야 하는 코드에서 숫자 ea 코딩에 대한 충분한 예가 있습니다.

따라서 4자리 또는 5자리 브로커를 모두 처리할 수 있는 일부 EA에 대해 공부하고 싶을 수도 있습니다.

 

내 EA on Market 실행 브로커 수정을 도와주세요!

안녕하세요 여러분, 저는 EA의 새내기입니다. 저는 비극적인 Signal로 EA를 썼습니다.

이중 구매1_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, 현재 + 1);

이중 구매1_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, 현재 + 1);

이중 구매2_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, 현재 + 0);

이중 구매2_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, 현재 + 0);

이중 구매3_1 = iSAR(NULL, 0, 0.005, 0.05, 현재 + 1);

이중 구매3_2 = iSAR(NULL, 0, 0.005, 0.05, 현재 + 0);

이중 구매4_1 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 현재 + 1);

이중 구매4_2 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 현재 + 0);

이중 Sell1_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, 현재 + 1);

이중 Sell1_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, 현재 + 1);

이중 Sell2_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, 현재 + 0);

이중 Sell2_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, 현재 + 0);

이중 Sell3_1 = iSAR(NULL, 0, 0.005, 0.05, 현재 + 1);

이중 Sell3_2 = iSAR(NULL, 0, 0.005, 0.05, 현재 + 0);

이중 Sell4_1 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 현재 + 1);

이중 Sell4_2 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 현재 + 0);

if (구매1_1 = 구매2_2 && 구매3_1 < 구매3_2 && 구매4_1 < 구매4_2) 주문 = SIGNAL_BUY;

if (Sell1_1 > Sell1_2 && Sell2_1 Sell3_2 && Sell4_1 > Sell4_2) 주문 = SIGNAL_SELL;

하지만 내 EA가 Instant Execution 에서 잘 작동할 수 있는 이유를 이해하지 못하지만(그렇다고 생각합니다) 시장 실행에서는 아무 것도 하지 않습니다. 저는 easy-forex의 거래자입니다. 그들의 데모 계정은 Instant execution입니다. 내 EA는 잘 작동하지만 라이브에서는 마켓 실행이 있는 계정 내 EA는 아무 것도 하지 않습니다. 즉, 오류가 아닌 해당 MT4의 차트를 분석할 수 없으며 아무 것도 하지 않습니다.

나는 easy-forex 지원에 연락하고 그들은 다른 인스턴트 실행과 시장 실행에 의해 나에게 알려줍니다. 그래서 저는 EA와 거래에 대해 만료된 사람을 찾습니다. 제발 ! 내 EA를 수정하도록 도와주세요.

정말 감사합니다 !

 
alvintran:
안녕하세요 여러분, 저는 EA의 새내기입니다. 저는 비극적인 Signal로 EA를 썼습니다.

이중 구매1_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, 현재 + 1);

이중 구매1_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, 현재 + 1);

이중 구매2_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, 현재 + 0);

이중 구매2_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, 현재 + 0);

이중 구매3_1 = iSAR(NULL, 0, 0.005, 0.05, 현재 + 1);

이중 구매3_2 = iSAR(NULL, 0, 0.005, 0.05, 현재 + 0);

이중 구매4_1 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 현재 + 1);

이중 구매4_2 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 현재 + 0);

이중 Sell1_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, 현재 + 1);

이중 Sell1_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, 현재 + 1);

이중 Sell2_1 = iMA(NULL, 0, 55, 0, MODE_EMA, PRICE_CLOSE, 현재 + 0);

이중 Sell2_2 = iMA(NULL, 0, 200, 0, MODE_EMA, PRICE_CLOSE, 현재 + 0);

이중 Sell3_1 = iSAR(NULL, 0, 0.005, 0.05, 현재 + 1);

이중 Sell3_2 = iSAR(NULL, 0, 0.005, 0.05, 현재 + 0);

이중 Sell4_1 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 현재 + 1);

이중 Sell4_2 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 현재 + 0);

if (구매1_1 = 구매2_2 && 구매3_1 < 구매3_2 && 구매4_1 < 구매4_2) 주문 = SIGNAL_BUY;

if (Sell1_1 > Sell1_2 && Sell2_1 Sell3_2 && Sell4_1 > Sell4_2) 주문 = SIGNAL_SELL;

하지만 내 EA가 Instant Execution에서 잘 작동할 수 있는 이유를 이해하지 못하지만(그렇다고 생각합니다) 시장 실행에서는 아무 것도 하지 않습니다. 저는 easy-forex의 거래자입니다. 그들의 데모 계정은 Instant execution입니다. 내 EA는 잘 작동하지만 라이브에서는 마켓 실행이 있는 계정 내 EA는 아무 것도 하지 않습니다. 즉, 오류가 아닌 해당 MT4의 차트를 분석할 수 없으며 아무 것도 하지 않습니다.

나는 easy-forex 지원에 연락하고 그들은 다른 인스턴트 실행과 시장 실행에 의해 나에게 알려줍니다. 그래서 저는 EA와 거래에 대해 만료된 사람을 찾습니다. 제발 ! 내 EA를 수정하도록 도와주세요.

정말 감사합니다 !

[lang=pl]SL/TP에 문제가 있는 것 같습니다. 코드 또는 일부를 보여주세요.

주문을 보내는 곳.

건배,

그르제식[/lang]

 
g.pociejewski:
[lang=pl]SL/TP에 문제가 있는 것 같습니다. 코드 또는 일부를 보여주세요.

주문을 보내는 곳.

건배,

그르제식[/lang]

아니오 아니오, 문제가 아닙니다 SL/TP, 저는 그 문제를 알고 있습니다. 아무 것도 하지 않는다고 말했습니다. 데모 계정에서는 의미가 없습니다( 즉석 실행 또는 내가 모르는 것). 잘 작동하지만 라이브 계정에서는 작동하지 않습니다. 아무 문제 없습니다, 그냥 아무것도 하지 마십시오.

내가 쓴 이 EA는, 구매하지 않고, 평가판도, 제한도 없습니다.

제발 ! 돕다

 

시간 프레임 추가 및 버퍼 가져오기

mtuppers:

double clr = iCustom(NULL,0,"LSMA in Color",14,1500,5,0);

string sclr;

if(clr==1) sclr="Red";

if(clr==2) sclr="Green";

if(clr==3) sclr="Yellow";

동일한 버퍼로 다른 시간 프레임을 어떻게 얻을 수 있습니까?

동일한 clr은 2개의 다른 시간 프레임에 대해 다른 값을 보유합니다.

그것을 해결하는 방법?

안녕하세요 엠투퍼스입니다.

원래 현재 시간 프레임:

이중 clr = iCustom(NULL, 0 , "LSMA 색상",14,1500,5,0);

원하는 기간을 추가하고 변수 이름을 변경하여 다르게 만듭니다(clr 및 clr2).

이중 clr2 = iCustom(NULL, Period_H1 , "LSMA 색상",14,1500,5,0); // Period_H1 시간 프레임

"LSMA in Color" 표시기 - 색상에 대한 버퍼가 하나가 아니라 3개 있으므로 3개의 iCustom 문을 사용하여 모두 가져올 수 있습니다.

다음은 버퍼 번호입니다.

SetIndexBuffer(2,ExtMapBuffer1);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexBuffer(0,ExtMapBuffer3);

SetIndexBuffer(3, 합계);

SetIndexBuffer(4,wt);

SetIndexBuffer(5,clr);

* 예제에서 Buffer 0을 사용하고 있으므로 실제로 ExtMapBuffer3에서 단 하나의 색상만 얻습니다. "clr" 버퍼는 버퍼 5입니다.

표시기의 색상 버퍼 할당은 다음과 같습니다.

ExtMapBuffer3[시프트] = 중량[시프트]; //빨간색

ExtMapBuffer2[시프트] = 중량[시프트]; //초록

ExtMapBuffer1[시프트] = 중량[시프트]; //노란색

도움이 되었기를 바랍니다,

로버트