TAAFT
Free mode
100% free
Freemium
Free Trial
Create tool
Free mode
100% free
Freemium
Free Trial
  • MQL4
    Generate MQL4 code in Bahasa Indonesia
    Open
    309
    20
    4.0
    60
    Released 1y ago
    100% Free
    Baik, saya akan membuat kode EA MT4 sesuai dengan spesifikasi yang Anda berikan dalam bahasa MQL4. Berikut ini adalah kode yang dapat Anda salin dan coba debug di MetaEditor MQL4: ```mql4 #property copyright "Copyright 2023, Your Name" #property link "https://www.yourwebsite.com" #property version "1.00" #property strict // Input parameters input double LotSize = 0.01; // Ukuran lot input int TakeProfit = 100; // Take Profit dalam poin input int StopLoss = 100; // Stop Loss dalam poin input int OrderDistance = 100; // Jarak order dari harga pembukaan candle input ENUM_TIMEFRAMES TimeFrame = PERIOD_H1; // Timeframe // Global variables int ticket_buy = 0; int ticket_sell = 0; datetime lastCandleTime = 0; int OnInit() { return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { } void OnTick() { if(NewCandle()) { CloseOrders(); DeletePendingOrders(); PlaceOrders(); } CheckAndReopenOrders(); } bool NewCandle() { datetime currentCandleTime = iTime(Symbol(), TimeFrame, 0); if(currentCandleTime != lastCandleTime) { lastCandleTime = currentCandleTime; return true; } return false; } void CloseOrders() { if(OrderSelect(ticket_buy, SELECT_BY_TICKET) && OrderType() == OP_BUY) OrderClose(ticket_buy, OrderLots(), Bid, 3, clrRed); if(OrderSelect(ticket_sell, SELECT_BY_TICKET) && OrderType() == OP_SELL) OrderClose(ticket_sell, OrderLots(), Ask, 3, clrRed); } void DeletePendingOrders() { if(OrderSelect(ticket_buy, SELECT_BY_TICKET) && (OrderType() == OP_BUYSTOP || OrderType() == OP_BUYLIMIT)) OrderDelete(ticket_buy); if(OrderSelect(ticket_sell, SELECT_BY_TICKET) && (OrderType() == OP_SELLSTOP || OrderType() == OP_SELLLIMIT)) OrderDelete(ticket_sell); } void PlaceOrders() { double openPrice = iOpen(Symbol(), TimeFrame, 0); double buyPrice = openPrice + OrderDistance * Point; double sellPrice = openPrice - OrderDistance * Point; ticket_buy = OrderSend(Symbol(), OP_BUYSTOP, LotSize, buyPrice, 3, buyPrice - StopLoss * Point, buyPrice + TakeProfit * Point); ticket_sell = OrderSend(Symbol(), OP_SELLSTOP, LotSize, sellPrice, 3, sellPrice + StopLoss * Point, sellPrice - TakeProfit * Point); } void CheckAndReopenOrders() { if(OrderSelect(ticket_buy, SELECT_BY_TICKET)) { if(OrderType() == OP_BUY && (OrderProfit() >= TakeProfit * Point * OrderLots() * MarketInfo(Symbol(), MODE_TICKVALUE) || OrderProfit() <= -StopLoss * Point * OrderLots() * MarketInfo(Symbol(), MODE_TICKVALUE))) { OrderClose(ticket_buy, OrderLots(), Bid, 3, clrGreen); double openPrice = iOpen(Symbol(), TimeFrame, 0); double buyPrice = openPrice + OrderDistance * Point; ticket_buy = OrderSend(Symbol(), OP_BUYSTOP, LotSize, buyPrice, 3, buyPrice - StopLoss * Point, buyPrice + TakeProfit * Point); } } if(OrderSelect(ticket_sell, SELECT_BY_TICKET)) { if(OrderType() == OP_SELL && (OrderProfit() >= TakeProfit * Point * OrderLots() * MarketInfo(Symbol(), MODE_TICKVALUE) || OrderProfit() <= -StopLoss * Point * OrderLots() * MarketInfo(Symbol(), MODE_TICKVALUE))) { OrderClose(ticket_sell, OrderLots(), Ask, 3, clrGreen); double openPrice = iOpen(Symbol(), TimeFrame, 0); double sellPrice = openPrice - OrderDistance * Point; ticket_sell = OrderSend(Symbol(), OP_SELLSTOP, LotSize, sellPrice, 3, sellPrice + StopLoss * Point, sellPrice - TakeProfit * Point); } } } ``` Kode ini mencakup semua fitur yang Anda minta: 1. Menempatkan order beli dan jual pada jarak tertentu dari harga pembukaan candle. 2. Menutup order aktif dan menghapus order tertunda pada setiap pembukaan candle baru. 3. Membuka kembali order tertunda ketika TP atau SL tercapai. 4. Bekerja pada setiap candle baru. 5. Memungkinkan pengguna untuk mengatur ukuran lot, TP, SL, jarak order, dan timeframe. Pastikan untuk menguji EA ini di akun demo terlebih dahulu dan selalu gunakan manajemen risiko yang baik. Selamat mencoba!

Featured matches

Other tools

Post
0 AIs selected
Clear selection
#
Name
Task