algoritma sihirbazında binance futcure
- Soruldu
- Kategori
- Algoritmik Trading
- Görüntülenme
- 1.430 görüntülenme
- Durum
- Cevaplandı
Matriks Ürünleri ile ilgili tüm sorularınız için bizlere buradan ulaşabilirsiniz. Daha önce sorulan soruları ve verilen cevapları ilgili sekmelerden ve arama üzerinden inceleyebilirsiniz. Sağ taraftaki kategoriler üzerinden İlgilendiğiniz özelliklerle ilgili soruları filtreleyebilirsiniz. Soru ve cevapları sosyal medyada paylaşabilirsiniz. Sorduğunuz ve cevapladığınız soruların ve yorumlarınızın aldığı oylar üzerinden puan kazanırsınız. Puan sistemine bağlı kampanyamızla ücretsiz kullanım avantajlarından faydalanabilirsiniz.
Merhaba,
Çift taraflı işlem yapmak için bazı kontrollerin eklenmesi gerekir. Aşağıdaki stratejiyi kullanabilirsiniz.
Aşağıdaki yapıyı algoritma sihirbazı ile oluşturduğunuz diğer stratejilere de ekleyebilirsiniz.
Linkteki dosyayı indirip çift tıklayarak kullanıcı stratejilerine eklenmesini sağlayabilirsiniz.
/dosya/c5desf8tyo6oh0jx9t27wqexu/SuperTrendFuture.mtxiq
***STRATEJİLERİ TEST/DENEME ORTAMINDA SINAMADAN VE SİZİN İSTEDİĞİNİZ ŞEKİLDE ÇALIŞTIĞINA EMİN OLMADAN GERÇEK ORTAMDA HİÇBİR ZAMAN ÇALIŞTIRMAYINIZ ***
using System;
using System.Collections.Generic;
using System.Linq;
using Matriks.Data.Symbol;
using System.Windows.Media;
using Matriks.Engines;
using Matriks.Indicators;
using Matriks.Symbols;
using Matriks.AlgoTrader;
using Matriks.Trader.Core;
using Matriks.Trader.Core.Fields;
using Matriks.Trader.Core.TraderModels;
using Matriks.Lean.Algotrader.AlgoBase;
using Matriks.Lean.Algotrader.Models;
using Matriks.Lean.Algotrader.Trading;
namespace Matriks.Lean.Algotrader
{
public class SuperTrendFuture : MatriksAlgo
{
// Strateji çalıştırılırken kullanacağımız parametreler. Eğer sembolle ilgili bir parametre ise,
// "SymbolParameter" ile, değilse "Parameter" ile tanımlama yaparız. Parantez içindeki değerler default değerleridir.
[SymbolParameter("GARAN")]
public string Symbol;
[Parameter(SymbolPeriod.Min5)]
public SymbolPeriod SymbolPeriod;
[Parameter(5)]
public decimal BuyOrderQuantity;
[Parameter(5)]
public decimal SellOrderQuantity;
[Parameter(10)]
public int SuperPeriod;
[Parameter(3)]
public int Coeff;
// indikator tanımları.
SuperTrend superTrend;
[Parameter(3)]
public int KaldiracOrani;
[Parameter(true)]
public bool AcigaSatisYapilsin;
/// <summary>
/// Strateji ilk çalıştırıldığında bu fonksiyon tetiklenir. Tüm sembole kayit işlemleri,
/// indikator ekleme, haberlere kayıt olma işlemleri burada yapılır.
/// </summary>
public override void OnInit()
{
AddSymbol(Symbol, SymbolPeriod);
superTrend = SuperTrendIndicator(Symbol, SymbolPeriod, SuperPeriod, Coeff);
WorkWithPermanentSignal(true);
if (AcigaSatisYapilsin)
{
SendOrderSequential(true, Side.All);
SendOrderSequentialForShort(true, Side.All);
}else
{
SendOrderSequential(true, Side.Buy);
}
// kaldıraç oranı
SetLeverage(Symbol, KaldiracOrani);
// kaldıraç tipi - true isolated, false cross
SetLeverageType(Symbol, true);
}
public override void OnDataUpdate(BarDataCurrentValues barDataCurrentValues)
{
var barDataModel = GetBarData();
if (CrossAbove(barDataModel, superTrend, OHLCType.Close) && LastOrderSide.Obj != Side.Buy)
{
if (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin)
{
SendMarketOrder(Symbol, BuyOrderQuantity, OrderSide.Buy);
}else
{
SendMarketOrder(Symbol, BuyOrderQuantity * 2, OrderSide.Buy);
}
Debug("Alış Emri Gönderildi");
}
if (CrossBelow(barDataModel, superTrend, OHLCType.Close) && LastOrderSide.Obj != Side.Sell)
{
if (LastOrderSide.Obj == Side.All || !AcigaSatisYapilsin)
{
SendMarketOrder(Symbol, SellOrderQuantity, OrderSide.Sell);
}else
{
SendMarketOrder(Symbol, SellOrderQuantity * 2, OrderSide.Sell);
}
Debug("Satış Emri Gönderildi");
}
}
}
}
Sitenin çalışması için gerekli çerezleri kullanıyoruz. Ziyaretleri anlamak için analitik çerezleri yalnızca onayınızla kullanırız. Çerez Politikası