Mohamed Abdelmaaboud
Mohamed Abdelmaaboud
5 (1)
  • 정보
7+ 년도
경험
2
제품
0
데몬 버전
3
작업
0
거래 신호
0
구독자
✅ I am Mohamed Hassan Abdel Maaboud, a financial market technical strategist, trader, trading trainer and coach, and trading systems developer with experience in the financial markets field since 2014.
✅ CFTe (Certified Financial Technician) holder from IFTA (International Federation of Technical Analysts).
✅ CETA (Certified ESTA Technical Analyst) holder from ESTA (The Egyptian Society of Technical Analysts).
✅ The founder of Trades Coding for trading software products and services.
👉 Check out the website through the link: https://tradescoding.com/
✅ The founder of Trades Analysis for trading training and consulting services.
👉 Check out the website through the link: https://tradesanalysis.com/
✅ I am passionate about what I do and interested in adding more value using my experience in the field.

✅ I am the author of many articles here on the MQL5 website about algorithmic trading and how to create a trading system based on the most popular technical indicators.
You can find them through the following link:
👉 https://www.mql5.com/en/users/m.aboud/publications

✅You can join my telegram channel through the following link:
👉 https://t.me/tradescoding

✅ I author trading tools for MetaTrader 4 and MetaTrader 5.
You can find them through the following link:
👉 https://www.mql5.com/en/users/m.aboud/seller

✅ I can code smoothly with programming languages MQL4, and MQL5 to create trading systems for MetaTrader 4 and MetaTrader 5.
If you want a personal job, you can request that through the following link:
👉 https://www.mql5.com/en/job/new?prefered=m.aboud
Mohamed Abdelmaaboud
게재된 기고글 Williams PR로 트레이딩 시스템을 설계하는 방법 알아보기
Williams PR로 트레이딩 시스템을 설계하는 방법 알아보기

이 기사는 MetaTrader 5 MQL5의 가장 인기 있는 기술 지표를 사용하여 거래 시스템을 설계하는 방법을 알아보는 시리즈의 새로운 기사입니다. 이 기사에서는 Williams의 %R 지표로 거래 시스템을 설계하는 방법에 대해 알아봅니다.

Mohamed Abdelmaaboud
게재된 기고글 일목균형 지표로 트레이딩 시스템을 설계하는 방법 알아보기
일목균형 지표로 트레이딩 시스템을 설계하는 방법 알아보기

다음은 가장 인기 있는 지표인 거래 시스템을 설계하는 방법에 대한 시리즈의 새로운 기사입니다. 일목균형 지표에 대해 자세히 설명하고 이 지표로 거래 시스템을 설계하는 방법에 대해 설명합니다.

Mohamed Abdelmaaboud
게재된 기고글 볼륨으로 거래 시스템을 설계하는 방법 알아보기
볼륨으로 거래 시스템을 설계하는 방법 알아보기

이 글은 인기 있는 기술 지표를 기반으로 거래 시스템을 설계하는 방법과 관련한 시리즈의 새로운 글입니다. 이 기사에서는 볼륨 지표에 대해 설명합니다. 볼륨의 개념은 금융 시장 거래에서 매우 중요한 요소 중 하나이며 우리 모두 주의를 기울여야 할 요소입니다. 이 글을 통해 볼륨 지표로 간단한 거래 시스템을 설계하는 방법에 대해서 알아보겠습니다.

Mohamed Abdelmaaboud
게재된 기고글 MFI로 거래 시스템을 설계하는 방법 알아보기
MFI로 거래 시스템을 설계하는 방법 알아보기

가장 인기 있는 기술 지표를 기반으로 거래 시스템을 설계하는 방법에 대한 시리즈 중 이번 기사에서는 새로운 기술 지표인 MFI(Money Flow Index)를 사용할 것입니다. 우리는 MFI에 대해 자세히 알아보고 MetaTrader 5에서 실행할 수 있도록 MQL5로 간단한 거래 시스템을 개발할 것입니다.

Mohamed Abdelmaaboud
게재된 기고글 누적/분배(Accumulation/Distribution (AD))에 기반한 거래 시스템을 설계하는 방법
누적/분배(Accumulation/Distribution (AD))에 기반한 거래 시스템을 설계하는 방법

이 글은 가장 인기 있는 기술 지표를 기반으로 거래 시스템을 설계하는 방법에 대한 시리즈의 새로운 글입니다. 이 글에서는 누적/분배 지표라는 새로운 기술 지표에 대해 배우고 간단한 AD 거래 전략을 기반으로 하여 MQL5 거래 시스템을 설계하는 방법에 대해 알아봅니다.

DIMITAR VASILEV
DIMITAR VASILEV 2022.12.17
//+------------------------------------------------------------------+
//| TRENDLINE_RVI_DeMarker_ADX_ACMA_AO SYSTEM.mq5 |
//| Copyright 2022, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit() {
//--- create timer EventSetTimer(60); //--- return(INIT_SUCCEEDED); }
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
//--- destroy timer EventKillTimer(); }
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick() {
////////////////////////Trend Lines//////////////////////////////////// long candlesUp = ChartGetInteger(0, CHART_FIRST_VISIBLE_BAR, 0); double pLow[]; ArraySetAsSeries(pLow, true); CopyLow(_Symbol, _Period, 0, candlesUp, pLow); long candleLow = ArrayMinimum(pLow, 0, candlesUp); MqlRates pArrayUp[]; ArraySetAsSeries(pArrayUp, true); long DataUp = CopyRates(_Symbol, _Period, 0, candlesUp, pArrayUp); ObjectDelete(_Symbol,"UpwardTrendline"); ObjectCreate(_Symbol, "UpwardTrendline", OBJ_TREND, 0, pArrayUp[candleLow].time, pArrayUp[candleLow].low, pArrayUp[0].time, pArrayUp[0].low); ObjectSetInteger(0, "UpwardTrendline", OBJPROP_COLOR, Blue); ObjectSetInteger(0, "UpwardTrendline", OBJPROP_STYLE, STYLE_SOLID); ObjectSetInteger(0, "UpwardTrendline", OBJPROP_WIDTH, 1); ObjectSetInteger(0, "UpwardTrendline", OBJPROP_RAY_RIGHT, true); long candlesDown = ChartGetInteger(0, CHART_FIRST_VISIBLE_BAR, 0); double pHighDown[]; ArraySetAsSeries(pHighDown, true); CopyHigh(_Symbol, _Period, 0, candlesDown, pHighDown); long candleHighDown = ArrayMaximum(pHighDown, 0, candlesDown); MqlRates pArrayDown[]; ArraySetAsSeries(pArrayDown, true); int DataDown = CopyRates(_Symbol, _Period, 0, candlesDown, pArrayDown); ObjectDelete(_Symbol, "DownwardTrendline"); ObjectCreate(_Symbol, "DownwardTrendline", OBJ_TREND, 0, pArrayDown[candleHighDown].time, pArrayDown[candleHighDown].high, pArrayDown[0].time, pArrayDown[0].high); ObjectSetInteger(0, "DownwardTrendline", OBJPROP_COLOR, Blue); ObjectSetInteger(0, "DownwardTrendline", OBJPROP_STYLE, STYLE_SOLID); ObjectSetInteger(0, "DownwardTrendline", OBJPROP_WIDTH, 1); ObjectSetInteger(0, "DownwardTrendline", OBJPROP_RAY_RIGHT, true); long candlesSupport = ChartGetInteger(0, CHART_FIRST_VISIBLE_BAR, 0); double pLowSupport[]; ArraySetAsSeries(pLowSupport, true); CopyLow(_Symbol, _Period, 0, candlesSupport, pLowSupport); long candleLowSupport = ArrayMinimum(pLowSupport, 0, candlesSupport); MqlRates pArraySupport[]; ArraySetAsSeries(pArraySupport, true); int DataSupport = CopyRates(_Symbol, _Period, 0, candlesSupport, pArraySupport); ObjectDelete(_Symbol, "supportLine"); ObjectCreate(_Symbol, "supportLine", OBJ_HLINE, 0, pArraySupport[candleLowSupport].time, pArraySupport[candleLowSupport].low, pArraySupport[0].time, pArraySupport[0].low); ObjectSetInteger(0, "supportLine", OBJPROP_COLOR, Green); ObjectSetInteger(0, "supportLine", OBJPROP_STYLE, STYLE_SOLID); ObjectSetInteger(0, "supportLine", OBJPROP_WIDTH, 3); ObjectSetInteger(0, "supportLine", OBJPROP_RAY, true); long candlesResistance = ChartGetInteger(0, CHART_FIRST_VISIBLE_BAR, 0); double pHighResistance[]; ArraySetAsSeries(pHighResistance, true); CopyHigh(_Symbol, _Period, 0, candlesResistance, pHighResistance); long candleHighResistance = ArrayMaximum(pHighResistance, 0, candlesResistance); MqlRates pArrayResistance[]; ArraySetAsSeries(pArrayResistance, true); long DataResistance = CopyRates(_Symbol, _Period, 0, candlesResistance, pArrayResistance); ObjectDelete(_Symbol, "resistanceLine"); ObjectCreate(_Symbol, "resistanceLine", OBJ_HLINE, 0, pArrayResistance[candleHighResistance].time, pArrayResistance[candleHighResistance].high, pArrayResistance[0].time, pArrayResistance[0].high); ObjectSetInteger(0, "resistanceLine", OBJPROP_COLOR, Red); ObjectSetInteger(0, "resistanceLine", OBJPROP_STYLE, STYLE_SOLID); ObjectSetInteger(0, "resistanceLine", OBJPROP_WIDTH, 3); ObjectSetInteger(0, "resistanceLine", OBJPROP_RAY_RIGHT, true); /////////////////////////////////////VIDYA///////////////////////////////////////////// MqlRates priceArrayVIDYA[]; double vidyaArray[]; double vidyaArray1[]; int DataVIDYA = CopyRates(_Symbol, _Period, 0, 3, priceArrayVIDYA); ArraySetAsSeries(vidyaArray, true); ArraySetAsSeries(vidyaArray1, true); int vidyaDef = iVIDyA(_Symbol, _Period, 9, 12, 0, PRICE_CLOSE); int vidyaDef1 = iVIDyA(_Symbol, _Period, 20, 50, 0, PRICE_CLOSE); CopyBuffer(vidyaDef, 0, 0, 3, vidyaArray); CopyBuffer(vidyaDef1, 0, 0, 3, vidyaArray1); double currentCloseVIDYA = NormalizeDouble(priceArrayVIDYA[2].close, 6); double vidyaVal = NormalizeDouble(vidyaArray[0], 6); double vidyaVal1 = NormalizeDouble(vidyaArray1[0], 6); ///////////////////RVI Moving Average///////////////////////////////////////////////// MqlRates pArrayRVI_MA[]; double maArrayRVI_MA[]; double rviArray[]; double rviSignalArray[]; int DataRVI_MA = CopyRates(_Symbol, _Period, 0, 1, pArrayRVI_MA); ArraySetAsSeries(maArrayRVI_MA, true); ArraySetAsSeries(rviArray, true); ArraySetAsSeries(rviSignalArray, true); int rviDef = iRVI(_Symbol, _Period, 10); int maDefRVI_MA = iMA(_Symbol, _Period, 100, 0, MODE_EMA, PRICE_CLOSE); CopyBuffer(rviDef, 0, 0, 3, rviArray); CopyBuffer(rviDef, 1, 0, 3, rviSignalArray); CopyBuffer(maDefRVI_MA, 0, 0, 3, maArrayRVI_MA); double rviValue = NormalizeDouble(rviArray[0], 3); double rviSignalValue = NormalizeDouble(rviSignalArray[0], 3); double maValueRVI_MA = NormalizeDouble(maArrayRVI_MA[0], 3); ////////////////////ACELERATOR_OSCILLATOR////////////////////////////////////// MqlRates pArrayACMA[]; double acArray[]; double maArrayACMA[]; int DataACMA = CopyRates(_Symbol,_Period, 0, 1, pArrayACMA); ArraySetAsSeries(acArray, true); ArraySetAsSeries(maArrayACMA, true); int acDefACMA = iAC(_Symbol, _Period); int maDefACMA = iMA(_Symbol, _Period, 50, 0, MODE_EMA, PRICE_CLOSE); CopyBuffer(acDefACMA, 0, 0, 3, acArray); CopyBuffer(maDefACMA,0, 0, 3, maArrayACMA); int acMaxArray = ArrayMaximum(acArray, 1, WHOLE_ARRAY); int acMinArray = ArrayMinimum(acArray, 1, WHOLE_ARRAY); double closingPriceACMA = pArrayACMA[0].close; double acValue = NormalizeDouble(acArray[0], 7); double acMaxValue = NormalizeDouble(acArray[acMaxArray], 7); double acMinValue = NormalizeDouble(acArray[acMinArray], 7); double maValueACMA = NormalizeDouble(maArrayACMA[0], 7);
///////////////////////AWESOME_OSCILLATOR/////////////////////////////////////////// MqlRates pArrayAO[]; double aoArray[]; double maArrayAO[]; int DataAO = CopyRates(_Symbol, _Period, 0, 1, pArrayAO); ArraySetAsSeries(aoArray, true); ArraySetAsSeries(maArrayAO, true); int aoDef = iAO(_Symbol, _Period); int maDefAO = iMA(_Symbol, _Period, 50, 0, MODE_EMA, PRICE_CLOSE); CopyBuffer(aoDef, 0, 0, 3, aoArray); CopyBuffer(maDefAO, 0, 0,3, maArrayAO); double closingPriceAO = pArrayAO[0].close; double aoValue = NormalizeDouble(aoArray[0], 7); double maValueAO = NormalizeDouble(maArrayAO[0], 7); ///////////////////////////DeMARKER_DIVERGENCE////////////////////////////////////////// double deMarkerArray[]; MqlRates pArrayDeMarker[]; ArraySetAsSeries(deMarkerArray, true); ArraySetAsSeries(pArrayDeMarker, true); int deMarkerDef = iDeMarker(_Symbol, _Period, 14); int pDataDeMarker = CopyRates(_Symbol, _Period, 0, 14, pArrayDeMarker); CopyBuffer(deMarkerDef, 0, 0, 14, deMarkerArray); double deMarkerVal = NormalizeDouble(deMarkerArray[0], 4); double deMarkerPrevVal = NormalizeDouble(deMarkerArray[1], 4); double currentHighDeMarker = NormalizeDouble(pArrayDeMarker[0].high, 6); double currentLowDeMarker = NormalizeDouble(pArrayDeMarker[0].low, 6); double prevHighDeMarker = NormalizeDouble(pArrayDeMarker[1].high, 6); double prevLowDeMarker = NormalizeDouble(pArrayDeMarker[1].low, 6); /////////////////////////////////////ADX//////////////////////////////////////
//creating a variable for signal //Create arrays for current ADX value, previous ADX value, +DI value and -DI value double ADXArray0[]; double ADXArray1[]; double PDIArray[]; double NDIArray[]; //Identifying the ADX, positive DI, negative DI. int ADXDef = iADX(_Symbol, _Period, 14); //Sort price arrays from current data ArraySetAsSeries(ADXArray0,true); ArraySetAsSeries(ADXArray1,true); ArraySetAsSeries(PDIArray,true); ArraySetAsSeries(NDIArray,true); //Filling data according to created ADX CopyBuffer(ADXDef,0,0,3,ADXArray0); CopyBuffer(ADXDef,0,0,2,ADXArray1); CopyBuffer(ADXDef,1,0,3,PDIArray); CopyBuffer(ADXDef,2,0,3,NDIArray); //Getting values of the current data double ADXValue=NormalizeDouble(ADXArray0[0], 2); double ADXValueLast=NormalizeDouble(ADXArray1[1], 2); double PDIValue=NormalizeDouble(PDIArray[0], 2); double NDIValue=NormalizeDouble(NDIArray[0], 2); //////////////////////////CONDITIONS//////////////////////////////////////////// bool BUY_CONDITION_1 = (vidyaVal > vidyaVal1); bool BUY_CONDITION_2 = (acValue > acMaxValue) && (closingPriceACMA > maValueACMA); bool BUY_CONDITION_3 = (aoValue > 0) && (closingPriceAO > maValueAO); bool BUY_CONDITION_4 = (pArrayRVI_MA[0].close > maValueRVI_MA) && (rviValue > rviSignalValue); bool BUY_CONDITION_5 = (ADXValue > 25) && (ADXValue > ADXValueLast); bool BUY_CONDITION_6 = (PDIValue > NDIValue); bool BUY_CONDITION_7 = (currentHighDeMarker > prevHighDeMarker) && (deMarkerVal < deMarkerPrevVal); //For BEARISH DIVERGENCE. bool SELL_CONDITION_1 = (vidyaVal < vidyaVal1); bool SELL_CONDITION_2 = (acValue < acMinValue) && (closingPriceACMA < maValueACMA); bool SELL_CONDITION_3 = (aoValue < 0) && (closingPriceAO < maValueAO); bool SELL_CONDITION_4 = (pArrayRVI_MA[0].close < maValueRVI_MA) && (rviValue < rviSignalValue); bool SELL_CONDITION_5 = (ADXValue > 25) && (ADXValue > ADXValueLast); bool SELL_CONDITION_6 = (PDIValue < NDIValue); bool SELL_CONDITION_7 = (currentLowDeMarker < prevLowDeMarker) && (deMarkerVal > deMarkerPrevVal); //For BULLISH DIVERGENCE. if((BUY_CONDITION_1) == 1) { Comment("BUY","\n", "Current Close Value is ",currentCloseVIDYA,"\n", "Current VIDYA (9,12) Value is ",vidyaVal,"\n", "Current VIDYA (20,50) Value is ",vidyaVal1); if((BUY_CONDITION_5 && BUY_CONDITION_6) == 1) { Comment("AC Closing Price Is ", closingPriceACMA, "\n", "AC Value Is ", acValue, "\n", "AC Max Value Is ", acMaxValue, "\n", "AC Min Value Is ", acMinValue, "\n", "AC MA Value Is ", maValueACMA, "\n", "AO Closing Price is ", closingPriceAO, "\n", "AO Value Is ", aoValue, "\n", "AO MA Value Is ", maValueAO, "\n", "RVI Closing price is ", pArrayRVI_MA[0].close, "\n", "RVI MA Value is ", maValueRVI_MA, "\n", "Relative Vigor Index Is ", rviValue, "\n", "RVI Signal Value Is ", rviSignalValue, "\n", "ADX Value is ", ADXValue, "\n", "ADX Value Last is ", ADXValueLast, "\n", "+DI Value is ", PDIValue, "\n", "-DI Value is ", NDIValue, "\n", "Current High Is ", currentHighDeMarker, "\n", "Prev. High Value Is ", prevHighDeMarker, "\n", "Current DeMarker Value Is ", deMarkerVal, "\n", "Prev. DeMarker Value Is ", deMarkerPrevVal); } } if((SELL_CONDITION_1) == 1) { Comment("SELL","\n", "Current Close Value is ",currentCloseVIDYA,"\n", "Current VIDYA (9,12) Value is ",vidyaVal,"\n", "Current VIDYA (20,50) Value is ",vidyaVal1); if((SELL_CONDITION_5 && SELL_CONDITION_6) == 1) { Comment("AC Closing Price Is ", closingPriceACMA, "\n", "AC Value Is ", acValue, "\n", "AC Max Value Is ", acMaxValue, "\n", "AC Min Value Is ", acMinValue, "\n", "AC MA Value is ", maValueACMA, "\n", "AO Closing Price Is ", closingPriceAO, "\n", "AO Value Is ", aoValue, "\n", "AO MA Value Is ", maValueAO, "\n", "RVI Closing Price Is ", pArrayRVI_MA[0].close, "\n", "RVI MA Value Is ", maValueRVI_MA, "\n", "Relative Vigor Index Is ", rviValue, "\n", "RVI Signal Value Is ", rviSignalValue, "\n", "ADX Value is ", ADXValue, "\n", "ADX Value Last is ", ADXValueLast, "\n", "+DI Value is ", PDIValue, "\n", "-DI Value is ", NDIValue, "\n", "Current Low Is ", currentLowDeMarker, "\n", "Prev. Low Is ", prevLowDeMarker, "\n", "Current DeMarker Value Is ", deMarkerVal, "\n", "Prev. DeMarker Value Is ", deMarkerPrevVal); } } } //+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer() {
//--- }
//+------------------------------------------------------------------+
//| Trade function |
//+------------------------------------------------------------------+
void OnTrade() {
//--- }
//+------------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction& trans, const MqlTradeRequest& request, const MqlTradeResult& result) {
//--- }
//+------------------------------------------------------------------+
//| Tester function |
//+------------------------------------------------------------------+
double OnTester() {
//--- double ret=0.0;
//--- //--- return(ret); }
//+------------------------------------------------------------------+
//| TesterInit function |
//+------------------------------------------------------------------+
void OnTesterInit() {
//--- }
//+------------------------------------------------------------------+
//| TesterPass function |
//+------------------------------------------------------------------+
void OnTesterPass() {
//--- }
//+------------------------------------------------------------------+
//| TesterDeinit function |
//+------------------------------------------------------------------+
void OnTesterDeinit() {
//--- }
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) {
//--- }
//+------------------------------------------------------------------+
//| BookEvent function |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol) {
//--- }
//+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //+------------------------------------------------------------------+
Mohamed Abdelmaaboud
게재된 기고글 OBV로 트레이딩 시스템을 설계하는 방법 알아보기
OBV로 트레이딩 시스템을 설계하는 방법 알아보기

이 기사는 인기있는 지표 중 일부를 기반으로 거래 시스템을 설계하는 방법에 대해 초보자들에게 설명하는 시리즈에서 계속되는 새로운 기사입니다. OBV(On Balance Volume)라는 새로운 지표를 배우고 이를 어떻게 사용하고 이를 기반으로 하는 거래 시스템을 어떻게 설계하는지 알아보겠습니다.

احمد فايق المعيني
احمد فايق المعيني 2022.10.26
جيد محمد
Mohamed Abdelmaaboud
게재된 기고글 파라볼릭 SAR 기반의 트레이딩 시스템을 설계하는 방법 알아보기
파라볼릭 SAR 기반의 트레이딩 시스템을 설계하는 방법 알아보기

이 기사에서는 가장 인기 있는 지표를 사용하여 거래 시스템을 설계하는 방법에 대한 시리즈를 계속할 것입니다. 이 기사에서는 파라볼릭 SAR 지표에 대해 자세히 알아보고 몇 가지 간단한 전략을 사용하여 MetaTrader 5에서 사용할 거래 시스템을 설계하는 방법을 배웁니다.

Mohamed Abdelmaaboud
게재된 기고글 ADX 기반의 트레이딩 시스템을 설계하는 방법 알아보기
ADX 기반의 트레이딩 시스템을 설계하는 방법 알아보기

이 기사에서는 간단한 거래 시스템을 설계하는 방법을 배우는 시리즈의 연속으로 새로운 기술 도구를 배울 것입니다. 이번에는 또 다른 인기 있는 기술 지표에 대해 알아볼 것입니다: 평균 실제 범위(ATR).

Mohamed Abdelmaaboud
게재된 기고글 ADX 기반의 트레이딩 시스템을 설계하는 방법 알아보기
ADX 기반의 트레이딩 시스템을 설계하는 방법 알아보기

이 기사에서는 가장 인기 있는 지표를 사용하여 거래 시스템을 설계하는 것과 평균 방향성 지수(ADX) 지표에 대해 알아볼 것입니다. 이 지표를 잘 이해하기 위해 자세한 내용에 대해 알아보고 간단한 전략을 통해 사용법을 배우도록 하겠습니다. 무언가를 깊이 배우면 더 많은 통찰력을 얻을 수 있고 더 잘 사용할 수 있게 됩니다.

Mohamed Abdelmaaboud
게재된 기고글 스토캐스틱으로 거래 시스템 설계 하는 방법 알아보기
스토캐스틱으로 거래 시스템 설계 하는 방법 알아보기

이 기사에서는 기존의 학습 시리즈를 계속합니다. 이번에는 가장 인기 있고 유용한 지표 중 하나인 스토캐스틱 오실레이터 지표를 사용하여 거래 시스템을 설계해 볼 것입니다. 여러분들이 기존에 가지고 있던 기본적인 지식에 새로운 지식을 쌓는 기회가 되기를 바랍니다.

Abdullah Alghamdi
Abdullah Alghamdi 2022.04.22
Thank you for amazing article 🙏 ❤️
Mohamed Abdelmaaboud
게재된 기고글 MACD을 기반으로 한 거래 시스템을 설계하는 방법 배우기
MACD을 기반으로 한 거래 시스템을 설계하는 방법 배우기

이 기사에서는 이 시리즈에서 새로운 도구를 배웁니다: 가장 인기 있는 기술 지표 중 하나인 MACD(Moving Average Convergence Divergence)를 기반으로 하는 거래 시스템을 설계하는 방법을 배웁니다.

Mary Ann Thompson - MTTSoft
Mary Ann Thompson 2022.04.15
Please, article seems to be referring to beginners in programming.
Mohamed Abdelmaaboud
게재된 기고글 CCI 기반의 트레이딩 시스템을 설계하는 방법 알아보기
CCI 기반의 트레이딩 시스템을 설계하는 방법 알아보기

거래 시스템을 설계하는 방법을 배우기 위한 시리즈의 이 기사에서는 상품 채널 지수(CCI)를 제시하고 그 세부 사항을 설명하며 이 지표를 기반으로 거래 시스템을 만드는 방법을 공유합니다.

Mohamed Abdelmaaboud
게재된 기고글 Momentum 기반의 트레이딩 시스템을 설계하는 방법 알아보기
Momentum 기반의 트레이딩 시스템을 설계하는 방법 알아보기

저는 이전 글에서 추세를 파악하는 것의 중요성에 대해 언급했습니다. 추세란 곧 가격의 방향이라는 점에서 말입니다. 이 기사에서 저는 가장 중요한 개념이자 지표 중 하나인 모멘텀 지표를 여러분과 공유할 것입니다. 이 모멘텀 지표를 기반으로 트레이딩 시스템을 설계하는 방법에 대해 공유하겠습니다.

Mohamed Abdelmaaboud
게재된 기고글 RSI 기반의 트레이딩 시스템을 설계하는 방법 알아보기
RSI 기반의 트레이딩 시스템을 설계하는 방법 알아보기

이 기사에서는 트레이딩의 세계에서 가장 인기 있고 일반적으로 사용되는 지표 중 하나인 RSI에 대해 공유합니다. 이 글에서 여러분은 이 지표를 사용하여 거래 시스템을 설계하는 방법을 배우게 됩니다.

Mohamed Abdelmaaboud
게재된 기고글 Envelopes로 트레이딩 시스템을 설계하는 방법을 배우보세요
Envelopes로 트레이딩 시스템을 설계하는 방법을 배우보세요

이 글에서는 밴드 거래 방법 중 하나를 알려 드리겠습니다. 이번에는 Envelopes를 살펴보고 Envelopes를 기반으로 몇 가지 전략을 만드는 것이 얼마나 쉬운지 알아보겠습니다.

Mohamed Abdelmaaboud
게재된 기고글 Bollinger Bands 기반의 트레이딩 시스템 설계 방법에 대해 알아보기
Bollinger Bands 기반의 트레이딩 시스템 설계 방법에 대해 알아보기

이 기사에서는 트레이딩 세계에서 가장 인기 있는 지표 중 하나인 볼린저 밴드에 대해 알아보겠습니다. 우리는 기술적 분석을 고려하면서 볼린저 밴드 지표를 기반으로 하는 알고리즘 트레이딩 시스템을 설계하는 방법에 대해 알아 볼 것입니다.

Mohamed Abdelmaaboud
게재된 기고글 다양한 이동 평균 시스템을 설계하는 방법
다양한 이동 평균 시스템을 설계하는 방법

어떠한 전략이든 생성된 신호를 필터링하는 데 사용할 수 있는 많은 전략이 있습니다. 이 글의 주제인 이동 평균을 사용하는 경우도 마찬가지입니다. 따라서 이 글의 목적은 이동 평균 전략과 알고리즘 거래 시스템을 설계하는 방법을 공유하는 것입니다.

Tasir .
Tasir . 2022.07.06
Sangat Bermanfaat. Terima kasih Bro untuk Berbagi Karya Anda
Mohamed Abdelmaaboud
게재된 기고글 알고리즘에 기반한 트레이딩 시스템을 설계하는 이유와 방법
알고리즘에 기반한 트레이딩 시스템을 설계하는 이유와 방법

이 글에서는 MQL5와 관련한 몇가지 기본적인 사항에 대해 살펴본 후 간단한 알고리즘 거래 시스템의 설계를 통해 초보자가 알고리즘 거래 시스템(Expert Advisor)을 설계할 때 필요한 MQL의 기본적인 것들을 보여줄 것입니다.

Captin Choi
Captin Choi 2022.07.28
감사합니다. 기초를 마련하는데 많은 도움 되었습니다.
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud
Discipline is the main key to success, not only in trading but in everything in our life.
Mohamed Abdelmaaboud
Mohamed Abdelmaaboud
One of the greatest benefits of coding at trading, it helps to avoid the effect of emotions on trading and achieve discipline.