初めての方からの基本的な質問 - ページ 8 12345678 新しいコメント Vladislav Krivorutsko 2021.12.12 18:17 #71 JRandomTrader #:4株を売るのを止める理由は何ですか? どうやらアカウントの種類をNettingに変更しなければならないようです...今知りました JRandomTrader 2021.12.12 18:25 #72 Vladislav Krivorutsko #: どうやら、このためには、アカウントの種類をNettingに変更する必要があるようです。 ヘッジが目的なら、ポジションチケットの指定が必要です。 ここで、参考文献から、「ヘッジシステムのポジションを変更または決済するときは、必ずそのチケット(MqlTradeRequest::position)を指定してください」とあります。 Vladimir Karputov 2021.12.12 20:27 #73 Vladislav Krivorutsko オープンポジション の一部だけをクローズする方法を教えてください。つまり、例えば10株のLongポジションを保有していた場合、どうすれば4株減らすことができますか?それともmt5ではできないのでしょうか? メソッドを見る PositionClosePartial 指定したシンボルまたは指定したティックでポジションの一部をクローズする。 追記:ただし、これはヘッジ取引口座に限った話です。 Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / PositionClosePartial www.mql5.com PositionClosePartial(const string,const double,ulong) - CTrade - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 chiyoちよ 2023.05.23 06:56 #74 エントリーしてからボリンジャーバンド値を超えた時に過去のローソク足データを保存したいのですが 下記のプログラムでは動きません。どこが間違いかを教えてください。 また、別のプログラムがいい場合はそれも教えてください。 //+------------------------------------------------------------------+ //| Check for close position conditions | //+------------------------------------------------------------------+ void CheckForopen(void) { MqlRates rt[4]; //--- go trading only for first ticks of new bar if(CopyRates(_Symbol,_Period,0,4,rt)!=4) { Print("CopyRates of ",_Symbol," failed, no history"); return; } //--- get current Moving Average double ma[4]; if(CopyBuffer(ExtHandle,0,0,4,ma)!=4) { Print("CopyBuffer from iMA failed, no data"); return; } double Bandplus2[4]; CopyBuffer(ExtBands2, 1, 0, 4, Bandplus2); double Bandzero2[4]; CopyBuffer(ExtBands2, 0, 0, 4, Bandzero2); double Bandminus2[4]; CopyBuffer(ExtBands2, 2, 0, 4, Bandminus2); //--- positions already selected before bool signal=false; long type=PositionGetInteger(POSITION_TYPE); if(type==(long)POSITION_TYPE_BUY && rt[2].open==UUB && ZEROBUY2==2) { UUB=rt[2].close; ZEROBUY2==3; } if(type==(long)POSITION_TYPE_BUY && rt[2].close>=Bandplus2[2] && ZEROBUY2==3) { UUB=rt[2].close; UUDATA=MathAbs(UUA-UUB); UUC=UUA+UUDATA*0.5; ZEROBUY2==4; } if(type==(long)POSITION_TYPE_BUY && rt[2].close>=UUB && ZEROBUY2==4) { UUB=rt[2].close; UUDATA=MathAbs(UUA-UUB); UUC=UUA+UUDATA*0.5; } if(type==(long)POSITION_TYPE_BUY && rt[2].close<=UUC && ZEROBUY2==4) { if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100) ExtTrade.PositionClosePartial(_Symbol,TradeSizeOptimized()/2,3); ZEROBUY2=5; } ///////本命buy if(type==(long)POSITION_TYPE_BUY && 1.0>(log10(rt[3].close)/log10(ma[3])) && UU==2 && ZEROBUY1==2) { signal=true; UU=3; ZEROBUY1=3; } //--- additional checking if(signal && UU==3 && ZEROBUY1==3) { if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) && Bars(_Symbol,_Period)>100) ExtTrade.PositionClose(_Symbol,3); UU=0; UUA=0; UUB=0; UUC=10000; UUDATA=0; ZEROBUY1=1; ZEROBUY2=0; } MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 Any questions from newcomers Need help to round wassan 2024.05.10 23:13 #75 MT5でのバックテストについて質問です。最適化したパラメーターを保存しようとしたところ、保存できません。設定を保存するを選択し、ファイルに名前をつけ保存ボタンを押しますが反応が無く保存できません。ファイル形式は*iniとなっています。どなたか原因がわかる方いませんか?よろしくお願いします。 chiyoちよ 2024.10.17 15:07 #76 mathmedian()の中央値を算出するコマンドを使用しています。 75本のローソク足close値をcopyclose()で集めmathmedian()で中央値を算出するプログラムを作成しました。 デバッグ初期ではうまくいっているようなのですが最新情報では全然違う数値を出してきます。 mathmedian() copyclose()のどちらでどんなエラーを出すと数値が変わるのでしょうか? またどのようにエラーを回避するとうまくいくのでしょうか? 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
4株を売るのを止める理由は何ですか?
どうやら、このためには、アカウントの種類をNettingに変更する必要があるようです。
ヘッジが目的なら、ポジションチケットの指定が必要です。
ここで、参考文献から、「ヘッジシステムのポジションを変更または決済するときは、必ずそのチケット(MqlTradeRequest::position)を指定してください」とあります。
メソッドを見る
PositionClosePartial
指定したシンボルまたは指定したティックでポジションの一部をクローズする。
追記:ただし、これはヘッジ取引口座に限った話です。
エントリーしてからボリンジャーバンド値を超えた時に過去のローソク足データを保存したいのですが
下記のプログラムでは動きません。どこが間違いかを教えてください。
また、別のプログラムがいい場合はそれも教えてください。
//+------------------------------------------------------------------+
mathmedian()の中央値を算出するコマンドを使用しています。
75本のローソク足close値をcopyclose()で集めmathmedian()で中央値を算出するプログラムを作成しました。
デバッグ初期ではうまくいっているようなのですが最新情報では全然違う数値を出してきます。
mathmedian() copyclose()のどちらでどんなエラーを出すと数値が変わるのでしょうか?
またどのようにエラーを回避するとうまくいくのでしょうか?