ejtraderLabs / ejtraderCT

The best Python Ctrader FIX API Perfect for HFT
MIT License
60 stars 20 forks source link

StopLoss and TakeProfit not implented? #1

Closed Matx00 closed 3 years ago

Matx00 commented 3 years ago

Hi, I love this idea. Really needed it!!! Said that, is it normal that StopLoss and TakeProfit are not implented/don't work yet? Is it also normal that only symbols with a string length of 6 can be traded?

Thank you

traderpedroso commented 3 years ago

Hi, I love this idea. Really needed it!!! Said that, is it normal that StopLoss and TakeProfit are not implented/don't work yet? Is it also normal that only symbols with a string length of 6 can be traded?

Thank you

When you add limit / stop order you will be able to specify the existing position ID and the new order will be "linked" to the existing position. You won't see that on cTrader GUI but when the pending order get executed you are actually modifying the existing position.

we need help to implement a simple call through the ejtraderCT library if you have any suggestions do a fork and pull request thank you

other Thing the symbols are pulled from fix you can check the id

SETTINGS = {
    'default': {
        1: {'id': 1, 'pip_position': 4, 'name': 'EURUSD.spa', 'bid_volume': 0, 'ask_volume': 0},
        2: {'id': 2, 'pip_position': 4, 'name': 'GBPUSD.spa', 'bid_volume': 0, 'ask_volume': 0},
        3: {'id': 3, 'pip_position': 2, 'name': 'EURJPY.spa', 'bid_volume': 0, 'ask_volume': 0},
        4: {'id': 4, 'pip_position': 2, 'name': 'USDJPY.spa', 'bid_volume': 0, 'ask_volume': 0},
        5: {'id': 5, 'pip_position': 4, 'name': 'AUDUSD.spa', 'bid_volume': 0, 'ask_volume': 0},
        6: {'id': 6, 'pip_position': 4, 'name': 'USDCHF.spa', 'bid_volume': 0, 'ask_volume': 0},
        7: {'id': 7, 'pip_position': 2, 'name': 'GBPJPY.spa', 'bid_volume': 0, 'ask_volume': 0},
        8: {'id': 8, 'pip_position': 4, 'name': 'USDCAD.spa', 'bid_volume': 0, 'ask_volume': 0},
        9: {'id': 9, 'pip_position': 4, 'name': 'EURGBP.spa', 'bid_volume': 0, 'ask_volume': 0},
        10: {'id': 10, 'pip_position': 4, 'name': 'EURCHF.spa', 'bid_volume': 0, 'ask_volume': 0},
        11: {'id': 11, 'pip_position': 2, 'name': 'AUDJPY.spa', 'bid_volume': 0, 'ask_volume': 0},
        12: {'id': 12, 'pip_position': 4, 'name': 'NZDUSD.spa', 'bid_volume': 0, 'ask_volume': 0},
        13: {'id': 13, 'pip_position': 2, 'name': 'CHFJPY.spa', 'bid_volume': 0, 'ask_volume': 0},
        14: {'id': 14, 'pip_position': 4, 'name': 'EURAUD.spa', 'bid_volume': 0, 'ask_volume': 0},
        15: {'id': 15, 'pip_position': 2, 'name': 'CADJPY.spa', 'bid_volume': 0, 'ask_volume': 0},
        16: {'id': 16, 'pip_position': 4, 'name': 'GBPAUD.spa', 'bid_volume': 0, 'ask_volume': 0},
        17: {'id': 17, 'pip_position': 4, 'name': 'EURCAD.spa', 'bid_volume': 0, 'ask_volume': 0},
        18: {'id': 18, 'pip_position': 4, 'name': 'AUDCAD.spa', 'bid_volume': 0, 'ask_volume': 0},
        19: {'id': 19, 'pip_position': 4, 'name': 'GBPCAD.spa', 'bid_volume': 0, 'ask_volume': 0},
        20: {'id': 20, 'pip_position': 4, 'name': 'AUDNZD.spa', 'bid_volume': 0, 'ask_volume': 0},
        21: {'id': 21, 'pip_position': 2, 'name': 'NZDJPY.spa', 'bid_volume': 0, 'ask_volume': 0},
        22: {'id': 22, 'pip_position': 4, 'name': 'USDNOK.spa', 'bid_volume': 0, 'ask_volume': 0},
        23: {'id': 23, 'pip_position': 4, 'name': 'AUDCHF.spa', 'bid_volume': 0, 'ask_volume': 0},
        24: {'id': 24, 'pip_position': 4, 'name': 'USDMXN.spa', 'bid_volume': 0, 'ask_volume': 0},
        25: {'id': 25, 'pip_position': 4, 'name': 'GBPNZD.spa', 'bid_volume': 0, 'ask_volume': 0},
        26: {'id': 26, 'pip_position': 4, 'name': 'EURNZD.spa', 'bid_volume': 0, 'ask_volume': 0},
        27: {'id': 27, 'pip_position': 4, 'name': 'CADCHF.spa', 'bid_volume': 0, 'ask_volume': 0},
        28: {'id': 28, 'pip_position': 4, 'name': 'USDSGD.spa', 'bid_volume': 0, 'ask_volume': 0},
        29: {'id': 29, 'pip_position': 4, 'name': 'USDSEK.spa', 'bid_volume': 0, 'ask_volume': 0},
        30: {'id': 30, 'pip_position': 4, 'name': 'NZDCAD.spa', 'bid_volume': 0, 'ask_volume': 0},
        31: {'id': 31, 'pip_position': 4, 'name': 'EURSEK.spa', 'bid_volume': 0, 'ask_volume': 0},
        32: {'id': 32, 'pip_position': 4, 'name': 'GBPSGD.spa', 'bid_volume': 0, 'ask_volume': 0},
        33: {'id': 33, 'pip_position': 4, 'name': 'EURNOK.spa', 'bid_volume': 0, 'ask_volume': 0},
        34: {'id': 34, 'pip_position': 4, 'name': 'EURHUF.spa', 'bid_volume': 0, 'ask_volume': 0},
        35: {'id': 35, 'pip_position': 4, 'name': 'USDPLN.spa', 'bid_volume': 0, 'ask_volume': 0},
        36: {'id': 36, 'pip_position': 4, 'name': 'USDDKK.spa', 'bid_volume': 0, 'ask_volume': 0},
        37: {'id': 37, 'pip_position': 4, 'name': 'GBPNOK.spa', 'bid_volume': 0, 'ask_volume': 0},
        39: {'id': 39, 'pip_position': 4, 'name': 'NZDCHF.spa', 'bid_volume': 0, 'ask_volume': 0},
        40: {'id': 40, 'pip_position': 4, 'name': 'GBPCHF.spa', 'bid_volume': 0, 'ask_volume': 0},
        43: {'id': 43, 'pip_position': 4, 'name': 'USDTRY.spa', 'bid_volume': 0, 'ask_volume': 0},
        44: {'id': 44, 'pip_position': 4, 'name': 'EURTRY.spa', 'bid_volume': 0, 'ask_volume': 0},
        46: {'id': 46, 'pip_position': 4, 'name': 'EURZAR.spa', 'bid_volume': 0, 'ask_volume': 0},
        47: {'id': 47, 'pip_position': 2, 'name': 'SGDJPY.spa', 'bid_volume': 0, 'ask_volume': 0},
        48: {'id': 48, 'pip_position': 4, 'name': 'USDHKD.spa', 'bid_volume': 0, 'ask_volume': 0},
        49: {'id': 49, 'pip_position': 4, 'name': 'USDZAR.spa', 'bid_volume': 0, 'ask_volume': 0},
        50: {'id': 50, 'pip_position': 4, 'name': 'EURMXN.spa', 'bid_volume': 0, 'ask_volume': 0},
        51: {'id': 51, 'pip_position': 4, 'name': 'EURPLN.spa', 'bid_volume': 0, 'ask_volume': 0},
        53: {'id': 53, 'pip_position': 4, 'name': 'NZDSGD.spa', 'bid_volume': 0, 'ask_volume': 0},
        54: {'id': 54, 'pip_position': 4, 'name': 'USDHUF.spa', 'bid_volume': 0, 'ask_volume': 0},
        55: {'id': 55, 'pip_position': 4, 'name': 'EURCZK.spa', 'bid_volume': 0, 'ask_volume': 0},
        56: {'id': 56, 'pip_position': 4, 'name': 'USDCZK.spa', 'bid_volume': 0, 'ask_volume': 0},
        57: {'id': 57, 'pip_position': 4, 'name': 'EURDKK.spa', 'bid_volume': 0, 'ask_volume': 0},
        60: {'id': 60, 'pip_position': 4, 'name': 'USDCNH.spa', 'bid_volume': 0, 'ask_volume': 0},
        61: {'id': 61, 'pip_position': 4, 'name': 'GBPSEK.spa', 'bid_volume': 0, 'ask_volume': 0}
    }
}